NEW BUILD SYSTEM: Cannot build rtems-libbsd
Sebastian Huber
sebastian.huber at embedded-brains.de
Wed Jul 8 08:29:58 UTC 2020
On 29/06/2020 21:39, Niteesh G. S. wrote:
> Hello,
>
> I tried compiling RTEMS-libBSD with RTEMS6 toolchain and the new build
> system
> but failed. I get errors when compiling RTEMS-libBSD
>
> The new build system is pulled from Sebastian's branch
> HEAD: e4c193ddc163d6adb1b003254af9cc6b5d174a6f
>
> RTEMS was configured with the following options:
> 1) ./waf bsp_defaults --rtems-bsps=arm/beagleboneblack > config.ini
> 2) Enabled posix since libBSD complained about it during configuration.
> 3) ./waf configure --prefix=$HOME/development/rtems/6
> 4) ./waf -j32
This didn't work for me. I got:
[1391/1410] Linking
build/arm/beagleboneblack/testsuites/samples/iostream.exe
/opt/rtems/6/lib/gcc/arm-rtems6/10.0.1/../../../../arm-rtems6/bin/ld:
./librtemsbsp.a(bbb-i2c.c.1.o): in function `am335x_i2c_reset':
/home/EB/sebastian_h/src/rtems/build/arm/beagleboneblack/../../../bsps/arm/beagle/i2c/bbb-i2c.c:202:
undefined reference to `__wrap_puts'
collect2: error: ld returned 1 exit status
This error is related to this change:
https://git.rtems.org/sebh/rtems.git/commit/?h=build&id=9e3a23e4dde96fca2fc5855995527e10a4a119cb
I guess I made this during the work to get rid of the bsp_specs. The
problem is that we have a cyclic reference: librtemstest depends on
librtemscpu which depends on librtemstest (via the wrapped output
functions). The librtemscpu and librtemsbsp are implicitly given at the
end via the -qrtems flag. I reverted the change since it seems to work
without it. Afterwards, I was able to install the BSP.
> 5) ./waf install
>
> RTEMS-libBSD was configured with the following options:
> 1) ./waf configure --prefix=$HOME/development/rtems/6
> --rtems-bsps=arm/beagleboneblack --buildset=buildset/minimal.ini
> --rtems-version=6
> 2) ./waf -j16
> I have attached the error log file.
I got a different error:
[1163/1163] Linking build/arm-rtems6-beagleboneblack-minimal/zerocopy01.exe
/opt/rtems/6/lib/gcc/arm-rtems6/10.0.1/../../../../arm-rtems6/bin/ld:
testsuite/zerocopy01/test_main.c.96.o: in function `.LANCHOR0':
/home/EB/sebastian_h/src/rtems-libbsd/build/arm-rtems6-beagleboneblack-minimal/../../rtemsbsd/include/machine/rtems-bsd-config.h:238:
undefined reference to `_bsd_ip6_mroutemodule_sys_init'
I fixed this with this commit:
https://git.rtems.org/rtems-libbsd/commit/?h=5-freebsd-12&id=26866d2c1f2432b25b5db71995bce2035187c715
Which branch do you use for libbsd?
It seems the master branch. Here I get also your error:
[1084/1184] Linking build/arm-rtems6-beagleboneblack-minimal/condvar01.exe
/opt/rtems/6/lib/gcc/arm-rtems6/10.0.1/../../../../arm-rtems6/bin/ld:
./libbsd.a(uipc_mbuf.c.16.o): in function `m_unmappedtouio':
/home/EB/sebastian_h/src/rtems-libbsd/build/arm-rtems6-beagleboneblack-minimal/../../freebsd/sys/kern/uipc_mbuf.c:1813:
undefined reference to `PHYS_TO_VM_PAGE'
/opt/rtems/6/lib/gcc/arm-rtems6/10.0.1/../../../../arm-rtems6/bin/ld:
/home/EB/sebastian_h/src/rtems-libbsd/build/arm-rtems6-beagleboneblack-minimal/../../freebsd/sys/kern/uipc_mbuf.c:1814:
undefined reference to `uiomove_fromphys'
Could you please use the 5-freebsd-12 branch with the default build set.
This is what I use normally.
More information about the devel
mailing list