Hello I am trying to get to a gmp interface for D2. I have some trouble to get that to work, however. Perhaps someone has an idea what I am doing wrong. I must admit I am not sure this is a D issue or a swig issue or something else.
The interface file for swig cat gmpd.i %module gmpd %{ #include "gmp.h" %} %include "gmp.h" A main with a call to gmpd cat main.d import std.stdio; import gmpd; void main() { writeln("Hello"); } This is what I do then: /usr/local/swig-204/bin/swig -I/usr/include/ -d -d2 gmpd.i /opt/usr/local/bin/gdc -c main.d /opt/usr/local/bin/gdc -c gmpd.d /opt/usr/local/bin/gdc -c gmpd_im.d /opt/usr/local/bin/gdc -c gmpd_wrap.c /opt/usr/local/bin/gdc main.o -oa.out gmpd.o gmpd_im.o gmpd_wrap.o -lgmp I get messages of the type: /usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld: __gmp_set_memory_functions: TLS definition in gmpd_im.o section .tbss mismatches non-TLS reference in gmpd_wrap.o gmpd_wrap.o: could not read symbols: Bad value collect2: ld returned 1 exit status I have tried dmd and/or gcc (for the wrapper compilation and linking) but no joy. Also -fPIC did not help. Thanks, Oliver