Re: Matlisp on OS X

"Tunc" <[email protected]> Mon, 21 Apr 2003 10:43:13 -0700
Newsgroups gmane.lisp.matlisp.user
Message-ID <005801c3082d$7b997170$6e2f2080@istanbul>
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" <[email protected]>
To: <[email protected]>
Cc: "[email protected]" <[email protected]>;
<[email protected]>
Sent: Monday, April 21, 2003 8:31 AM
Subject: Re: [Matlisp-users] Matlisp on OS X


> >>>>> "Chris" == junk2  <[email protected]> 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
>