Skip to content

Commit

Permalink
Remove ARPACK and derived functions from julia repo (JuliaLang#27616)
Browse files Browse the repository at this point in the history
* Remove ARPACK and derived functions from julia repo

* Update docs/Manifest.toml

* fix Pkg tests to not rely on Compat

* Update to latest release of Compat
  • Loading branch information
andreasnoack committed Jun 18, 2018
1 parent 7744985 commit 49254a4
Show file tree
Hide file tree
Showing 27 changed files with 31 additions and 1,576 deletions.
5 changes: 2 additions & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -84,19 +84,18 @@ before_install:
contrib/travis_fastfail.sh || exit 1;
brew tap staticfloat/julia > /dev/null;
brew rm --force $(brew deps --HEAD julia);
brew install -v gcc gmp mpfr pcre2 staticfloat/julia/openblas-julia staticfloat/julia/arpack-julia staticfloat/julia/suite-sparse-julia staticfloat/juliadeps/libgfortran;
brew install -v gcc gmp mpfr pcre2 staticfloat/julia/openblas-julia staticfloat/julia/suite-sparse-julia staticfloat/juliadeps/libgfortran;
BUILDOPTS="-j3 USECLANG=1 USECCACHE=1 BINARYBUILDER_TRIPLET=x86_64-apple-darwin14";
BUILDOPTS="$BUILDOPTS USE_BINARYBUILDER_LLVM=1 LLVM_CONFIG=$TRAVIS_BUILD_DIR/usr/tools/llvm-config LLVM_SIZE=$TRAVIS_BUILD_DIR/usr/tools/llvm-size";
BUILDOPTS="$BUILDOPTS VERBOSE=1 USE_BLAS64=0 SUITESPARSE_INC=-I$(brew --prefix suite-sparse-julia)/include FORCE_ASSERTIONS=1";
BUILDOPTS="$BUILDOPTS LIBBLAS=-lopenblas LIBBLASNAME=libopenblas LIBLAPACK=-lopenblas LIBLAPACKNAME=libopenblas";
for lib in SUITESPARSE ARPACK BLAS LAPACK GMP MPFR PCRE LIBUNWIND; do
for lib in SUITESPARSE BLAS LAPACK GMP MPFR PCRE LIBUNWIND; do
BUILDOPTS="$BUILDOPTS USE_SYSTEM_$lib=1";
done;
export LDFLAGS="-L$(brew --prefix openblas-julia)/lib -L$(brew --prefix suite-sparse-julia)/lib";
spawn_DYLD_FALLBACK_LIBRARY_PATH="/usr/local/lib:/lib:/usr/lib";
spawn_DYLD_FALLBACK_LIBRARY_PATH+=":$(brew --prefix openblas-julia)/lib";
spawn_DYLD_FALLBACK_LIBRARY_PATH+=":$(brew --prefix suite-sparse-julia)/lib";
spawn_DYLD_FALLBACK_LIBRARY_PATH+=":$(brew --prefix arpack-julia)/lib";
export JULIA_MACOS_SPAWN="DYLD_FALLBACK_LIBRARY_PATH=\"$spawn_DYLD_FALLBACK_LIBRARY_PATH\" \$1";
export BUILDOPTS="$BUILDOPTS spawn=\$(JULIA_MACOS_SPAWN)";
make $BUILDOPTS -C contrib -f repackage_system_suitesparse4.make;
Expand Down
8 changes: 0 additions & 8 deletions Make.inc
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@ USE_SYSTEM_BLAS:=0
USE_SYSTEM_LAPACK:=0
USE_SYSTEM_GMP:=0
USE_SYSTEM_MPFR:=0
USE_SYSTEM_ARPACK:=0
USE_SYSTEM_SUITESPARSE:=0
USE_SYSTEM_LIBUV:=0
USE_SYSTEM_UTF8PROC:=0
Expand Down Expand Up @@ -1075,16 +1074,9 @@ MKLLIB := $(MKLROOT)/lib/ia32
endif
USE_SYSTEM_BLAS:=1
USE_SYSTEM_LAPACK:=1
ifeq ($(OS), WINNT)
LIBBLASNAME := mkl_rt
LIBLAPACKNAME := mkl_rt
# work around libtool issue with arpack
MKL_LDFLAGS := -L$(MKLLIB) -Wl,-lmkl_rt
else
LIBBLASNAME := libmkl_rt
LIBLAPACKNAME := libmkl_rt
MKL_LDFLAGS := -L$(MKLLIB) -lmkl_rt
endif
ifneq ($(strip $(MKLLIB)),)
ifeq ($(OS), Linux)
RPATH_MKL := -Wl,-rpath,$(MKLLIB)
Expand Down
1 change: 0 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -225,7 +225,6 @@ JL_PRIVATE_LIBS-$(USE_SYSTEM_LIBSSH2) += libssh2
JL_PRIVATE_LIBS-$(USE_SYSTEM_MBEDTLS) += libmbedtls libmbedcrypto libmbedx509
JL_PRIVATE_LIBS-$(USE_SYSTEM_CURL) += libcurl
JL_PRIVATE_LIBS-$(USE_SYSTEM_LIBGIT2) += libgit2
JL_PRIVATE_LIBS-$(USE_SYSTEM_ARPACK) += libarpack
ifeq ($(USE_LLVM_SHLIB),1)
JL_PRIVATE_LIBS-$(USE_SYSTEM_LLVM) += libLLVM
endif
Expand Down
5 changes: 2 additions & 3 deletions NEWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -1130,9 +1130,6 @@ Deprecated or removed
`normalize`, and moved to the new `Unicode` standard library module.
`graphemes` has also been moved to that module ([#25021]).

* The functions `eigs` and `svds` have been moved to the `IterativeEigensolvers` standard
library module ([#24714]).

* Sparse array functionality has moved to the `SparseArrays` standard library module ([#25249]).

* Linear algebra functionality, and specifically the `LinAlg` module has moved to the
Expand Down Expand Up @@ -1272,6 +1269,8 @@ Deprecated or removed

* `atan2` is now a 2-argument method of `atan` ([#27248]).

* The functions `eigs` and `svds` have been moved to the `Arpack.jl` package ([#27616]).

Command-line option changes
---------------------------

Expand Down
3 changes: 1 addition & 2 deletions README.arm.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,12 @@ override USE_SYSTEM_LAPACK=1
override USE_SYSTEM_LIBM=1
override USE_SYSTEM_GMP=1
override USE_SYSTEM_MPFR=1
override USE_SYSTEM_ARPACK=1
````

The following command will install all the necessary libraries on Ubuntu:

````
sudo apt-get install libblas3gf liblapack3gf libarpack2 libgmp3-dev \
sudo apt-get install libblas3gf liblapack3gf libgmp3-dev \
libmpfr-dev libblas-dev liblapack-dev cmake gcc-4.8 \
g++-4.8 gfortran libgfortran3 m4 libedit-dev
````
Expand Down
2 changes: 0 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -309,7 +309,6 @@ Julia uses the following external libraries, which are automatically downloaded
- **[LAPACK]** (>= 3.5) — library of linear algebra routines for solving systems of simultaneous linear equations, least-squares solutions of linear systems of equations, eigenvalue problems, and singular value problems.
- **[MKL]** (optional) – OpenBLAS and LAPACK may be replaced by Intel's MKL library.
- **[SuiteSparse]** (>= 4.1) — library of linear algebra routines for sparse matrices (see [note below](#suitesparse)).
- **[ARPACK]** — collection of subroutines designed to solve large, sparse eigenvalue problems.
- **[PCRE]** (>= 10.00) — Perl-compatible regular expressions library.
- **[GMP]** (>= 5.0) — GNU multiple precision arithmetic library, needed for `BigInt` support.
- **[MPFR]** (>= 3.0) — GNU multiple precision floating point library, needed for arbitrary precision floating point (`BigFloat`) support.
Expand Down Expand Up @@ -339,7 +338,6 @@ Julia uses the following external libraries, which are automatically downloaded
[LAPACK]: http:https://www.netlib.org/lapack
[MKL]: http:https://software.intel.com/en-us/articles/intel-mkl
[SuiteSparse]: http:https://faculty.cse.tamu.edu/davis/suitesparse.html
[ARPACK]: http:https://forge.scilab.org/index.php/p/arpack-ng
[PCRE]: http:https://www.pcre.org
[LLVM]: http:https://www.llvm.org
[FemtoLisp]: https://github.com/JeffBezanson/femtolisp
Expand Down
1 change: 0 additions & 1 deletion base/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,6 @@ $(eval $(call symlink_system_library,$(LIBLAPACKNAME),LAPACK))
endif
$(eval $(call symlink_system_library,libgmp,GMP))
$(eval $(call symlink_system_library,libmpfr,MPFR))
$(eval $(call symlink_system_library,libarpack,ARPACK))
$(eval $(call symlink_system_library,libmbedtls,MBEDTLS))
$(eval $(call symlink_system_library,libssh2,LIBSSH2))
$(eval $(call symlink_system_library,libcurl,CURL))
Expand Down
2 changes: 2 additions & 0 deletions base/deprecated.jl
Original file line number Diff line number Diff line change
Expand Up @@ -1720,6 +1720,8 @@ end

@deprecate atan2(y, x) atan(y, x)

@deprecate_moved eigs "Arpack"
@deprecate_moved svds "Arpack"

# END 0.7 deprecations

Expand Down
4 changes: 0 additions & 4 deletions base/sysimg.jl
Original file line number Diff line number Diff line change
Expand Up @@ -520,7 +520,6 @@ let
:Future,
:OldPkg,
:LinearAlgebra,
:IterativeEigensolvers,
:SparseArrays,
:SuiteSparse,
:SharedArrays,
Expand Down Expand Up @@ -647,9 +646,6 @@ end
@eval @deprecate_stdlib $(Symbol("@dateformat_str")) Dates true
@deprecate_stdlib now Dates true

@deprecate_stdlib eigs IterativeEigensolvers true
@deprecate_stdlib svds IterativeEigensolvers true

@eval @deprecate_stdlib $(Symbol("@printf")) Printf true
@eval @deprecate_stdlib $(Symbol("@sprintf")) Printf true

Expand Down
11 changes: 3 additions & 8 deletions contrib/fixup-libgfortran.sh
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,6 @@ fi

private_libdir=$1

if [ ! -f "$private_libdir/libarpack.$SHLIB_EXT" ]; then
echo "ERROR: Could not open $private_libdir/libarpack.$SHLIB_EXT" >&2
exit 2
fi

find_shlib()
{
lib_path="$1"
Expand All @@ -52,7 +47,7 @@ private_libname()
}

# First, discover all the places where libgfortran/libgcc is, as well as their true SONAMES
for lib in arpack lapack; do
for lib in lapack; do
if [ -f "$private_libdir/lib$lib.$SHLIB_EXT" ]; then
# Find the paths to the libraries we're interested in. These are almost
# always within the same directory, but we like to be general.
Expand Down Expand Up @@ -125,11 +120,11 @@ change_linkage()
}

# For every library that remotely touches libgfortran stuff (the libraries we
# have copied in ourselves as well as arpack, etc...) we must
# have copied in ourselves) we must
# update the linkage to point to @rpath (on OSX) or $ORIGIN (on Linux) so
# that direct links to the old libgfortran directories are instead directed
# to the proper location, which is our $private_libdir.
for lib in libopenblas libarpack libcholmod liblapack $SONAMES; do
for lib in libopenblas libcholmod liblapack $SONAMES; do
# Grab every incarnation of that library that exists within $private_libdir
# (e.g. "libopenblas.so", and "libopenblas.so.0", etc...)
for lib_path in $private_libdir/$lib*; do
Expand Down
4 changes: 2 additions & 2 deletions contrib/vagrant/Vagrantfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ $script = <<SCRIPT
cat - > /home/vagrant/.bash_aliases <<"EOF"
export JULIA_VAGRANT_BUILD=1
BUILDOPTS="LLVM_CONFIG=llvm-config-3.3 USE_BLAS64=0"
for lib in LLVM ZLIB SUITESPARSE ARPACK BLAS LAPACK GMP MPFR PCRE LIBUNWIND GRISU OPENLIBM; do
for lib in LLVM ZLIB SUITESPARSE BLAS LAPACK GMP MPFR PCRE LIBUNWIND GRISU OPENLIBM; do
export BUILDOPTS="$BUILDOPTS USE_SYSTEM_$lib=1"
done
Expand All @@ -16,7 +16,7 @@ apt-get update -qq -y
apt-get install python-software-properties -y
add-apt-repository ppa:staticfloat/julia-deps -y
apt-get update -qq -y
apt-get install g++ git make patchelf gfortran llvm-3.3 libsuitesparse-dev libopenblas-dev liblapack-dev libarpack2-dev libgmp-dev libpcre3-dev libunwind8-dev libmpfr-dev cmake -y
apt-get install g++ git make patchelf gfortran llvm-3.3 libsuitesparse-dev libopenblas-dev liblapack-dev libgmp-dev libpcre3-dev libunwind8-dev libmpfr-dev cmake -y
SCRIPT

Vagrant.configure("2") do |config|
Expand Down
9 changes: 2 additions & 7 deletions deps/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ include $(SRCDIR)/tools/git-external.mk
# additionally all targets should be listed in the getall target for easier off-line compilation
# if you are adding a new target, it can help to copy an similar, existing target
#
# autoconf configure-driven scripts: llvm pcre arpack unwind gmp mpfr patchelf libuv curl
# autoconf configure-driven scripts: llvm pcre unwind gmp mpfr patchelf libuv curl
# custom Makefile rules: openlibm dsfmt suitesparse-wrapper suitesparse lapack openblas utf8proc objconv osxunwind libwhich
# CMake libs: libgit2 libssh2 mbedtls
#
Expand Down Expand Up @@ -126,10 +126,6 @@ ifeq ($(USE_SYSTEM_MPFR), 0)
DEP_LIBS += mpfr
endif

ifeq ($(USE_SYSTEM_ARPACK), 0)
DEP_LIBS += arpack
endif

ifeq ($(USE_GPL_LIBS), 1)
ifeq ($(USE_SYSTEM_SUITESPARSE), 0)
DEP_LIBS += suitesparse
Expand Down Expand Up @@ -172,7 +168,7 @@ uninstall: $(addprefix uninstall-, $(DEP_LIBS_STAGED))
cleanall: $(addprefix clean-, $(DEP_LIBS))
distcleanall: $(addprefix distclean-, $(DEP_LIBS))
rm -rf $(build_prefix)
getall: get-llvm get-libuv get-pcre get-openlibm get-dsfmt get-openblas get-lapack get-suitesparse get-arpack get-unwind get-osxunwind get-gmp get-mpfr get-patchelf get-utf8proc get-objconv get-mbedtls get-libssh2 get-curl get-libgit2 get-libwhich
getall: get-llvm get-libuv get-pcre get-openlibm get-dsfmt get-openblas get-lapack get-suitesparse get-unwind get-osxunwind get-gmp get-mpfr get-patchelf get-utf8proc get-objconv get-mbedtls get-libssh2 get-curl get-libgit2 get-libwhich

include $(SRCDIR)/llvm.mk
include $(SRCDIR)/libuv.mk
Expand All @@ -181,7 +177,6 @@ include $(SRCDIR)/openlibm.mk
include $(SRCDIR)/dsfmt.mk
include $(SRCDIR)/objconv.mk
include $(SRCDIR)/blas.mk
include $(SRCDIR)/arpack.mk
include $(SRCDIR)/utf8proc.mk
include $(SRCDIR)/suitesparse.mk
include $(SRCDIR)/unwind.mk
Expand Down
104 changes: 0 additions & 104 deletions deps/arpack.mk

This file was deleted.

Loading

0 comments on commit 49254a4

Please sign in to comment.