Statically linked binary threading problems?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Recently I had the opportunity to port "Adventure Game Studio"
(http://drevil.warpcore.org/ags/) to Linux. I've been statically linking
all the libraries to avoid the C++ ABI issues since it is not an open
source game.

Under RedHat 8.0, the statically linked binary I made worked perfectly,
it also worked under Debian Woody 3.0, and other distributions.

Under RedHat 9 when I compile the static binary from source and then run
it, it just spuriously aborts for some reason, running it through gdb
reveals this process:

(gdb) file ags
Reading symbols from ags...done.
(gdb) r
Starting program: /home/swalker/games/kq2vga/ags
Adventure Creator v2.54 Interpreter
Copyright (c) 1999-2001 Chris Jones
ACI version 2.54.525
 
Program received signal SIG32, Real-time event 32.
0x081cebc9 in sigsuspend ()
(gdb) bt
#0  0x081cebc9 in sigsuspend ()
#1  0xbfffe320 in ?? ()
#2  0x0815990d in __pthread_wait_for_restart_signal ()
#3  0x08159b6b in pthread_create ()
(gdb) c
Continuing.
CD-ROM Audio support enabled.
Pentium Pro CPU detected.
Music file found and initialized.
 
Program received signal SIG32, Real-time event 32.
0x081cebc9 in sigsuspend ()
(gdb) bt
#0  0x081cebc9 in sigsuspend ()
#1  0xbfffe4c0 in ?? ()
#2  0x0815990d in __pthread_wait_for_restart_signal ()
#3  0x08159b6b in pthread_create ()
(gdb) c
Continuing.
Checking sound inits.
 
Program received signal SIGSEGV, Segmentation fault.
0x00000000 in ?? ()
(gdb) bt
#0  0x00000000 in ?? ()
#1  0x4002e2e6 in ?? ()
#2  0x40033631 in ?? ()
#3  0x40028b99 in ?? ()
#4  0x082101ca in _dl_init ()
#5  0x081eba6c in dl_open_worker ()
#6  0x081eaddb in _dl_catch_error ()
#7  0x081eb647 in _dl_open ()
#8  0x081ecbb8 in do_dlopen ()
#9  0x081eaddb in _dl_catch_error ()
#10 0x081ecacd in __libc_dlopen_mode ()
#11 0x081e8f4c in __nss_lookup_function ()
#12 0x081e9906 in __nss_lookup ()
#13 0x081e9f0a in __nss_passwd_lookup ()
#14 0x081e575b in getpwuid_r ()
#15 0x081e5430 in getpwuid ()
#16 0x0813db16 in _xdga_private_create_screen ()
(gdb) c
Continuing.
 
Program received signal SIGABRT, Aborted.
0x081ceb61 in kill ()
(gdb) bt
#0  0x081ceb61 in kill ()
#1  0x0815aa92 in __pthread_raise ()
#2  0x081ceea9 in abort ()
#3  0x08132e8d in _xwin_signal_handler ()
#4  <signal handler called>
(gdb) c
Continuing.
 
Program terminated with signal SIGABRT, Aborted.
The program no longer exists.
(gdb)

Now the *really* weird part is that this statically linked binary will
run just fine on Debian Woody 3.0, but it won't run under RedHat 9, that
platform I compiled it on!

Dynamically linked version of the executable also work just fine as
well. I'll be glad to share what linking process I use if that will
help. But this is a serious issue for me as it's preventing me from
making another release of the game engine.

On a side note, I'm seeing this same issue when compiling the latest
version of subversion from the svn repository.

*ANY* constructive suggestions would be appreciated.

-- 
Shawn <drevil@xxxxxxxxxxxx>
http://www.warpcore.org/






[Index of Archives]     [Fedora Users]     [Centos Users]     [Kernel Development]     [Red Hat Install]     [Red Hat Watch]     [Red Hat Development]     [Red Hat Phoebe Beta]     [Yosemite Forum]     [Fedora Discussion]     [Gimp]     [Stuff]     [Yosemite News]

  Powered by Linux