Opened 6 months ago

Last modified 6 months ago

#14641 new bug

Unresolved symbol __tls_get_addr

Reported by: pahefu Owned by: nobody
Priority: normal Milestone: Unscheduled
Component: - General Version: R1/beta1
Keywords: unresolved symbol ___tls_get_addr Cc:
Blocked By: Blocking:
Has a Patch: no Platform: All

Description

HRev: 52295+66b

During the compilation of Gobject-introspection v1.56.

(Download from https://github.com/GNOME/gobject-introspection/releases/tag/1.56.0 )

I get the following output on my syslog:

KERN: bfs: bfs_read_link:1540: Invalid Argument
KERN: runtime_loader: /boot/system/lib/x86/libstdc++.so.6.0.24: Could not resolve symbol '___tls_get_addr'
KERN: runtime_loader: /boot/system/lib/x86/libstdc++.so.6.0.24: Troubles relocating: Symbol not found
KERN: instruction fetch attempted on execute-protected area 0x185caf at 0x01854000
KERN: vm_page_fault: vm_soft_fault returned error 'Permission denied' on fault at 0x18549d8, ip 0x18549d8, write 0, user 1, thread 0x7351
KERN: vm_page_fault: thread "python" (29521) in team "python" (29521) tried to execute address 0x18549d8, ip 0x18549d8 ("libgio-2.0.so.0.5701.0_seg0ro" +0x14c9d8)
KERN: debug_server: Thread 29521 entered the debugger: Segment violation
KERN: stack trace, current PC 0x18549d8  (/boot/system/lib/x86/libgio-2.0.so.0.5701.0 + 0):
KERN:   (0x71890888)  0x1b92b4c  exit + 0x38
KERN:   (0x718908b8)  0x8af728  __haiku_init_before + 0
KERN:   (0x718908f8)  0x274ae72  runtime_loader + 0x132
KERN: debug_server: Killing team 29521 (/bin/python ./g-ir-scanner --quiet --verbose -I. --add-include-)

trying the LD_PRELOAD trick from #12214 with local lib folder, i got a missing python 2.7 library error on the compilation (even copying that to the local lib folder too).

libgio-2.0.so.0 is a version from official Glib2 package from the installation itself.

Attachments (1)

build.log (17.6 KB) - added by pahefu 6 months ago.
Build log

Download all attachments as: .zip

Change History (6)

comment:1 Changed 6 months ago by diver

Unresolved symbol __tls_get_addr usually appears when linking gcc7 app with some gcc2 libs.

Last edited 6 months ago by diver (previous) (diff)

Changed 6 months ago by pahefu

Attachment: build.log added

Build log

comment:2 Changed 6 months ago by pahefu

Added a build log on what i'm doing, through Haikuporter, calling it with a _x86 suffix for the recipe.

Compilation fails on a x86 shell too (confirmed with the prompt). I'm not really seeing where is the cross gcc point to get the failure.

comment:3 Changed 6 months ago by diver

Try with 64bit Haiku until this one is figured out.

comment:4 in reply to:  3 Changed 6 months ago by pahefu

Replying to diver:

Try with 64bit Haiku until this one is figured out.

May be throwing a blind shot but, this might be caused by python invocating/trying to load gcc2 libs with all the environment being on x86 in the gobject make?

A similar test on loading some modules through python may throw some light on this, in that case.

comment:5 Changed 6 months ago by pahefu

Tested in a simple py script as check.

The code in gobject-introspection (x86) creates a python module (as a shared object), which is loaded later by python in a dynamic way.

As the current python is done on x86_gcc2 arch instead of x86, a conflict appears. Unsolvable without changes in python2.7 package

Note: See TracTickets for help on using tickets.