Hi,
I had some working alien code that I haven't touched in a while. I'm
back at it getting it to compile and trying to test it. Unfortunately
I can't get Factor to recognize my DLL libraries. Is there something
that has changed with the way the libraries should be built/recognized
on MacOSX?
For example, the following library used to load:
/usr/local/BerkeleyDB.4.5/lib/libdb-4.5.dylib
If I run "file" on it I get:
libdb-4.5.dylib: Mach-O dynamically linked shared library i386
However, if I do the following:
"/usr/local/BerkeleyDB.4.5/lib/libdb-4.5.dylib" dlopen dll-valid?
I always get false.
I tried loading a very simple library that I created myself to test
things. The c code is:
int myfunc()
{
return 53 ;
}
I build it as:
cc -fno-common -c tester.c
cc -dynamiclib -install_name tester.dylib -o tester.dylib tester.o
My FFI Interface is:
========
USING: alien alien.libraries alien.syntax combinators kernel system ;
IN: berkeleydb.ffitest
<< "tester" {
{ [ os winnt? ] [ "libdb.dll" "stdcall" ] }
{ [ os macosx? ] [ "/usr/local/ffitest/tester.dylib" "cdecl" add-
library ] }
{ [ os unix? ] [ "libbdb.so" "cdecl" ] }
[ "OS Not supported" throw ]
} cond >>
LIBRARY: tester
FUNCTION: int myfunc ( ) ;
============
Factor won't recognize this library either (with dlopen and dll-
valid?). Nor will it execute the myfunc word, instead it always
complains that a symbol or library is missing (which makes sense since
it doesn't seem to recognize tester.dylib as a valid library).
If I just link an C program with the library, it will run (program is
not statically linked).
Thanks,
Glenn
V. Glenn Tarcea
[email protected]
------------------------------------------------------------------------------
Enter the BlackBerry Developer Challenge
This is your chance to win up to $100,000 in prizes! For a limited time,
vendors submitting new applications to BlackBerry App World(TM) will have
the opportunity to enter the BlackBerry Developer Challenge. See full prize
details at: http://p.sf.net/sfu/Challenge
_______________________________________________
Factor-talk mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/factor-talk