help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: octave 2.9.10 pkg and FreeBSD


From: sam sirlin
Subject: Re: octave 2.9.10 pkg and FreeBSD
Date: Sun, 08 Apr 2007 21:00:05 -0700
User-agent: Mozilla/5.0 (X11; U; FreeBSD amd64; en-US; rv:1.7.13) Gecko/20070121

John W. Eaton wrote:

On  6-Apr-2007, sam sirlin wrote:
| - need to add a few -R/usr/local/lib/octave-2.9.10 in Makeconf

Why?  For what rules?
I've been doing this for some time with octave; everywhere I see a -L I add a -R.

Apparently this is also a lib compile issue. I see octave is compiled with the appropriate -rpath, but

celeborn.my.domain{sam} > ldd /usr/local/bin/octave
/usr/local/bin/octave:
liboctinterp.so => /usr/local/lib/octave-2.9.10/liboctinterp.so (0x800633000) liboctave.so => /usr/local/lib/octave-2.9.10/liboctave.so (0x8010d7000) libcruft.so => /usr/local/lib/octave-2.9.10/libcruft.so (0x8017be000)
       libumfpack.so.1 => /usr/local/lib/libumfpack.so.1 (0x80191e000)
       libamd.so.1 => /usr/local/lib/libamd.so.1 (0x801ac4000)
       libcamd.so.1 => /usr/local/lib/libcamd.so.1 (0x801bcb000)
       libcolamd.so.1 => /usr/local/lib/libcolamd.so.1 (0x801cd3000)
       libcholmod.so.1 => /usr/local/lib/libcholmod.so.1 (0x801dd9000)
       libmetis.so.1 => /usr/local/lib/libmetis.so.1 (0x801faf000)
       libccolamd.so.1 => /usr/local/lib/libccolamd.so.1 (0x8020eb000)
       libcxsparse.so.1 => /usr/local/lib/libcxsparse.so.1 (0x8021f4000)
       liblapack.so.4 => /usr/local/lib/liblapack.so.4 (0x80231b000)
       libcblas.so.2 => /usr/local/lib/libcblas.so.2 (0x802924000)
       libf77blas.so.2 => /usr/local/lib/libf77blas.so.2 (0x802a46000)
       libatlas.so.2 => /usr/local/lib/libatlas.so.2 (0x802b67000)
       libfftw3.so.4 => /usr/local/lib/libfftw3.so.4 (0x8033e1000)
       libreadline.so.6 => /lib/libreadline.so.6 (0x8035ed000)
       libncurses.so.6 => /lib/libncurses.so.6 (0x803729000)
       libz.so.3 => /lib/libz.so.3 (0x803884000)
libgfortran.so.2 => /usr/local/lib/gcc-4.2.0/libgfortran.so.2 (0x803998000)
       libm.so.4 => /lib/libm.so.4 (0x803b4c000)
libstdc++.so.6 => /usr/local/lib/gcc-4.2.0/libstdc++.so.6 (0x803c6c000) libgcc_s.so.1 => /usr/local/lib/gcc-4.2.0/libgcc_s.so.1 (0x803e66000)
       libc.so.6 => /lib/libc.so.6 (0x803f73000)
       liboctave.so => not found (0x0)
       libcruft.so => not found (0x0)

so liboctave and libcruft are both found and not found. This is apparently due to them being required by liboctinterp:

celeborn.my.domain{sam} > ldd /usr/local/lib/octave-2.9.10/liboctinterp.so
/usr/local/lib/octave-2.9.10/liboctinterp.so:
       liboctave.so => not found (0x0)
       libcruft.so => not found (0x0)
       libreadline.so.6 => /lib/libreadline.so.6 (0x8012f2000)
       libncurses.so.6 => /lib/libncurses.so.6 (0x80142e000)
       libz.so.3 => /lib/libz.so.3 (0x801589000)
libgfortran.so.2 => /usr/local/lib/gcc-4.2.0/libgfortran.so.2 (0x80169d000)
       libm.so.4 => /lib/libm.so.4 (0x801851000)
libstdc++.so.6 => /usr/local/lib/gcc-4.2.0/libstdc++.so.6 (0x801971000) libgcc_s.so.1 => /usr/local/lib/gcc-4.2.0/libgcc_s.so.1 (0x801b6b000)
       libc.so.6 => /lib/libc.so.6 (0x800634000)

since the libs are not compiled with -rpath...

Changing the src/Makefile:
# sws test
#$(LIBPRE)octinterp.$(SHLEXT): $(PICOBJ) $(PIC_XERBLA)
#    rm -f $@
#    $(SH_LD) $(SH_LDFLAGS) $(SONAME_FLAGS) -o $@ $^ $(OCTINTERP_LINK_DEPS)
$(LIBPRE)octinterp.$(SHLEXT): $(PICOBJ) $(PIC_XERBLA)
   rm -f $@
$(LD_CXX) $(SH_LDFLAGS) $(OCTAVE_LFLAGS) $(SONAME_FLAGS) -o $@ $^ $(OCTINTERP_LINK_DEPS)

This fixes the above, but then starting octave produces:

error: Shared object "libcruft.so" not found, required by "find.oct"
error: `find' undefined near line 76 column 9

so the .oct files also need the rpath as well. So in Makeconf again:
#DL_LDFLAGS = $(SH_LDFLAGS)
DL_LDFLAGS = $(SH_LDFLAGS) $(RLD_FLAG)

This seems to do it. Every time there's a link, some oses need -R or -rpath help.

| Now trying to add the octave forge packages is more messy

Please report these problems to the Octave Forge bug reporting list.

Ok.

Also, bug reports for Octave really should go to the address@hidden
list.



reply via email to

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