Project

General

Profile

Actions

Bug #21622

closed

Cannot build .deb's on ARM

Added by Konstantin Salnikov over 6 years ago. Updated almost 3 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
build
Target version:
-
% Done:

0%

Source:
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

I'm trying to build debs from sources on arm board and build process fails.
My ARM board is a Odroid HC1, Ubuntu xenial

root@plk-sr0046-013-dm:~/ceph# uname -a
Linux plk-sr0046-013-dm 4.9.44-54 #1 SMP PREEMPT Sun Aug 20 20:24:08 UTC 2017 armv7l armv7l armv7l GNU/Linux

What i do:

git clone -b luminous https://github.com/ceph/ceph.git
cd ceph
./install-deps.sh
./make-debs.sh

and i dot an error:

make[8]: Leaving directory '/tmp/release/Ubuntu/WORKDIR/ceph-12.2.1-62-gae9de16/obj-arm-linux-gnueabihf/src/rocksdb'
[100%] Built target rocksdb
make[7]: Leaving directory '/tmp/release/Ubuntu/WORKDIR/ceph-12.2.1-62-gae9de16/obj-arm-linux-gnueabihf/src/rocksdb'
make[6]: Leaving directory '/tmp/release/Ubuntu/WORKDIR/ceph-12.2.1-62-gae9de16/obj-arm-linux-gnueabihf/src/rocksdb'
make[5]: Leaving directory '/tmp/release/Ubuntu/WORKDIR/ceph-12.2.1-62-gae9de16/obj-arm-linux-gnueabihf/src/rocksdb'
cd /tmp/release/Ubuntu/WORKDIR/ceph-12.2.1-62-gae9de16/obj-arm-linux-gnueabihf/src/rocksdb && /usr/bin/cmake -E touch /tmp/release/Ubuntu/WORKDIR/ceph-12.2.1-62-gae9de16/obj-arm-linux-gnueabihf/src/rocksdb_ext-prefix/src/rocksdb_ext-stamp/rocksdb_ext-build
[ 16%] Performing install step for 'rocksdb_ext'
cd /tmp/release/Ubuntu/WORKDIR/ceph-12.2.1-62-gae9de16/obj-arm-linux-gnueabihf/src/rocksdb && true
cd /tmp/release/Ubuntu/WORKDIR/ceph-12.2.1-62-gae9de16/obj-arm-linux-gnueabihf/src/rocksdb && /usr/bin/cmake -E touch /tmp/release/Ubuntu/WORKDIR/ceph-12.2.1-62-gae9de16/obj-arm-linux-gnueabihf/src/rocksdb_ext-prefix/src/rocksdb_ext-stamp/rocksdb_ext-install
[ 16%] Completed 'rocksdb_ext'
cd /tmp/release/Ubuntu/WORKDIR/ceph-12.2.1-62-gae9de16/obj-arm-linux-gnueabihf/src && /usr/bin/cmake -E make_directory /tmp/release/Ubuntu/WORKDIR/ceph-12.2.1-62-gae9de16/obj-arm-linux-gnueabihf/src/CMakeFiles
cd /tmp/release/Ubuntu/WORKDIR/ceph-12.2.1-62-gae9de16/obj-arm-linux-gnueabihf/src && /usr/bin/cmake -E touch /tmp/release/Ubuntu/WORKDIR/ceph-12.2.1-62-gae9de16/obj-arm-linux-gnueabihf/src/CMakeFiles/rocksdb_ext-complete
cd /tmp/release/Ubuntu/WORKDIR/ceph-12.2.1-62-gae9de16/obj-arm-linux-gnueabihf/src && /usr/bin/cmake -E touch /tmp/release/Ubuntu/WORKDIR/ceph-12.2.1-62-gae9de16/obj-arm-linux-gnueabihf/src/rocksdb_ext-prefix/src/rocksdb_ext-stamp/rocksdb_ext-done
make[4]: Leaving directory '/tmp/release/Ubuntu/WORKDIR/ceph-12.2.1-62-gae9de16/obj-arm-linux-gnueabihf'
[ 16%] Built target rocksdb_ext
[ 16%] Linking CXX static library ../../lib/libosdc.a
cd /tmp/release/Ubuntu/WORKDIR/ceph-12.2.1-62-gae9de16/obj-arm-linux-gnueabihf/src/osdc && /usr/bin/cmake -P CMakeFiles/osdc.dir/cmake_clean_target.cmake
cd /tmp/release/Ubuntu/WORKDIR/ceph-12.2.1-62-gae9de16/obj-arm-linux-gnueabihf/src/osdc && /usr/bin/cmake -E cmake_link_script CMakeFiles/osdc.dir/link.txt --verbose=1
/usr/bin/ar qc ../../lib/libosdc.a  CMakeFiles/osdc.dir/Filer.cc.o CMakeFiles/osdc.dir/ObjectCacher.cc.o CMakeFiles/osdc.dir/Objecter.cc.o CMakeFiles/osdc.dir/Striper.cc.o
/usr/bin/ranlib ../../lib/libosdc.a
make[4]: Leaving directory '/tmp/release/Ubuntu/WORKDIR/ceph-12.2.1-62-gae9de16/obj-arm-linux-gnueabihf'
[ 16%] Built target osdc
make[3]: Leaving directory '/tmp/release/Ubuntu/WORKDIR/ceph-12.2.1-62-gae9de16/obj-arm-linux-gnueabihf'
Makefile:141: recipe for target 'all' failed
make[2]: *** [all] Error 2
make[2]: Leaving directory '/tmp/release/Ubuntu/WORKDIR/ceph-12.2.1-62-gae9de16/obj-arm-linux-gnueabihf'
        cd /tmp/release/Ubuntu/WORKDIR/ceph-12.2.1-62-gae9de16
