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

Lee Salzman lsalzman1 at cox.net
Thu Aug 4 23:30:46 PDT 2005


No, the code does not need to be changed. The problem is that you are 
not supposed to be using the 'unix' platform for Slate on MSYS. If you 
read the Makefile, you need to use the 'mingw' platform.

Lee

Slava Pestov wrote:
> 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