help-octave
[Top][All Lists]
Advanced

[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
-------------------------------------------------------------



reply via email to

[Prev in Thread] Current Thread [Next in Thread]