On 03/02/2011 01:49 AM, rm wrote:
I put together bindings for DevIL in D to use on a school assignment.  The
bindings (attached) work fine on Windows, but cause a segfault on Linux when I
call ilInit.

this can be demonstrated by a little test program

"
import graphics.bindings.devil;

public void main(string[] args)
{
    ilInit();
}
"
compiled with "dmd -L-ldl test.d devil.d" where test.d is the above program
and devil.d is attached.

When run, this program segfaults, but if lines 112,113,165,166 of devil.d are
commented out, the program works fine, and I can't figure out what the problem
with those lines is.  The fact that this works on Windows confuses me even more.

Any help would be appreciated.

On linux the linker is called with --export-dynamic by default and this tells the linker to export all the symbols pressent in your executable. So it is posible that dlsym is returning the address of the symbols in your execuable. Thunderbird is having some problems with your attachment so i'm not able to test, but renaming the functions should do the trick.

--
Mike Wey

Reply via email to