[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Enabling SuiteSparse support during compile (Linux)
From: |
Theo. Sean Schulze |
Subject: |
Re: Enabling SuiteSparse support during compile (Linux) |
Date: |
Wed, 04 Apr 2007 06:08:57 +0200 |
User-agent: |
Thunderbird 1.5.0.10 (X11/20070221) |
Yes, I've used rpms on slackware before, but it's always been just
installing a pre-built rpm. Thanks for the tip, but in the end, I
decided to "go with what I know", and use the script John Swensen
pointed me to on octave-forge.
Things seemed to be going pretty well, and I have all the dependencies
compiled and installed now. At least, I think I do. I am still running
into a compile problem though. Here's the error message I'm getting,
and I hope you all can help me figure out the problem:
gcc -c -I. -I.. -I../liboctave -I../src -I../libcruft/misc
-DHAVE_CONFIG_H -mieee-fp -Wall -W -Wshadow -Wcast-align -Wcast-qual
-Wmissing-prototypes -Wpointer-arith -Wstrict-prototypes -Wwrite-strings
-g -O2 main.c -o main.o
g++ -I. -I.. -I../liboctave -I../src -I../libcruft/misc
-DHAVE_CONFIG_H -mieee-fp -Wall -W -Wshadow -Wold-style-cast
-Wcast-align -Wcast-qual -Wpointer-arith -Wwrite-strings -Weffc++ -g -O2
-rdynamic \
-L.. -fPIC -o octave \
main.o \
-L../liboctave -L../libcruft -L../src -Wl,-rpath
-Wl,/usr/local/lib/octave-2.9.10 \
-loctinterp -loctave -lcruft \
-lumfpack -lamd -lcamd -lcolamd \
-lcholmod -lccolamd -lcxsparse -llapack /usr/local/lib/libgoto.a \
-lfftw3 -lreadline -lncurses -ldl -lhdf5 -lz -lm -larpack
-L/usr/lib/gcc/i486-slackware-linux/3.4.6
-L/usr/lib/gcc/i486-slackware-linux/3.4.6/../../../../i486-slackware-linux/lib
-L/usr/lib/gcc/i486-slackware-linux/3.4.6/../../.. -lhdf5 -lz -lfrtbegin
-lg2c -lm
../liboctave/liboctave.so: undefined reference to `METIS_NodeND'
../liboctave/liboctave.so: undefined reference to
`METIS_NodeComputeSeparator'
collect2: ld returned 1 exit status
make[2]: *** [octave] Error 1
make[2]: Leaving directory `/pub/src/octave-2.9.10/src'
make[1]: *** [src] Error 2
make[1]: Leaving directory `/pub/src/octave-2.9.10'
make: *** [all] Error 2
I am using metis-4.0, and it's files are installed under /usr/local/lib
and /usr/local/include.
Cheers,
Sean
David Bateman wrote:
> Theo. Sean Schulze wrote:
>> Thanks, I'll try it. The linux and the Mac OS X files systems are
>> similar, so it might work. If it doesn't, a little tuning might do the
>> trick.
>>
>
>
> I believe slackware can use RPMs. So take the fedora SRPM rebuild it and
> install it and then rebuild octave. Cut and paste instructions
>
> wget
> ftp://mirror.switch.ch/mirror/fedora/linux/extras/6/SRPMS/ufsparse-2.1.1-1.fc6.src.rpm
> rpm -Uvh ufsparse-2.1.1-1.fc6.src.rpm
> cd /usr/src/RPM/SPECS
> rpm -ba ufsparse.spec
> cd ../RPMS/
> find . -name "ufsparse*" | xargs rpm -Uvh
>
> Rinse and repeat octave build
>
> D.
>
>
>
>> Sean
>>
>> John Swensen wrote:
>>> There is a simple little script that I used from the wiki to copy
>>> everything from the SuiteSparse compile directory to /usr/local. You
>>> can find it at :
>>> http://wiki.octave.org/wiki.pl?OctaveForMac
>>>
>>> At least on my Mac, this copied everything necessary for Octave to find
>>> all the sparse libraries.
>>>
>>> John Swensen
>>>
>>>
>>>
>>> Theo. Sean Schulze wrote:
>>>> Sorry,
>>>>
>>>> I had also meant to include this output from ./configure:
>>>>
>>>> Octave is now configured for i686-pc-linux-gnu
>>>>
>>>> Source directory: .
>>>> Installation prefix: /usr/local
>>>> C compiler: gcc -mieee-fp -Wall -W -Wshadow -Wcast-align
>>>> -Wcast-qual -Wmissing-prototypes -Wpointer-arith -Wstrict-prototypes
>>>> -Wwrite-strings -g -O2
>>>> C++ compiler: g++ -mieee-fp -Wall -W -Wshadow
>>>> -Wold-style-cast -Wcast-align -Wcast-qual -Wpointer-arith
>>>> -Wwrite-strings -Weffc++ -g -O2
>>>> Fortran compiler: g77 -O -mieee-fp
>>>> Fortran libraries: -L/usr/lib/gcc/i486-slackware-linux/3.4.6
>>>> -L/usr/lib/gcc/i486-slackware-linux/3.4.6/../../../../i486-slackware-linux/lib
>>>>
>>>> -L/usr/lib/gcc/i486-slackware-linux/3.4.6/../../.. -lz -lfrtbegin
>>>> -lg2c -lm
>>>> BLAS libraries: -llapack /usr/local/lib/libgoto.a
>>>> FFTW libraries:
>>>> GLPK libraries:
>>>> UMFPACK libraries:
>>>> AMD libraries: -lamd
>>>> CAMD libraries: -lcamd
>>>> COLAMD libraries:
>>>> CCOLAMD libraries:
>>>> CHOLMOD libraries:
>>>> CXSPARSE libraries:
>>>> ARPACK libraries:
>>>> HDF5 libraries:
>>>> CURL libraries: -lcurl
>>>> REGEX libraries: -lpcre
>>>> LIBS: -lreadline -lncurses -ldl -lz -lm
>>>> Default pager: less
>>>> gnuplot: gnuplot
>>>>
>>>> Do internal array bounds checking: false
>>>> Build static libraries: false
>>>> Build shared libraries: true
>>>> Dynamic Linking: true (dlopen)
>>>> Include support for GNU readline: true
>>>> 64-bit array dims and indexing: false
>>>>
>>>> configure: WARNING: I didn't find gperf, but it's only a problem if you
>>>> need to reconstruct oct-gperf.h
>>>> configure: WARNING: UMFPACK not found. This will result in some lack of
>>>> functionality for sparse matrices.
>>>> configure: WARNING: COLAMD not found. This will result in some lack of
>>>> functionality for sparse matrices.
>>>> configure: WARNING: CCOLAMD not found. This will result in some lack of
>>>> functionality for sparse matrices.
>>>> configure: WARNING: CHOLMOD not found. This will result in some lack of
>>>> functionality for sparse matrices.
>>>> configure: WARNING: CXSparse not found. This will result in some lack of
>>>> functionality for sparse matrices.
>>>> configure: WARNING: FFTW library not found. Octave will use the
>>>> (slower) FFTPACK library instead.
>>>> configure: WARNING: HDF5 library not found. Octave will not be able to
>>>> save or load HDF5 data files.
>>>> configure:
>>>>
>>>> NOTE: libraries may be skipped if a library is not found OR
>>>> if the library on your system is missing required features.
>>>>
>>>> Regards,
>>>> Sean
>>>>
>>>> Theo. Sean Schulze wrote:
>>>>
>>>>> Hello,
>>>>>
>>>>> I compiled octave 2.9.10 the other day on my slackware linux box, but
>>>>> when I did the tests, I got a number of failures, many of which were
>>>>> with sparse matrix functions. So, I went to the trouble of getting the
>>>>> SuiteSparce and its dependencies GotoBLAS, LAPACK, and metis. I
>>>>> compiled them all. Install was not really that straight forward for me,
>>>>> because I am used to software packages that copy the libraries created
>>>>> to /usr/local/lib/ when I run `make install`. I ended up copying
>>>>> several of the lib*.a files to /usr/local/lib by hand, but for the most
>>>>> part, at least up to compiling SuiteSparse, it seemed to work.
>>>>>
>>>>> I am frustrated now though, because despite the fact that I copied every
>>>>> *.a file I could find in the SuiteSparse package to both directly into
>>>>> /usr/local/lib and into the /usr/local/lib using the subdirectory
>>>>> structure that occurs in the SuiteSparse source directory (./AMD/,
>>>>> ./BTF/, etc.), configure still can not find the libraries or header
>>>>> files it is looking for. I have even copied the entire SuiteSparse
>>>>> source directory into the octave source directory, but that hasn't
>>>>> worked either.
>>>>>
>>>>> Clearly there is something about the compiling and installing process
>>>>> that I don't understand, and I would be grateful for some pointers on
>>>>> what I am doing wrong.
>>>>>
>>>>> BTW, is it standard among mathematical packages that `make install` just
>>>>> leaves the files resulting from the compile in the source directory?
>>>>>
>>>>> Regards,
>>>>> Sean
>>>>>
>>>>>
>>>> _______________________________________________
>>>> Help-octave mailing list
>>>> address@hidden
>>>> https://www.cae.wisc.edu/mailman/listinfo/help-octave
>>>>
>>>>
>
>