www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - "Section .tbss mismatches non-TLS reference" - what??

reply Dejan Lekic <dejan.lekic tiscali.co.uk> writes:
Hello everybody - any idea why am I getting this error?
I successfully compiled this library few months ago, not it fails to 
build... :(

----------------------- 8< -------------------------------------- begin
dejan mrak ~/prj/d/dcurses-backup
$ make
gcc obj/Debug/dcurses.o obj/Debug/dl_c_curses_curses.o 
obj/Debug/dl_c_curses_panel.o -o bin/Debug/dcurses -lncurses -lphobos2 
-lpthread -lm
/usr/bin/ld: stdscr: TLS definition in obj/Debug/dl_c_curses_curses.o 
section .tbss mismatches non-TLS reference in /lib64/libncurses.so.5
/lib64/libncurses.so.5: could not read symbols: Bad value
collect2: ld returned 1 exit status
make: *** [bin/Debug/dcurses] Error 1
------------------------------------------ >8 ------------------- end

/lib64/libncurses.so.5 is absolutely fine (it is a symlink to 
libncurses.so.5.8) - many applications on my Fedora 15 box are linked 
against it - they all work nicely. :)
Oct 19 2011
parent reply Trass3r <un known.com> writes:
 /usr/bin/ld: stdscr: TLS definition in obj/Debug/dl_c_curses_curses.o  
 section .tbss mismatches non-TLS reference in /lib64/libncurses.so.5
Looks like some definition is missing a shared/__gshared.
Oct 19 2011
parent Jude Young <10equals2 gmail.com> writes:
Oh yeah, D2 put everything (IIRC) into Thread Local Storage, unless you tell
it not to.
 C puts most everything into global storage.

This causes a mismatch. If you're working on translating the curses headers
into D, I'm attempting the same.
I'd love some help, as I have never really worked with C/C++


On Wed, Oct 19, 2011 at 12:54 PM, Trass3r <un known.com> wrote:

 /usr/bin/ld: stdscr: TLS definition in obj/Debug/dl_c_curses_curses.o
 section .tbss mismatches non-TLS reference in /lib64/libncurses.so.5
Looks like some definition is missing a shared/__gshared.
Oct 19 2011