Re: Matlisp on OS X

[email protected] Mon, 21 Apr 2003 14:17:05 +0100 (BST)
Newsgroups gmane.lisp.matlisp.user
Message-ID <[email protected]>
Hi again

Thanks for the help. I'm relatively new to UNIX and OS X, so I'd be
grateful for you help *and* patience... :-)

On the makefile front, I am using GNU Make version 3.79 -- I'm not aware
that there are any major differences between this and its Linux/Solaris
counterparts.

If I manage to get Matlisp going on OS X I plan to put together a howto
document. I have made some progress, and I think I've narrowed the problem
down substantially.

1. I was using one of the Matlisp releases. I've now checked the latest
version of Matlisp out of CVS.

2. One of the problems I found was regarding the config.sub and
config.guess files. Apple provides version of these files so porting is
easier (see:
developer.apple.com/techpubs/macosx/Darwin/GettingStarted/PortingUNIX/compiling/chapter_3_section_8.html).
So I did:

mv config.guess config.guess.dist
mv config.sub config.sub.dist
ln -s /usr/share/automake-1.6/config.guess .
ln -s /usr/share/automake-1.6/config.sub .

3. Trying to do the aclocal, autoconf, automake sequence, I got complains
about missing AM_INIT_AUTOMAKE, ./aclocal.m4, ./mkinstalldirs and
./missing. I copied aclocal.m4, mkinstalldirs and missing from a C++
project I had. I guess this is a dodgy step -- I think aclocal.m4 needs to
be generated by doing aclocal (but when I tried that, no aclocal.m4 is
created). Copying in the files missing and mkinstalldirs seemed to placate
autoconf on errors regarding those files, but it complains that "your
implementation of AM_INIT_AUTOMAKE comes from an automake: old Automake
version.  You should recreate aclocal.m4 automake: with aclocal and run
automake again."

4. Doing ./configure --with-lisp=acl --with-lisp-exec=alisp
--prefix=/Users/chris/Desktop/Matlisp/matlisp/ yields the following
problem:

[snip]
checking whether the C compiler works... configure: error: cannot run C
compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details.

5. Looking is config.log:

[snip]
Apple Computer, Inc. GCC version 1175, based on gcc version 3.1 20020420
(prerel
ease)
configure:1819: $? = 0
configure:1821: gcc -V </dev/null >&5
gcc: argument to `-V' is missing
configure:1824: $? = 1
configure:1848: checking for C compiler default output
configure:1851: gcc -c -O2   conftest.c  >&5
configure:1854: $? = 0
configure:1900: result: b.out
configure:1905: checking whether the C compiler works
configure:1911: ./b.out
./configure: ./b.out: No such file or directory
configure:1914: $? = 127
configure:1923: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details.

6. A web search suggested the following potential causes:
a) Using a different compiler than the one used to build Matlisp on the
developer's workstations.
b) LD_LIBRARY_PATH set to something that doesn't work with the default
compiler.
c) If configure was created with the wrong version of autoconf.

I'm using the gcc toolchain, so I guess I'm OK on point a). I don't have
LD_LIBRARY_PATH set in my environment -- perhaps it's set in Matlisp's
build system? I'm not sure about point c) -- Apple install Automake 1.6,
but I've had to upgrate to 1.7 for another project, so there's a potential
conflict between the config.guess and config.sub files brought into the
Matlisp dir from Automake 1.7 and me using the tools from Automake 1.7.

As I said, I'm very appreciative of your help on this matter.

Chris


On Sun, 20 Apr 2003, [email protected] wrote:

> This looks like a makefile problem.  Although once that is
> fixed I'm sure others will follow.
>
> These two lines in matlisp.mk tell 'make' that dgemm.o should
> be build from dgemm.f or dgemm.c (whichever one it finds)
> Perhaps the make on OS X doesn't understand this.
>
> But before that.  Did you download the released tar'd file or
> did you get the files from the CVS repository.  You should
> get the latter since the released file is way too old and won't
> work with your version of Allegro.
>
>   --Tunc
>
> ----- Original Message -----
> From: [email protected]
> Date: Saturday, April 19, 2003 3:06 pm
> Subject: [Matlisp-users] Matlisp on OS X
>
> > Hi all
> >
> > I'm trying to get Matlisp going on OS X 10.2.5 under Allegro CL.
> >
> > I installed g77 via fink and set F77 to /sw/bin/g77
> >
> > Ihave installed ATLAS using fink and run:
> >
> > ./configure FreeBSD
> >
> > (as was suggested at
> > http://mail.gnu.org/archive/html/gcl-devel/2002-07/msg00029.html),
> > whichyields output 1 (see below). All seems OK at this point to my
> > untrainedeye.
> >
> > I then do
> >
> > make allegro
> >
> > which fails pretty quickly with output 2 (see below)
> >
> > Has anyone got Matlisp going on OS X? OS X is just UNIX; give that
> > Matlispexists for Linux, it should also be OK with OS X???
> >
> > Your help would be very much appreciated!!!!
> >
> > Chris
> >
> > Output 1 (listing of the configure step):
> >
> > ./configure FreeBSD
> > configure: warning: FreeBSD: invalid host type
> > loading cache ./config.cache
> > checking whether the Fortran 77 compiler (/sw/bin/g77  ) works... yes
> > checking whether the Fortran 77 compiler (/sw/bin/g77  ) is a
> > cross-compiler... no
> > checking whether we are using GNU Fortran 77... (cached) yes
> > checking whether /sw/bin/g77 accepts -g... (cached) yes
> > checking for ranlib... (cached) ranlib
> > checking host system type... Invalid configuration `FreeBSD': machine
> > `FreeBSD' not recognized
> >
> > checking for Fortran 77 libraries... (cached)  -lfrtbegin -lg2c -
> > lcrt1.o-lcrtbegin.o -L/sw/lib/gcc-lib/powerpc-apple-darwin6.2/3.1
> > -L/sw/lib/gcc-lib/powerpc-apple-darwin6.2/3.1/../../.. -lSystem
> > checking for gcc... (cached) gcc
> > checking whether the C compiler (gcc  ) works... yes
> > checking whether the C compiler (gcc  ) is a cross-compiler... no
> > checking whether we are using GNU C... (cached) yes
> > checking whether gcc accepts -g... (cached) yes
> > configure: warning: Oops! Matlisp is tested on Solaris, SunOS or Linux
> > configure: warning: Matlisp may not compile on your system .
> > creating ./config.status
> > creating matlisp.mk
> > creating lib/lazy-loader.lisp
> >
> > Output 2 (listing of the make step):
> >
> > make allegro
> > make -f matlisp.mk shared
> > make[1]: *** No rule to make target
> > `/usr/local/LAPACK/BLAS/SRC/dgemm.o',needed by `shared'.  Stop.
> > make: *** [lib/libmatlispshared.so] Error 2
> >
> >
> >
> > -------------------------------------------------------
> > This sf.net email is sponsored by:ThinkGeek
> > Welcome to geek heaven.
> > http://thinkgeek.com/sf
> > _______________________________________________
> > Matlisp-users mailing list
> > [email protected]
> > https://lists.sourceforge.net/lists/listinfo/matlisp-users
> >
>
>