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

Sun Dec 13 08:12:50 UTC 2020
Oliver Weinmann <oliver.weinmann at me.com>

Ok, I missed an important part. I need version 8.3.1.3.1 the one in the 
rep is 8.3.1.3 :( 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