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

Reply via email to