Giter VIP home page Giter VIP logo

suitesparse's Introduction

SuiteSparse with autotools

This repository is a suite of scripts to re-package and build the SuiteSparse library. You may be more interested in the final tar balls. Download the latest tar balls at:

http://dev.gentoo.org/~bicatali/distfiles/

The repacking replaces the original well crafted but not portable Makefile with more standard autotools packaging and some other minor changes. This was originally done mostly to satisfy Linux distributions QA, but also adds usability and robustness to the original packaging. Gentoo Linux re-distributes all source code with this packaging.

What is done:

  • add configure.ac, Makefile.am, m4 macros, pkg-config files for all SuiteSparse libraries
  • a few tricks to avoid conflicting files during tests

What you get:

The usual configure/make/make install goodies:

  • no need to edit makefile's, options are passed with the configure script
  • build shared libraries simply with "./configure --enable-shared", build static libraries without PIC
  • run unit tests for each library with "make check"
  • cross-compiling, parallel building with "make -j N"
  • easy to package for Linux distributors

Users can compile and link suitesparse libraries with a simple call to pkg-config, i.e.:

pkg-config --cflags cholmod   
pkg-config --libs cholmod

All C source code is unmodified.

To build the versioned tar balls, see INSTALL.md. Fetch the resulting tar balls from the Downloads link below.

Resources

SuiteSparse web site: http://www.cise.ufl.edu/research/sparse/SuiteSparse/

Download: http://dev.gentoo.org/~bicatali/distfiles/

Git repository / bug reports / pull requests: https://github.com/sfabbro/suitesparse

suitesparse's People

Contributors

benkirk avatar sfabbro avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

suitesparse's Issues

patch for cygwin

Dear Sebastien,
testing your autoconf on cygwin, I needed some changes.
Full patch available here:

http://matzeri.altervista.org/works/suitesparse/

  • innocuous typo on "AMD/configure.ac"
  • due to case insensitive file system "CHOLMOD/Core" collides with automake "rm -f core" so I renamed "CHOLMOD/Core" to "CHOLMOD/Cored"
  • the tests programs have already a fail code on exit so testing for that exit code is more effective than using diff . On cygwin all the diffs fail as the platform is 32 bit, so memory size does not match.
  • on addons/m4/ax_check_pkg_lib.m4 the AC_CHECK_LIB is called without LIBS as they are attached to LDFLAGS. But on windows platforms the order matters and this approach fails. Mine is a just workaround, as I am not fluent on m4, instead of a proper implementation.
  • due to Metis License. The default should be without metis.
  • SPQR built without tbb

CXSparse test

Matrix directory needed for "Make check"

--- addons/CXSparse/Makefile.am~ 2012-11-21 15:44:40.000000000 +0100
+++ addons/CXSparse/Makefile.am 2013-01-07 21:50:17.555034700 +0100
@@ -5,6 +5,6 @@

SUBDIRS = Source Demo Doc

-EXTRA_DIST += MATLAB
+EXTRA_DIST += MATLAB Matrix

include_HEADERS = Include/cs.h

CHOLMOD Cored/Makefile.am doesn't exist?

First off, thanks a lot for this!

When trying to build CHOLMOD, I get this:

~/codes/suitesparse
Successfully built SuiteSparse/BTF/btf-1.2.0.tar.gz now in distfiles
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal -I m4
autoreconf: configure.ac: tracing
autoreconf: running: glibtoolize --copy
glibtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `config'.
glibtoolize: copying file `config/ltmain.sh'
glibtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
glibtoolize: copying file `m4/libtool.m4'
glibtoolize: copying file `m4/ltoptions.m4'
glibtoolize: copying file `m4/ltsugar.m4'
glibtoolize: copying file `m4/ltversion.m4'
glibtoolize: copying file `m4/lt~obsolete.m4'
autoreconf: running: /opt/local/bin/autoconf
autoreconf: running: /opt/local/bin/autoheader
autoreconf: running: automake --add-missing --copy --no-force
configure.ac:13: installing 'config/config.guess'
configure.ac:13: installing 'config/config.sub'
configure.ac:8: installing 'config/install-sh'
configure.ac:8: installing 'config/missing'
Check/Makefile.am: installing 'config/depcomp'
configure.ac:209: error: required file 'Cored/Makefile.in' not found
autoreconf: automake failed with exit status: 1
!! FAILED - See above

and sure enough,

$ find SuiteSparse/CHOLMOD -name Makefile.am
SuiteSparse/CHOLMOD/Check/Makefile.am
SuiteSparse/CHOLMOD/Cholesky/Makefile.am
SuiteSparse/CHOLMOD/Demo/Makefile.am
SuiteSparse/CHOLMOD/Doc/Makefile.am
SuiteSparse/CHOLMOD/Include/Makefile.am
SuiteSparse/CHOLMOD/Makefile.am
SuiteSparse/CHOLMOD/MatrixOps/Makefile.am
SuiteSparse/CHOLMOD/Modify/Makefile.am
SuiteSparse/CHOLMOD/Partition/Makefile.am
SuiteSparse/CHOLMOD/Supernodal/Makefile.am

that is, there is no Cored Makefile.am created?

Thanks,

-Ben

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.