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