Peter Federighi wrote: > Jonathan M Davis wrote: >> Did you wrap the C declarations in an extern(C) block? Without that, it's >> going >> to think that your variables are D variables not C variables. The same goes >> for >> any functions - _especially_ for the functions. In fact, a large portion of >> - in >> not all of - your gpm.d file should likely be in extern(C). > > I tried "extern (C)" for the whole module and individually. I get the > following > error: > /usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld: > _gpm_arg: TLS reference in gev.o mismatches non-TLS definition in > /usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../lib/libgpm.so section .data > /usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../lib/libgpm.so: could not read > symbols: Bad value > collect2: ld returned 1 exit status > --- errorlevel 1 > > Is this a 32/64 bit issue? I have both versions of libgpm installed. Those > file > paths are obtuse, but they do point to the 32 bit libraries. I've > successfully > compiled other programs that use C libraries such as SDL and OpenGL (both via > the > Derelict2 modules). > I think gpm_zerobased, _bpm_buf and _gpm_arg should be declared __gshared.
Jerome -- mailto:jeber...@free.fr http://jeberger.free.fr Jabber: jeber...@jabber.fr
signature.asc
Description: OpenPGP digital signature