Hi. My name is tyrus and I have been working with OsmocomBB since 2014 but had given it a break. I decided to go back to the project only that this time I am running a machine on Ubuntu 16.04 LTS.
I get the following error during the make stage of the installation:
libmobile.a(gsm48_rr.o): In function `gsm48_rr_enc_cm3': */home/tyrus/osmocom-bb/src/host/layer23/src/mobile/gsm48_rr.c:1210: undefined reference to `bitvec_fill'* *libmobile.a(vty_interface.o): In function `cfg_ms_rename':* */home/tyrus/osmocom-bb/src/host/layer23/src/mobile/vty_interface.c:1283: undefined reference to `osmo_talloc_replace_string'* collect2: error: ld returned 1 exit status Makefile:377: recipe for target 'mobile' failed make[3]: *** [mobile] Error 1 make[3]: Leaving directory '/home/tyrus/osmocom-bb/src/host/layer23/src/mobile' Makefile:322: recipe for target 'all-recursive' failed make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory '/home/tyrus/osmocom-bb/src/host/layer23/src' Makefile:348: recipe for target 'all-recursive' failed make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory '/home/tyrus/osmocom-bb/src/host/layer23' Makefile:84: recipe for target 'host/layer23/layer23' failed make: *** [host/layer23/layer23] Error 2
Anyone else experienced this? I have *gcc-arm-none-eabi* toolchain installed
Much appreciated.
-ty
Your libosmocore on the host pc is too old
Thanks Harald for your quick response. I just updated the libosmocore version and run make again, this time with a different error.
usr/bin/ld: main.o: undefined reference to symbol '_talloc_zero_array@ @TALLOC_2.0.2' //usr/lib/i386-linux-gnu/libtalloc.so.2: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status Makefile:388: recipe for target 'bcch_scan' failed
I've tried adding the math library to configure.ac but it still fails.
Many thanks
-tyrus
On Thu, Aug 24, 2017 at 6:32 PM, Harald Welte laforge@gnumonks.org wrote:
Your libosmocore on the host pc is too old
Sent from a mobile device. Please excuse my brevity.
On 24/08/17 18:03, ty wrote:
Thanks Harald for your quick response. I just updated the libosmocore version and run make again, this time with a different error.
usr/bin/ld: main.o: undefined reference to symbol '_talloc_zero_array@@TALLOC_2.0.2' //usr/lib/i386-linux-gnu/libtalloc.so.2: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status Makefile:388: recipe for target 'bcch_scan' failed
I've tried adding the math library to configure.ac http://configure.ac but it still fails.
It seems the libtalloc installed in your host pc is too old.
I have libtalloc.2.1.10 and the symbol is there: $ strings /usr/lib/libtalloc.so.2.1.10 | grep _talloc_zero_array _talloc_zero_array
Please make sure the libtalloc in your system has that symbol in, otherwise update it to a newer version. You can check through git log to see when was that symbol added, and infer from that which minimum libtalloc verison you need. I guess we should be checking that during configure time in osmocom-bb.
Hi Pau
Much appreciate your response. I did update the version of libtalloc and I can confirm it is available after running the following; tyrus@the-jedi-council:~/osmocom-bb/src$ strings /usr/lib/libtalloc.so.2.1.10 | grep _talloc_zero_array _talloc_zero_array _talloc_zero_array
However, the same error persists at the same break point.
On Thu, Aug 24, 2017 at 7:21 PM, Pau Espin Pedrol pespin@sysmocom.de wrote:
On 24/08/17 18:03, ty wrote:
Thanks Harald for your quick response. I just updated the libosmocore version and run make again, this time with a different error.
usr/bin/ld: main.o: undefined reference to symbol '_talloc_zero_array@ @TALLOC_2.0.2' //usr/lib/i386-linux-gnu/libtalloc.so.2: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status Makefile:388: recipe for target 'bcch_scan' failed
I've tried adding the math library to configure.ac http://configure.ac but it still fails.
It seems the libtalloc installed in your host pc is too old.
I have libtalloc.2.1.10 and the symbol is there: $ strings /usr/lib/libtalloc.so.2.1.10 | grep _talloc_zero_array _talloc_zero_array
Please make sure the libtalloc in your system has that symbol in, otherwise update it to a newer version. You can check through git log to see when was that symbol added, and infer from that which minimum libtalloc verison you need. I guess we should be checking that during configure time in osmocom-bb.
--
- Pau Espin Pedrol pespin@sysmocom.de http://www.sysmocom.de/
=======================================================================
- sysmocom - systems for mobile communications GmbH
- Alt-Moabit 93
- 10559 Berlin, Germany
- Sitz / Registered office: Berlin, HRB 134158 B
- Geschaeftsfuehrer / Managing Director: Harald Welte
On 25/08/17 13:15, ty wrote:
Hi Pau
Much appreciate your response. I did update the version of libtalloc and I can confirm it is available after running the following; tyrus@the-jedi-council:~/osmocom-bb/src$ strings /usr/lib/libtalloc.so.2.1.10 | grep _talloc_zero_array _talloc_zero_array _talloc_zero_array
However, the same error persists at the same break point.
Is the build really using that new library? I see your new library is in /usr/lib/libtalloc.so.2.1.10 but it's in a different path that the old one (/usr/lib/i386-linux-gnu/libtalloc.so.2). Please provide output of the log error you have now. My guess is that it may still be taking the old one.
Thanks once again Pau.
I managed to fix the above error. It was a symlink issue which forced the build to use the old libtalloc.
However, the build now fails with this error:
arm-none-eabi-ld: section .text.exceptions VMA [0080001c,00800037] overlaps section .compal.reservedram VMA [00800000,008000fe] Makefile.inc:135: recipe for target 'board/compal_e88/hello_world.e88flash.elf' failed make[1]: *** [board/compal_e88/hello_world.e88flash.elf] Error 1 make[1]: Leaving directory '/home/tyrus/osmocom-bb/src/target/firmware' Makefile:89: recipe for target 'firmware' failed make: *** [firmware] Error 2
On Fri, Aug 25, 2017 at 2:19 PM, Pau Espin Pedrol pespin@sysmocom.de wrote:
On 25/08/17 13:15, ty wrote:
Hi Pau
Much appreciate your response. I did update the version of libtalloc and I can confirm it is available after running the following; tyrus@the-jedi-council:~/osmocom-bb/src$ strings /usr/lib/libtalloc.so.2.1.10 | grep _talloc_zero_array _talloc_zero_array _talloc_zero_array
However, the same error persists at the same break point.
Is the build really using that new library? I see your new library is in /usr/lib/libtalloc.so.2.1.10 but it's in a different path that the old one (/usr/lib/i386-linux-gnu/libtalloc.so.2). Please provide output of the log error you have now. My guess is that it may still be taking the old one.
--
- Pau Espin Pedrol pespin@sysmocom.de http://www.sysmocom.de/
=======================================================================
- sysmocom - systems for mobile communications GmbH
- Alt-Moabit 93
- 10559 Berlin, Germany
- Sitz / Registered office: Berlin, HRB 134158 B
- Geschaeftsfuehrer / Managing Director: Harald Welte
Hello. Resending after seeing Harald's email about the outage. I hadn't received a response so I suspect my mail never got delivered.
On Fri, Aug 25, 2017 at 5:02 PM, ty tyruskam@gmail.com wrote:
Thanks once again Pau.
I managed to fix the above error. It was a symlink issue which forced the build to use the old libtalloc.
However, the build now fails with this error:
arm-none-eabi-ld: section .text.exceptions VMA [0080001c,00800037] overlaps section .compal.reservedram VMA [00800000,008000fe] Makefile.inc:135: recipe for target 'board/compal_e88/hello_world.e88flash.elf' failed make[1]: *** [board/compal_e88/hello_world.e88flash.elf] Error 1 make[1]: Leaving directory '/home/tyrus/osmocom-bb/src/target/firmware' Makefile:89: recipe for target 'firmware' failed make: *** [firmware] Error 2
On Fri, Aug 25, 2017 at 2:19 PM, Pau Espin Pedrol pespin@sysmocom.de wrote:
On 25/08/17 13:15, ty wrote:
Hi Pau
Much appreciate your response. I did update the version of libtalloc and I can confirm it is available after running the following; tyrus@the-jedi-council:~/osmocom-bb/src$ strings /usr/lib/libtalloc.so.2.1.10 | grep _talloc_zero_array _talloc_zero_array _talloc_zero_array
However, the same error persists at the same break point.
Is the build really using that new library? I see your new library is in /usr/lib/libtalloc.so.2.1.10 but it's in a different path that the old one (/usr/lib/i386-linux-gnu/libtalloc.so.2). Please provide output of the log error you have now. My guess is that it may still be taking the old one.
--
- Pau Espin Pedrol pespin@sysmocom.de http://www.sysmocom.de/
=======================================================================
- sysmocom - systems for mobile communications GmbH
- Alt-Moabit 93
- 10559 Berlin, Germany
- Sitz / Registered office: Berlin, HRB 134158 B
- Geschaeftsfuehrer / Managing Director: Harald Welte
На 31.08.2017 в 20:11, ty написа:
Hello. Resending after seeing Harald's email about the outage. I hadn't received a response so I suspect my mail never got delivered.
On Fri, Aug 25, 2017 at 5:02 PM, ty <tyruskam@gmail.com mailto:tyruskam@gmail.com> wrote:
Thanks once again Pau. I managed to fix the above error. It was a symlink issue which forced the build to use the old libtalloc. However, the build now fails with this error: arm-none-eabi-ld: section .text.exceptions VMA [0080001c,00800037] overlaps section .compal.reservedram VMA [00800000,008000fe] Makefile.inc:135: recipe for target 'board/compal_e88/hello_world.e88flash.elf' failed make[1]: *** [board/compal_e88/hello_world.e88flash.elf] Error 1 make[1]: Leaving directory '/home/tyrus/osmocom-bb/src/target/firmware' Makefile:89: recipe for target 'firmware' failed make: *** [firmware] Error 2
See https://osmocom.org/issues/1917
On Fedora 26 I was able to build it using gcc-4.9.4, binutils-2.21.1a and newlib-1.19.0. I've build the arm toolchain using the build script and instructions from https://osmocom.org/projects/baseband/wiki/GnuArmToolchain
BR Vasil
arm-none-eabi-ld: section .text.exceptions VMA [0080001c,00800037] overlaps section .compal.reservedram VMA [00800000,008000fe]
Yeah, IIRC the issue is that the newer GCC can't have overlapping regions even if they're NOLOAD. Problem is that we use that in the builds .... so we've just been sticking with older GCC that support that.
Cheers,
Sylvain
On Thu, Sep 07, 2017 at 09:27:27PM +0200, Sylvain Munaut wrote:
arm-none-eabi-ld: section .text.exceptions VMA [0080001c,00800037] overlaps section .compal.reservedram VMA [00800000,008000fe]
Yeah, IIRC the issue is that the newer GCC can't have overlapping regions even if they're NOLOAD. Problem is that we use that in the builds .... so we've just been sticking with older GCC that support that.
See also the laforge/lib-update branch where I tried to fix this some months ago (but never completed related work), specifically
commit 4de980b32c09dc0697f8f84302b646d48cdbef28 Author: Harald Welte laforge@gnumonks.org Date: Sun Jan 15 16:49:06 2017 +0100
WIP: Attempt to make linker scripts compatible with binutils 2.27
In binutils-2.27, one can no longer have linker sections with overlapping VMA addresses. Let's try to work around this.
See https://osmocom.org/issues/1917 for more details.
baseband-devel@lists.osmocom.org