no dlfcn.h on MSYS (MINGW32) building on Windows

Slava Pestov slava at jedit.org
Thu Aug 4 22:47:21 PDT 2005


Hi,

The code needs to be changed to use the Win32 API for dynamic loading, 
which maps 1-1 onto the Unix API:

dlopen  --> HMODULE LoadLibrary(char *path)
dlsym   --> void *GetProcAddress(HMODULE lib, char *sym)
dlclose --> void FreeLibrary(HMODULE lib)

Slava

Paul Dufresne wrote:
> Hi!, been a long time, and I regret to inform you that I did
> not played with Slate for a long time now (no news in GUI).
> 
> Anyway I'm trying to build Slate on MSYS. I've installed libtool but
> when trying to build slate-current under MSYS I get:
> ===
> libtool --mode=compile gcc -O2 -fomit-frame-pointer -DNDEBUG=1 -s
> -I../../../../../src/mobius/vm/platform/includes -I. -I../../../../..
> -DSLATE_DATADIR=\"/usr/share/slate\" -o extprim.o -c extprim.c
>  gcc -O2 -fomit-frame-pointer -DNDEBUG=1 -s
>  -I../../../../../src/mobius/vm/platform/includes -I. -I../../../../..
>  -DSLATE_DATADIR=\"/usr/share/slate\" -c extprim.c  -DDLL_EXPORT -DPIC
>  -o .libs/extprim.o
> extprim.c:2:19: dlfcn.h: No such file or directory
> extprim.c: In function `openExternalLibrary':
> extprim.c:41: error: `RTLD_NOW' undeclared (first use in this function)
> ===
> I am using MSYS current (4.1.1).
> So, as far I could tell, this means that we cannot use dlopen on MSYS to
> dynamically open shared libraries by name like plugins do, am I right?
> Libtool "knew" there was no dlfcn.h, but don't seems to absolutely need
> it.
> Maybe I would simply try with VC++ Express Edition;
> Quite heavy for compiling Slate, or maybe I shoud switch to Cygwin.
> 
> Any comment on this?
> 




More information about the Slate mailing list