I've tried the following using dmd 58 and trunk - both -m64 on kubuntu.
Any idea what I'm doing wrong?

import std.loader;
void main(string[] args)
{
    auto res = ExeModule_Init();
    assert(res == 0);
    scope(exit) ExeModule_Uninit();
    auto mod = ExeModule_Load("./libtcod.so");
}

$ dmd-trunk -v -L-ldl so.d

gcc so.o -o so -m64 -ldl -Xlinker -L/home/simendsjo/code/dmd-trunk/build/lib64 -Xlinker -L/home/simendsjo/code/dmd-trunk/build/lib -Xlinker --no-warn-search-mismatch -Xlinker --export-dynamic -lphobos2 -lpthread -lm -lrt /home/simendsjo/code/dmd-trunk/build/lib64/libphobos2.a(loader_ad5_5c6.o): In function `_D3std6loader15ExeModule_Load_FxAyaZPv': std/loader.d:(.text._D3std6loader15ExeModule_Load_FxAyaZPv+0x69): undefined reference to `dlopen' /home/simendsjo/code/dmd-trunk/build/lib64/libphobos2.a(loader_ad2_567.o): In function `_D3std6loader13record_error_FZv': std/loader.d:(.text._D3std6loader13record_error_FZv+0x7): undefined reference to `dlerror' /home/simendsjo/code/dmd-trunk/build/lib64/libphobos2.a(loader_ad7_707.o): In function `_D3std6loader18ExeModule_Release_FKPvZv': std/loader.d:(.text._D3std6loader18ExeModule_Release_FKPvZv+0x31): undefined reference to `dlclose' /home/simendsjo/code/dmd-trunk/build/lib64/libphobos2.a(loader_ad8_7dc.o): In function `_D3std6loader20ExeModule_GetSymbol_FKPvxAyaZPv': std/loader.d:(.text._D3std6loader20ExeModule_GetSymbol_FKPvxAyaZPv+0x2a): undefined reference to `dlsym'
collect2: ld returned 1 exit status
--- errorlevel 1


$ locate libdl
(...)
/lib/x86_64-linux-gnu/libdl-2.13.so
/lib/x86_64-linux-gnu/libdl.so.2
/lib32/libdl-2.13.so
/lib32/libdl.so.2
/usr/lib/x86_64-linux-gnu/libdl.a
/usr/lib/x86_64-linux-gnu/libdl.so
/usr/lib32/libdl.a
/usr/lib32/libdl.so
(...)

Reply via email to