[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: clues to statically building octave w/extensions?
From: |
Bill Lash |
Subject: |
Re: clues to statically building octave w/extensions? |
Date: |
Wed, 13 Jun 2001 13:24:34 -0500 |
"A. Danial" wrote:
>
>
> jwe> src/Makefile.in and then run
> jwe>
> jwe> CONFIG_FILES=src/Makefile ./config.status
> jwe> make
> jwe>
> jwe> in the top-level build directory.
>
> I omitted the CONFIG_FILES= step because it overwrites the Makefile
> modifications for the variable DLD_XSRC. Maybe I'm doing it at the
> wrong time?
If you editted the Makefile.in instead of the Makefile, then you would
need to do the CONFIG_FILES= step. This is probably better, because if
you ever need to reconfigure for some reason, the makefile would get
built properly.
> Speaking of problems on AIX, I should mention that the make process
> goes smoothly except for the very last step where the octave executable
> is generated. The link step fails because it cannot locate the library
> dlfcn. To fix the problem I cut and paste the giant c++ command to a
> separate file & edit that file by inserting "-L../dlfcn" right before
> "-ldfcn". I then execute the file, and the link succeeds.
>
> For your curiosity, this is what the c++ command looks like after I've
> edited it. The original c++ line generated by the makefile has the same
> items in the same order, except it lacks the "-L../dlfcn" you'll find at
> the beginning of the 4th from last line.
>
> c++ -I. -I.. -I../liboctave -I../src -I../libcruft/misc -I../dlfcn \
> -I../dlfcn -I../glob -I../glob -DHAVE_CONFIG_H -mminimal-toc \
> -fno-implicit-templates -g -O2 -Wall -L.. -g -o octave octave.o builtins.o \
> ops.o ../libcruft/blas-xtra/xerbla.o balance.o besselj.o betainc.o \
> chol.o colloc.o dassl.o det.o eig.o expm.o fft.o fft2.o filter.o \
> find.o fsolve.o gammainc.o getgrent.o getpwent.o getrusage.o givens.o \
> hess.o ifft.o ifft2.o inv.o log.o lpsolve.o lsode.o lu.o minmax.o \
> pinv.o qr.o quad.o qz.o rand.o schur.o sort.o svd.o syl.o time.o \
> oregonator.o -L../liboctave -L../libcruft -L../src ../src/liboctinterp.a \
> ../liboctave/liboctave.a ../libcruft/libcruft.a ../readline/libreadline.a \
> ../kpathsea/libkpathsea.a ../glob/glob.o ../glob/fnmatch.o \
> -L../dlfcn -ldlfcn -ll -lld -ll -lcurses -lm -lg2c -lm \
> -L/usr/local/gcc/lib/gcc-lib/rs6000-ibm-aix4.3.2.0/2.95.2 \
> -L/usr/local/gcc/lib -lm \
> /usr/local/gcc/lib/gcc-lib/rs6000-ibm-aix4.3.2.0/2.95.2/libgcc.a
>
> -- Al
>
Interesting that this manages to link, but mkoctfile can't seem to link. Just
out
of curiosity, in the mkoctfile script what are SH_LD, SH_LDFLAGS, and ldflags
set to.
I had a problem with dynamic linking that was due to having a broken
installation of
libstdc++.so. Basically, I had a libstdc++.so.2.9.0 in my library search path,
but
there was no file libstdc++.so linked to it. This caused the link stage to use
libstdc++.a so it statically linked that library. Unfortunately this made it
so that
I couldn't create .oct files. It took me a long time to figure out what was
going
wrong, but once I figured it out, I came up with a work around. (I don't have
root
on the machine, and so far I haven't been able to persuade anyone who does that
it is
important).
Anyway, good luck.
Bill
-------------------------------------------------------------
Octave is freely available under the terms of the GNU GPL.
Octave's home on the web: http://www.octave.org
How to fund new projects: http://www.octave.org/funding.html
Subscription information: http://www.octave.org/archive.html
-------------------------------------------------------------