Discussion:
Problem linking against pthread in 15.11
Marcus Nolte
2016-01-22 12:45:22 UTC
Permalink
--
Marcus Nolte, M. Sc.

Technische Universität Braunschweig
Institut für Regelungstechnik (IfR)
Hans-Sommer-Straße 66
38106 Braunschweig

Tel.: +49 531 391 8066
Fax: +49 531 391 7878
Email: ***@ifr.ing.tu-bs.de
Internet: http://www.ifr.ing.tu-bs.de
Marcus Nolte
2016-01-22 12:49:24 UTC
Permalink
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
--
Marcus Nolte, M. Sc.

Technische Universität Braunschweig
Institut für Regelungstechnik (IfR)
Hans-Sommer-Straße 66
38106 Braunschweig

Tel.: +49 531 391 8066
Fax: +49 531 391 7878
Email: ***@ifr.ing.tu-bs.de
Internet: http://www.ifr.ing.tu-bs.de
Christian Helmuth
2016-01-22 14:02:33 UTC
Permalink
Hello Marcus,
Post by Marcus Nolte
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
--
Christian Helmuth
Genode Labs

http://www.genode-labs.com/ · http://genode.org/
https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
Marcus Nolte
2016-01-22 14:31:39 UTC
Permalink
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
Post by Christian Helmuth
Hello Marcus,
Post by Marcus Nolte
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
--
Marcus Nolte, M. Sc.

Technische Universität Braunschweig
Institut für Regelungstechnik (IfR)
Hans-Sommer-Straße 66
38106 Braunschweig

Tel.: +49 531 391 8066
Fax: +49 531 391 7878
Email: ***@ifr.ing.tu-bs.de
Internet: http://www.ifr.ing.tu-bs.de
Christian Helmuth
2016-01-22 15:27:44 UTC
Permalink
Hello Marcus,
Post by Marcus Nolte
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/30e129a91be29fc5b369663f0244de4368d97578

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
--
Christian Helmuth
Genode Labs

http://www.genode-labs.com/ · http://genode.org/
https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
Marcus Nolte
2016-01-22 15:34:19 UTC
Permalink
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
Post by Christian Helmuth
Hello Marcus,
Post by Marcus Nolte
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/30e129a91be29fc5b369663f0244de4368d97578
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 Nolte, M. Sc.

Technische Universität Braunschweig
Institut für Regelungstechnik (IfR)
Hans-Sommer-Straße 66
38106 Braunschweig

Tel.: +49 531 391 8066
Fax: +49 531 391 7878
Email: ***@ifr.ing.tu-bs.de
Internet: http://www.ifr.ing.tu-bs.de
Christian Helmuth
2016-01-22 15:39:00 UTC
Permalink
Marcus,
Post by Marcus Nolte
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.
--
Christian Helmuth
Genode Labs

http://www.genode-labs.com/ · http://genode.org/
https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
Christian Helmuth
2016-01-22 15:36:58 UTC
Permalink
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
--
Christian Helmuth
Genode Labs

http://www.genode-labs.com/ · http://genode.org/
https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
Marcus Nolte
2016-01-22 15:29:52 UTC
Permalink
Alright, found the culprit.
Post by 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
Post by Christian Helmuth
Hello Marcus,
Post by Marcus Nolte
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
--
Marcus Nolte, M. Sc.

Technische Universität Braunschweig
Institut für Regelungstechnik (IfR)
Hans-Sommer-Straße 66
38106 Braunschweig

Tel.: +49 531 391 8066
Fax: +49 531 391 7878
Email: ***@ifr.ing.tu-bs.de
Internet: http://www.ifr.ing.tu-bs.de
Loading...