help-octave
[Top][All Lists]
Advanced

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

Re: ./configure does not recognize umfpack library.


From: Quentin Spencer
Subject: Re: ./configure does not recognize umfpack library.
Date: Mon, 09 May 2005 11:22:00 -0500
User-agent: Mozilla Thunderbird 1.0.2-1.3.2 (X11/20050324)

David Bateman wrote:

Ananda Murthy R S wrote:

Hello,

I am trying to compile Octave-2.9.2. I downloaded
UMFPACK-0.44 and compiled it as per instructions given
there. After this, I copied libumfpack.a and libamd.a
files to /usr/lib. Now when I run ./configure
--prefix=/usr --build=i486-slackware-linux, it is not
recognizing umfpack library.

I am trying this on Slackware 10.1 system.

Thanks for your help.

Anand

Unfortunately, unless you ae building a static version of octave you'll need to build a dynamic version of UMFPACK. Check the debian/rules file in the debian umfpack for the exact procedure on how to do this. Perhaps Quentin Spencer has a spec file for Fedora...

As a matter of fact, I do, and here it is. I think I tried this and it built correctly, and octave 2.9.x was able to link to it. This is a case of the developer not taking the time to offer options like building dynamic libraries, so packagers unfortunately have to do it themselves. My spec file was based on Debian, which I think is the only distribution that has packaged UMFPACK so far (it's clearly only for a small niche of users). On a non-RPM-based distribution, I would think all you need is a build script that duplicates the %build and %install parts of the spec file. I will eventually try to get this into Fedora Extras, but my short term priority is to get octave 2.1.x and octave-forge in with all their dependencies before I worry about 2.9.x and its new dependencies, so don't count on it right away.

-Quentin

Name:           umfpack
Version:        4.4
Release:        1
Summary:        Routines for solving unsymmetric sparse linear systems

Group:          System Environment/Libraries
License:        Freely distributable
URL:            http://www.cise.ufl.edu/research/sparse/umfpack/
Source0:        
http://www.cise.ufl.edu/research/sparse/umfpack/v4.4/UMFPACKv4.4.tar.gz
Patch0:         umfpack-4.4-make.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

%description
UMFPACK is a set of routines for solving unsymmetric sparse linear
systems, Ax=b, using the Unsymmetric MultiFrontal method. Written in
ANSI/ISO C, with a MATLAB (Version 6.0 and later) interface.

The new code is typically faster than V2.2.1, uses dynamic memory
allocation, and has a symbolic preordering and analysis phase that
also reports the upper bounds on the nonzeros in L and U, flop count,
and memory usage in the numeric phase. It includes a Matlab
interface. V4.x is for real and complex matrices, rectangular and
square, and both non-singular and singular.

%package devel
Summary:        Development headers and files for UMFPACK
Group:          Development/Libraries
Requires:       %{name} = %{version}-%{release}

%description devel
The umfpack-devel package contains files needed for developing
applications which use UMFPACK.


%prep
%setup -q -n UMFPACKv%{version}
%patch0 -p0
#%setup -q -c %{name}-%{version} 
#mv UMFPACKv%{version} shared
#cp -a shared static


%build
%define amd_version 1.1
%define amd_version_major 1
%define version_major 4
pushd AMD
  pushd Source
    make -f Makefile CFLAGS="$RPM_OPT_FLAGS -fPIC" 
    gcc -shared -Wl,-soname,libamd.so.%{amd_version_major} -o 
../Lib/libamd.so.%{amd_version} `ls *.o`
  popd
  cp Lib/*.a Lib/*.so* Include/*.h ..
  cp Doc/License ../AMD_License
  cp Doc/ChangeLog ../AMD_ChangeLog
popd
ln -sf libamd.so.%{amd_version} libamd.so.%{amd_version_major}
ln -sf libamd.so.%{amd_version} libamd.so
pushd UMFPACK
  pushd Source
    make -f Makefile CFLAGS="$RPM_OPT_FLAGS -fPIC" 
    gcc -shared -Wl,-soname,libumfpack.so.%{version_major} -o 
../Lib/libumfpack.so.%{version} `ls *.o` -lblas -lm
  popd
  cp Lib/*.a Lib/*.so* Include/*.h ..
  cp Doc/License ../UMFPACK_License
  cp Doc/ChangeLog ../UMFPACK_ChangeLog
popd
ln -sf libumfpack.so.%{version} libumfpack.so.%{version_major}
ln -sf libumfpack.so.%{version} libumfpack.so


%install
rm -rf ${RPM_BUILD_ROOT}
mkdir -p ${RPM_BUILD_ROOT}%{_libdir}
mkdir -p ${RPM_BUILD_ROOT}%{_includedir}/%{name}
for f in *.a *.so*; do
  cp -a $f ${RPM_BUILD_ROOT}%{_libdir}/$f
done
for f in *.h;  do
  cp -a $f ${RPM_BUILD_ROOT}%{_includedir}/%{name}/$f
done


%clean
rm -rf ${RPM_BUILD_ROOT}

%post
/sbin/ldconfig

%postun
/sbin/ldconfig

#%post devel

#%postun devel

%files
%defattr(-,root,root)
%doc *ChangeLog *License
%{_libdir}/lib*.so.*

%files devel
%defattr(-,root,root)
%doc AMD/Doc/*.pdf UMFPACK/Doc/*.pdf
%{_includedir}/*/*.h
%{_libdir}/lib*.a
%{_libdir}/lib*.so

%changelog
* Mon Mar 28 2005 Quentin Spencer <address@hidden> 4.4-1
- First version.

reply via email to

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