dh_auto_build: make -j4 returned exit code 2
debian/rules:40: recipe for target 'override_dh_auto_build' failed
make[1]: *** [override_dh_auto_build] Error 2
make[1]: Leaving directory '/tmp/release/Ubuntu/WORKDIR/ceph-12.2.1-62-gae9de16'
debian/rules:33: recipe for target 'build' failed
make: *** [build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2

Files

output.txt.gz (132 KB) output.txt.gz gzipped output Anonymous, 12/30/2017 04:48 PM
Actions #1

Updated by Anonymous over 6 years ago

I can generate .deb on Arm (AArch64) platform.

The source code is the latest on "master" branch.

ubuntu@arm01:~$ uname -a
Linux arm01 4.4.0-62-generic #83-Ubuntu SMP Wed Jan 18 14:10:31 UTC 2017 aarch64 aarch64 aarch64 GNU/Linux

I ran the same commands as you. I can finish the generation successfully.

Actions #2

Updated by Konstantin Salnikov over 6 years ago

I tried to build it on armhf board (32bit ARM Odroid-HC1). BTW, i built it, but not through make-debs.sh, i ran dpkg-buildpackage -us -uc -b -j4, and finish the generation successfully.

Actions #3

Updated by Anonymous over 6 years ago

I have no armhf board on hand, I cannot reproduce the issue. :(

Run command "dpkg-buildpackage" directly is a good method. :)

Actions #4

Updated by Kefu Chai over 6 years ago

  • Status changed from New to Need More Info
  • Target version deleted (v12.2.1)
  • Affected Versions v12.2.1 added

Konstantin, could you upload the full output of ./make-debs.sh, the error message is incomplete, hence i cannot find the place which failed the build.

Actions #5

Updated by Anonymous over 6 years ago

Hi,

I've got the same message on my Odroid HC1 (UX4)

root@hc1:/u01# lscpu
Architecture: armv7l
Byte Order: Little Endian
CPU: 8
On-line CPU list: 0-7
Thread(s) per core: 1
Core(s) per socket: 4
Socket(s): 2
Model name: ARMv7 Processor rev 3 (v7l)
CPU max MHz: 1400.0000
CPU min MHz: 200.0000
Hypervisor vendor: (null)
Virtualization type: full

for more info see output.txt.gz

Actions #6

Updated by Konstantin Salnikov over 6 years ago

K van Man, did you look into dmesg? I think this is a "out of memory" error. To successfilly complete a building process you need to add swap on your HDD (or SSD). Swap on MicroSD is a very, VERY slow, and it killing memory card.

Actions #7

Updated by Anonymous about 6 years ago

I can confirm that the problem happens as well, when running make-debs.sh and dpkg-buildpackage

Konstantin Salnikov wrote:

K van Man, did you look into dmesg? I think this is a "out of memory" error. To successfilly complete a building process you need to add swap on your HDD (or SSD). Swap on MicroSD is a very, VERY slow, and it killing memory card.

I'm running the same setup, and set huge swap partition on an SSD, yet the problem persists. I've made some changes and hope that they will help on passing the build.

Can you share your setup for running the build on Odroid-HC1, Konstantin?

Actions #8

Updated by Sage Weil almost 3 years ago

  • Status changed from Need More Info to Closed
Actions

Also available in: Atom PDF