Hey Genodians,
I just updated to 15.11 (building on linux_x86) whenever a component links against pthread, I am getting an error such as
Program app/qt5/examples/calculatorform/calculatorform LINK calculatorform build/var/libcache/pthread/pthread.lib.so: undefined reference to `_context_area_start'
(This one comes from qt, but of course make run/pthread comes up with something similar) Build directory was cleaned beforehand. Has anyone faced such an issue before or did something go wrong during my update?
Best Marcus
Hello Marcus,
On Fri, Jan 22, 2016 at 01:49:24PM +0100, Marcus Nolte wrote:
I just updated to 15.11 (building on linux_x86)
We changed a lot regarding the dynamic linker last November and I can remember we had some challenges with the context area. Please post which distribution, version and architecture you're using for the Linux base platform. We're testing regulary with Ubuntu 12.04 and 14.04 (32 and 64 bit) as well as Gentoo.
Does "make run/demo" work for you in 15.11?
Also, please post the output of
genode-x86-objdump -T bin/ld.lib.so |grep "<context_area>"
Greets
Hi Christian,
The host machine is running Ubuntu 14.04 (64 bit) The issue is only showing up in the local branch I'm using. run/demo is working fine.
objdump shows
0000000040000000 l d .context_area 0000000000000000 .context_area
Can you give any pointer where to look deeper into the issue?
Best Marcus
Am 22.01.2016 um 15:02 schrieb Christian Helmuth:
Hello Marcus,
On Fri, Jan 22, 2016 at 01:49:24PM +0100, Marcus Nolte wrote:
I just updated to 15.11 (building on linux_x86)
We changed a lot regarding the dynamic linker last November and I can remember we had some challenges with the context area. Please post which distribution, version and architecture you're using for the Linux base platform. We're testing regulary with Ubuntu 12.04 and 14.04 (32 and 64 bit) as well as Gentoo.
Does "make run/demo" work for you in 15.11?
Also, please post the output of
genode-x86-objdump -T bin/ld.lib.so |grep "<context_area>"
Greets
Hello Marcus,
On Fri, Jan 22, 2016 at 03:31:39PM +0100, Marcus Nolte wrote:
The host machine is running Ubuntu 14.04 (64 bit) The issue is only showing up in the local branch I'm using. run/demo is working fine.
objdump shows
0000000040000000 l d .context_area 0000000000000000 .context_area
Can you give any pointer where to look deeper into the issue?
The information you gave looks innocent. Maybe the following commit from master after 15.11 resolves your issue
https://github.com/genodelabs/genode/commit/30e129a91be29fc5b369663f0244de43...
Could you please also try other scenarios with dynamic executables, namely
make run/ldso make run/libc
I'm still wondering if the issue is with libpthread only.
Regards
Alright, found the culprit.
Am 22.01.2016 um 15:31 schrieb Marcus Nolte:
Hi Christian,
The host machine is running Ubuntu 14.04 (64 bit) The issue is only showing up in the local branch I'm using. run/demo is working fine.
objdump shows
0000000040000000 l d .context_area 0000000000000000 .context_area
Can you give any pointer where to look deeper into the issue?
Best Marcus
Am 22.01.2016 um 15:02 schrieb Christian Helmuth:
Hello Marcus,
On Fri, Jan 22, 2016 at 01:49:24PM +0100, Marcus Nolte wrote:
I just updated to 15.11 (building on linux_x86)
We changed a lot regarding the dynamic linker last November and I can remember we had some challenges with the context area. Please post which distribution, version and architecture you're using for the Linux base platform. We're testing regulary with Ubuntu 12.04 and 14.04 (32 and 64 bit) as well as Gentoo.
Does "make run/demo" work for you in 15.11?
Also, please post the output of
genode-x86-objdump -T bin/ld.lib.so |grep "\<context_area\>"
Greets
Hi Christian,
sorry for the last short message, somehow my Windows machine is having a bad hair day. The commit was what was missing.
run/ldso and run/libc build and finish successfully.
Thanks for the support!
Best Marcus
Am 22.01.2016 um 16:27 schrieb Christian Helmuth:
Hello Marcus,
On Fri, Jan 22, 2016 at 03:31:39PM +0100, Marcus Nolte wrote:
The host machine is running Ubuntu 14.04 (64 bit) The issue is only showing up in the local branch I'm using. run/demo is working fine.
objdump shows
0000000040000000 l d .context_area 0000000000000000 .context_area
Can you give any pointer where to look deeper into the issue?
The information you gave looks innocent. Maybe the following commit from master after 15.11 resolves your issue
https://github.com/genodelabs/genode/commit/30e129a91be29fc5b369663f0244de43...
Could you please also try other scenarios with dynamic executables, namely
make run/ldso make run/libc
I'm still wondering if the issue is with libpthread only.
Regards
Marcus,
I'm sorry but my assumption the linker changes are part of 15.11 was wrong. In fact, we postponed them to just after the release. So, I suggest you give plain 41b9f6b a spin via
git checkout -b give_it_spin 41b9f6b make run/pthread
Hope this helps on Ubuntu 14.04 - I can't test as I'm on 12.04.
Greets
Marcus,
On Fri, Jan 22, 2016 at 04:34:19PM +0100, Marcus Nolte wrote:
The commit was what was missing.
run/ldso and run/libc build and finish successfully.
Thanks for the support!
I'm glad to hear that. Happy hacking.