From: Tunc <si...@ee...> - 2003-04-21 17:43:25
|
Hey folks; the problems we're trying to solve might need some deeper thought. I took a moment to look at the Allegro docs and here is some notes that raise concerns: http://www.franz.com/support/documentation/6.1/doc/foreign-functions.htm#ff- on-macosx-1 It says: ---------------------------------------------------------------------------- ------------ Appendix I: Building shared libraries on MacOSX On MacOSX, you must produce a specific type of .dylib file which can be loaded into Allegro CL. These are called bundle files on MacOSX, and are fully packaged shared libraries. Unfortunately, they may not be reused as input to ld() once they have been created, in contrast with shared-objects on other architectures. However, they may contain undefined symbols, which may be resolved lazily when the shared-objects are loaded. These may include symbols in libacl*.dylib such as lisp_value and lisp_call_address, without having to link against the library. Compile with the -dynamic flag. As an example: % cc -dynamic -c foo.c -o foo.o % ld -bundle /usr/lib/bundle1.o -undefined suppress -o foo.dylib foo.o Fortran interfacing is not supported at this time. The general issue of cross linking is discussed in Section 1.7.1 Linking to Allegro CL shared library on MacOSX. ---------------------------------------------------------------------------- -------- Since I don't have much experience with MacOSX, I don't know whether this is a show stopper. Can someone comment?? Thanks, Tunc ----- Original Message ----- From: "Raymond Toy" <to...@rt...> To: <ju...@mi...> Cc: "si...@EE..." <si...@ee...>; <mat...@li...> Sent: Monday, April 21, 2003 8:31 AM Subject: Re: [Matlisp-users] Matlisp on OS X > >>>>> "Chris" == junk2 <ju...@mi...> writes: > > Chris> So, again, b.out appears, although I can't actually see that file on my > Chris> system (nor the conftest.c file) -- perhaps these get cleaned up in the > Chris> ./configure... script? > > Yes, configure will clean it up. Before we can make progress, we'll > have to solve this problem. (I do have an iMac running OSX at home, > but don't have acl.) > > Try looking through the generated configure script. Find the place > where conftest.c is created. And try to compile that up by hand. > > Or you could just do a simple "Hello world!" program, and compile it > using "gcc -c -O2 hello.c" and see where the output goes. It seems > that b.out is ok. Then try to run it. > > Chris> One thing I have just remembered: When writing C++ code for OS X, one has > Chris> to explicitly link against libstdc++.a, which, as far as I understand, is > Chris> not the case on Linux, say. Could a similar problem be to blame here? > > Matlisp doesn't use any C++ code. > > Ray > |