Cross building ports using poudriere on armv6 failing

Guido Falsi mad at madpilot.net
Fri May 27 19:49:10 UTC 2016


On 05/27/16 20:37, Guido Falsi wrote:
> On 05/27/16 19:52, Mikaël Urankar wrote:
>> 2016-05-27 17:08 GMT+02:00 Guido Falsi <mad at madpilot.net>:
>>> Hi!
>>>
>>> I'm doing some experiments with a RPI2 board and I cross build my
>>> packages using poudriere on amd64.
>>>
>>> Since the ABI change my poudriere jails have not been working.
>>>
>>> Now, it's quite problable I'm missing something obvious or doing
>>> something wrong. But I cannot really figure out how to fix this. I'm
>>> looking for someone to point me in the right direction.
>>>
>>>
>>> I successfully upgraded the jails to r300410 using poudriere jail -u.
>>>
>>> Now each time I start the jail it dies trying to compile pkg (the first
>>> port it tries, with this error:
>>>
>>> checking whether the C compiler works... no
>>> configure: error: in `/wrkdirs/usr/ports/ports-mgmt/pkg/work/pkg-1.8.3':
>>> configure: error: C compiler cannot create executables
>>> See `config.log' for more details
>>> ===>  Script "configure" failed unexpectedly.
>>>
>>>
>>> Looking at the config.log gives me this error message:
>>>
>>> configure:3581: checking whether the C compiler works
>>> configure:3603: /nxb-bin/usr/bin/cc -O2 -pipe  -Wno-error
>>> -fno-strict-aliasing   conftest.c  >&5
>>> /nxb-bin/usr/bin/ld: ERROR: a.out uses VFP register arguments,
>>> /tmp/conftest-808afb.o does not
>>> /nxb-bin/usr/bin/ld: failed to merge target specific data of file
>>> /tmp/conftest-808afb.o
>>> cc: error: linker command failed with exit code 1 (use -v to see invocation)
>>>
>>> What should I do? Did I messed up the update?
>>
>> update_jail() doesn't seem to update the native-xtools, you are
>> probably using an old toolchain.
>> Keep in mind that the native-xtools are built using /usr/src not the
>> 'poudriere' one, you need to update your /usr/src tree before updating
>> your toolchain (or creating a new jail)
>>
> 
> Thanks a lot. This is just the pointer I needed.
> 
> I always keep my jails aligned with the base system so that isn't a problem.
> 
> I'll start updating my toolchain right away.
> 

This helped, I rebuilt the jail adding the -x option to poudriere jail,
which does install the cross tools.

Now it is able to build the pkg package, but fails on every other port
saying:

==>   Installing existing package /packages/All/pkg-1.8.3.txz
[poudriere.madpilot.net] Installing pkg-1.8.3...
[poudriere.madpilot.net] Extracting pkg-1.8.3: .......... done
pkg-static: Fail to rename
/usr/local/share/licenses/pkg-1.8.3/catalog.mk.83bLLp1dHKF9 ->
/usr/local/share/licenses/pkg-1.8.3/catalog.mk: Bad address

Failed to install the following 1 package(s): /packages/All/pkg-1.8.3.txz
*** Error code 70

Stop.
make: stopped in /usr/ports/devel/gmake-lite


The thing I noticed is, if I examine the pkg package using the host kg
command I get:

# pkg info -F pkg-1.8.3.txz
pkg-1.8.3
Name           : pkg
Version        : 1.8.3
Installed on   : Thu Jan  1 00:00:00 1970 UTC
Origin         : ports-mgmt/pkg
Architecture   : freebsd:11:armv6:32:el:eabi:softfp
Prefix         : /usr/local
Categories     : ports-mgmt
Licenses       : BSD2CLAUSE
Maintainer     : pkg at FreeBSD.org
WWW            : http://wiki.freebsd.org/pkgng
Comment        : Package manager
Shared Libs provided:
        libpkg.so.3
Annotations    :
Flat size      : 9.48MiB
Description    :
Package management tool

WWW: http://wiki.freebsd.org/pkgng

so looking at Architecture it still think it's softfp.

Anyone has an idea what I'm doing wrong still?

Maybe I should just remove the jail an start from scratch?

-- 
Guido Falsi <mad at madpilot.net>


More information about the freebsd-arm mailing list