Hi Pablo,
thanks a lot for your reply. The src.rpm I'm using is this one:
https://cbs.centos.org/kojifiles/packages/devtoolset-8-gcc/8.3.1/3.1.el7/src...
It's gcc8 so the patch you linked is not really fitting. :( If you have time and could take a look that would be really cool.
Best Regards,
Oliver
Am 12.12.2020 um 10:26 schrieb Pablo Sebastián Greco:
On 11/12/20 11:28, Oliver Weinmann via CentOS-devel wrote:
Hi Folks,
For a small home project I would like to get cephadm working on my Odroid HC-2 (armhf 32). Maybe this is not going to work but I want to at least give it a try. I see that there are only arm64 packages and containers available from the Ceph repo. So I thought I just go ahead and compile the dependency packages myself and build a new container with CentOS7 arm32. Luckily there is a CentOS 7 arm32 container but I still need to compile the packages. After downloading all the src rpms i started building them and now I ended up to compile this package from the SCL repo as it is not available for arm32:
devtoolset-8-gcc-8.3.1-3.1.el7.src.rpm
It fails with an error of:
checking if mkdir takes one argument... no *** Configuration armv7hl-redhat-linux-gnu7E not supported make[2]: *** [configure-stage1-gcc] Error 1 make[2]: Leaving directory `/root/rpmbuild/BUILD/gcc-8.3.1-20190311/obj-armv7hl-redhat-linux7E' make[1]: *** [stage1-bubble] Error 2 make[1]: Leaving directory `/root/rpmbuild/BUILD/gcc-8.3.1-20190311/obj-armv7hl-redhat-linux7E' make: *** [profiledbootstrap] Error 2 error: Bad exit status from /var/tmp/rpm-tmp.knxvjm (%build)
This looks very close to this fix we had to add to make gcc work on arm https://git.centos.org/rpms/devtoolset-7-gcc/blob/c7/f/SPECS/gcc.spec#_319 (I'm linking to gcc7 because I can't find the other commit, but it is the same thing). Let me know if that helps and if it is still failing, point me to as spec file or an srpm and I'll take a look.
RPM build errors: Bad exit status from /var/tmp/rpm-tmp.knxvjm (%build)
real 13m36.412s user 17m57.828s sys 3m47.905s
I looked up the build log for arm64 and so I figured out that the next step is to access a directory called arm here:
/root/rpmbuild/BUILD/gcc-8.3.1-20190311/gcc/config
in the extracted source. Somehow the build process thinks my system is armv7hl-redhat-linux-gnu7E instead of arm and so it tries to access the armv7hl-redhat-linux-gnu7E directory which doesn't exist and fails. I simply created a symlink and this seems to be working.
ln -sf arm armv7hl-redhat-linux-gnu7E
Not sure if this is in general a bad idea. So I got a lot further. But then it fails again with this error:
In file included from /usr/include/features.h:399, from /usr/include/stdio.h:27, from ../.././libgcc/../gcc/tsystem.h:87, from ../.././libgcc/libgcc2.c:27: /usr/include/gnu/stubs.h:7:11: fatal error: gnu/stubs-soft.h: No such file or directory # include <gnu/stubs-soft.h> ^~~~~~~~~~~~~~~~~~ compilation terminated. make[3]: *** [_muldi3.o] Error 1 make[3]: Leaving directory `/root/rpmbuild/BUILD/gcc-8.3.1-20190311/armv7l-unknown-linux-gnueabihf/libgcc' make[2]: *** [all-stage1-target-libgcc] Error 2 make[2]: Leaving directory `/root/rpmbuild/BUILD/gcc-8.3.1-20190311' make[1]: *** [stage1-bubble] Error 2 make[1]: Leaving directory `/root/rpmbuild/BUILD/gcc-8.3.1-20190311' make: *** [all] Error 2
real 88m2.283s user 67m23.211s sys 6m7.984s
I can't find any good info on google on how to deal with this one. Any ideas?
Best Regards,
Oliver
Pablo.