[CentOS-devel] Ceph on arm32 - failing to compile devtoolset-8-gcc-8.3.1-3.1.el7.src.rpm

Sun Dec 13 19:40:27 UTC 2020
Oliver Weinmann <oliver.weinmann at me.com>

Great. Thank you very much. 

Von meinem iPhone gesendet

> Am 13.12.2020 um 20:25 schrieb Pablo Sebastián Greco <pgreco at centosproject.org>:
> Ok,I see that in git we have .1 and .2, neither of which were built for armhfp. I'll try to get that sorted out and let you know.
> On 13/12/20 05:12, Oliver Weinmann via CentOS-devel wrote:
>> Ok, I missed an important part. I need version the one in the rep is :( So I have to compile it. I will give it a try. Or do you think there will be an updated package available soon? 
>> Cheers, 
>> Oliver 
>>> Am 12.12.2020 um 19:40 schrieb Oliver Weinmann via CentOS-devel: 
>>> Great stuff. I was googling for those packages and couldn't find them. No more need to rebuild them. They were deps for CEPH. No I can start building ceph. :) I guess this will take a couple of days on a raspi3. ;) 
>>>> Am 12.12.2020 um 14:43 schrieb Pablo Sebastián Greco: 
>>>>> On 12/12/20 07:44, Oliver Weinmann wrote: 
>>>>> 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/devtoolset-8-gcc-8.3.1-3.1.el7.src.rpm 
>>>>> 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. 
>>>> You have the whole devtoolset-8 for armhfp here https://buildlogs.centos.org/c7-devtoolset-8.armhfp/ , including the srpms. I'll talk to Johnny to upload the patches to git. 
>>>> If you decide to rebuild it, aside from patience, be careful with binutils (needs a patch or executables become invalid) and make (has a bug that makes it parallel builds not work correctly). 
>>>> Both of those issues are fixed in the repo I pointed 
>>>>> 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. 
>>>> Pablo. 
>>> _______________________________________________ 
>>> CentOS-devel mailing list 
>>> CentOS-devel at centos.org 
>>> https://lists.centos.org/mailman/listinfo/centos-devel 
>> _______________________________________________ 
>> CentOS-devel mailing list 
>> CentOS-devel at centos.org 
>> https://lists.centos.org/mailman/listinfo/centos-devel 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.centos.org/pipermail/centos-devel/attachments/20201213/e06f2b58/attachment-0005.html>