Hello community, here is the log from the commit of package arpack-ng for openSUSE:Factory checked in at 2016-07-09 09:25:02 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/arpack-ng (Old) and /work/SRC/openSUSE:Factory/.arpack-ng.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "arpack-ng" Changes: -------- --- /work/SRC/openSUSE:Factory/arpack-ng/arpack-ng.changes 2016-06-07 23:46:49.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.arpack-ng.new/arpack-ng.changes 2016-07-09 09:25:22.000000000 +0200 @@ -1,0 +2,6 @@ +Fri Jul 8 09:38:13 UTC 2016 - [email protected] + +- Update to version 3.4.0 + * Build system updates + +------------------------------------------------------------------- Old: ---- arpack-ng-3.3.0.tar.gz New: ---- arpack-ng-3.4.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ arpack-ng.spec ++++++ --- /var/tmp/diff_new_pack.C2SCbC/_old 2016-07-09 09:25:24.000000000 +0200 +++ /var/tmp/diff_new_pack.C2SCbC/_new 2016-07-09 09:25:24.000000000 +0200 @@ -26,7 +26,7 @@ %define _mpi openmpi %endif Name: arpack-ng -Version: 3.3.0 +Version: 3.4.0 Release: 0 Summary: Fortran77 subroutines for solving large scale eigenvalue problems License: BSD-3-Clause ++++++ arpack-ng-3.3.0.tar.gz -> arpack-ng-3.4.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arpack-ng-3.3.0/.travis.yml new/arpack-ng-3.4.0/.travis.yml --- old/arpack-ng-3.3.0/.travis.yml 2015-10-12 09:23:54.000000000 +0200 +++ new/arpack-ng-3.4.0/.travis.yml 2016-07-02 21:52:15.000000000 +0200 @@ -9,14 +9,26 @@ apt: packages: - gfortran - - libopenblas-dev + - libblas-dev - liblapack-dev - libopenmpi-dev - openmpi-bin +env: + - BUILD=cmake + - BUILD=configure + +before_script: + - if [ "$BUILD" == "cmake" ]; then mkdir build ; fi + - if [ "$BUILD" == "cmake" ]; then cd build ; fi + - if [ "$BUILD" == "cmake" ]; then cmake -D EXAMPLES=ON -D MPI=ON .. ; fi + script: - - ./bootstrap - - ./configure --enable-mpi - - make all - - make check - - make distcheck + # CMAKE + - if [ "$BUILD" == "cmake" ]; then make all check ; fi + # CONFIGURE + - if [ "$BUILD" == "configure" ]; then ./bootstrap ; fi + - if [ "$BUILD" == "configure" ]; then ./configure --enable-mpi ; fi + - if [ "$BUILD" == "configure" ]; then make all ; fi + - if [ "$BUILD" == "configure" ]; then make check ; fi + - if [ "$BUILD" == "configure" ]; then make distcheck ; fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arpack-ng-3.3.0/CHANGES new/arpack-ng-3.4.0/CHANGES --- old/arpack-ng-3.3.0/CHANGES 2015-10-12 09:23:54.000000000 +0200 +++ new/arpack-ng-3.4.0/CHANGES 2016-07-02 21:52:15.000000000 +0200 @@ -1,4 +1,17 @@ +arpack-ng - 3.4.0 + + [ Milan Bouchet-Valat] + * Allow adding suffixes to symbols and library names to build ILP64 version + based on ILP64 BLAS/LAPACK with suffixes. This avoids conflicts when loading + libraries with different integer sizes in the same program. + + [ Martin Reuter ] + * Add the support of cmake build system + + -- Sylvestre Ledru <[email protected]> Sat, 02 Jul 2016 21:51:52 +0200 + arpack-ng - 3.3.0 + [ Denis Davydov ] * Rename pdlamch to pdlamch10 to avoid symbol collision with Scalapack 2.0.2 in MPI context. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arpack-ng-3.3.0/CMakeLists.txt new/arpack-ng-3.4.0/CMakeLists.txt --- old/arpack-ng-3.3.0/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/arpack-ng-3.4.0/CMakeLists.txt 2016-07-02 21:52:15.000000000 +0200 @@ -0,0 +1,391 @@ +cmake_minimum_required(VERSION 2.8.6) +project(arpack) + +# Adopted from https://github.com/feymark/arpack.git + +enable_language(Fortran) + +option(MPI "Enable parallel support" OFF) +#option(SYSTEM_BLAS "Use system BLAS" ON) +#option(SYSTEM_LAPACK "Use system LAPACK" ON) +option(EXAMPLES "Compile ARPACK examples" OFF) +set(LIBSUFFIX "" + CACHE STRING "suffix to add to ARPACK libraries names") +set(SYMBOLSUFFIX "" + CACHE STRING "suffix to add to ARPACK, BLAS and LAPACK function names") +option(INTERFACE64 "use the 64-bit integer interface (ILP64) for ARPACK, BLAS and LAPACK") + +set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) + +function(prefixlist list_name prefix) + set(${list_name}_TMP) + foreach(l ${${list_name}}) + list(APPEND ${list_name}_TMP ${prefix}${l} ) + endforeach() + set(${list_name} "${${list_name}_TMP}" PARENT_SCOPE) +endfunction(prefixlist) + +function(examples list_name) + foreach(l ${${list_name}}) + get_filename_component(lwe ${l} NAME_WE) + add_executable(${lwe} ${arpackexample_DIR}/${l} ${examples_EXTRA_SRCS}) + target_link_libraries(${lwe} arpack ${BLAS_LIBRARIES} ${LAPACK_LIBRARIES}) + endforeach() +endfunction(examples) + +function(pexamples list_name) + foreach(l ${${list_name}}) + get_filename_component(lwe ${l} NAME_WE) + add_executable(${lwe} ${parpackexample_DIR}/${l} ) + target_link_libraries(${lwe} parpack arpack ${MPI_Fortran_LIBRARIES}) + endforeach() +endfunction(pexamples) + +#if (SYSTEM_BLAS) + find_package(BLAS REQUIRED) +#endif() +#if (BLAS_LIBRARIES) +# set(SYSTEM_BLAS ON) +#endif() + +if (MPI) + include(FindMPI) + find_package(MPI REQUIRED) + include_directories(${MPI_Fortran_INCLUDE_PATH}) + set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} ${MPI_Fortran_COMPILE_FLAG}") +endif() + +#if (SYSTEM_LAPACK) + find_package(LAPACK REQUIRED) +#endif() +#if (BLAS_LIBRARIES) +# set(SYSTEM_LAPACK ON) +#endif() + +if (MPI) + set(parpackutil_DIR ${arpack_SOURCE_DIR}/PARPACK/UTIL/) + set(parpacksrc_DIR ${arpack_SOURCE_DIR}/PARPACK/SRC/) +endif() + +#if (NOT SYSTEM_BLAS) +# file(GLOB arpackblas_STAT_SRCS blas/*.f) +#endif() +#if (NOT SYSTEM_LAPACK) +# file(GLOB arpacklapack_STAT_SRCS lapack/*.f) +#endif() +#file(GLOB arpackutil_STAT_SRCS util/*.f) +file(GLOB arpacksrc_STAT_SRCS SRC/*.f) + +set(arpackutil_STAT_SRCS + UTIL/icnteq.f + UTIL/icopy.f + UTIL/iset.f + UTIL/iswap.f + UTIL/ivout.f + UTIL/second_NONE.f + UTIL/svout.f + UTIL/smout.f + UTIL/dvout.f + UTIL/dmout.f + UTIL/cvout.f + UTIL/cmout.f + UTIL/zvout.f + UTIL/zmout.f ) + + +if (MPI) + file(GLOB parpackutil_STAT_SRCS PARPACK/UTIL/MPI/*.f) + file(GLOB parpacksrc_STAT_SRCS PARPACK/SRC/MPI/*.f) +endif() + +#add_library(arpack SHARED +# ${arpackblas_STAT_SRCS} +# ${arpacklapack_STAT_SRCS} +# ${arpackutil_STAT_SRCS} +# ${arpacksrc_STAT_SRCS}) +add_library(arpack + ${arpackutil_STAT_SRCS} + ${arpacksrc_STAT_SRCS}) + +target_link_libraries(arpack ${BLAS_LIBRARIES}) +target_link_libraries(arpack ${LAPACK_LIBRARIES}) +set_target_properties(arpack PROPERTIES OUTPUT_NAME arpack${LIBSUFFIX}) + +if (MPI) +# add_library(parpack SHARED + add_library(parpack + ${parpacksrc_STAT_SRCS} + ${parpackutil_STAT_SRCS}) + + target_link_libraries(parpack ${MPI_Fortran_LIBRARIES}) + set_target_properties(parpack PROPERTIES OUTPUT_NAME parpack${LIBSUFFIX}) +endif () + +if (INTERFACE64) + if ("${CMAKE_Fortran_COMPILER_ID}" MATCHES "GNU") + set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fdefault-integer-8") + elseif ("${CMAKE_Fortran_COMPILER_ID}" MATCHES "Intel") + set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -i8") + else () + message(WARNING "build script does not know how to make your Fortran compiler use 64-bit integers: set it manually via FFLAGS.") + endif () + + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DBLASINT=int64_t") +endif () + +if (SYMBOLSUFFIX) + if ("${CMAKE_Fortran_COMPILER_ID}" MATCHES "GNU") + set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -cpp -ffixed-line-length-none") + elseif ("${CMAKE_Fortran_COMPILER_ID}" MATCHES "Intel") + set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fpp -extend-source") + else () + message(WARNING "build script does not know how to enable your Fortran compiler's preprocessor and support for lines longer than 72 characters: set them manually via FFLAGS.") + endif () + + set(SCALARFUNS naitr napps naup2 naupd nconv neigh neupd ngets statn saitr sapps saup2 saupd sconv seigt seupd sgets stats getv0 sortc sortr sesrt stqrb) + set(COMPLEXFUNS, naitr napps naup2 naupd neigh neupd ngets statn getv0 sortc) + + set(BLASFUNS1 axpy copy gemv geqr2 lacpy lae2 lahqr lanhs larnv lartg lascl laset lasrt scal trevc trmm trsen gbmv gbtrf gbtrs gttrf gttrs pttrf pttrs) + set(BLASFUNS2 dot ger labad laev2 lamch lanst lanv2 lapy2 larf larfg lasr nrm2 orm2r rot steqr swap) + set(BLASFUNS3 dotc geru unm2r) + set(BLASFUNS4 COPY LABAD LAMCH LANHS LANV2 LARFG ROT GEMV) + set(BLASFUNS5 scnrm2 dznrm2 csscal zdscal) + + foreach (f IN LISTS SCALARFUNS BLASFUNS1 BLASFUNS2) + set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -Ds${f}=s${f}${SYMBOLSUFFIX} -Dd${f}=d${f}${SYMBOLSUFFIX}") + endforeach () + + foreach (f IN LISTS COMPLEXFUNS BLASFUNS1 BLASFUNS3) + set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -Dc${f}=c${f}${SYMBOLSUFFIX} -Dz${f}=z${f}${SYMBOLSUFFIX}") + endforeach () + + foreach (f IN LISTS BLASFUNS4) + set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -DS${f}=S${f}${SYMBOLSUFFIX} -DD${f}=D${f}${SYMBOLSUFFIX}") + endforeach () + + foreach (f IN LISTS BLASFUNS5) + set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -D${f}=${f}${SYMBOLSUFFIX}") + endforeach () +endif () + +set(CFUNS sgemm snaupd sneupd dnaupd dneupd cheev) +foreach (f IN LISTS CFUNS) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D${f}=${f}${SYMBOLSUFFIX}") + list(APPEND CFUNS_SUFFIXED ${f}${SYMBOLSUFFIX}) +endforeach () + +include(FortranCInterface) +FortranCInterface_HEADER(FCMangle.h SYMBOLS ${CFUNS_SUFFIXED}) + +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DINCLUDE_FCMANGLE") +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +############################ +# EXAMPLES +############################ +if (EXAMPLES) + ############################ + # EXAMPLES/BAND + ############################ + set(arpackexample_DIR ${arpack_SOURCE_DIR}/EXAMPLES/BAND/) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/Examples/band/) + + set(examples_EXTRA_SRCS ${arpackexample_DIR}/cnband.f) + set(examples_STAT_SRCS + cnbdr1.f + cnbdr2.f + cnbdr3.f + cnbdr4.f) + examples(examples_STAT_SRCS) + + set(examples_EXTRA_SRCS ${arpackexample_DIR}/dnband.f) + set(examples_STAT_SRCS + dnbdr1.f + dnbdr2.f + dnbdr3.f + dnbdr4.f + dnbdr5.f + dnbdr6.f) + examples(examples_STAT_SRCS) + + set(examples_EXTRA_SRCS ${arpackexample_DIR}/dsband.f) + set(examples_STAT_SRCS + dsbdr1.f + dsbdr2.f + dsbdr3.f + dsbdr4.f + dsbdr5.f + dsbdr6.f) + examples(examples_STAT_SRCS) + + set(examples_EXTRA_SRCS ${arpackexample_DIR}/snband.f) + set(examples_STAT_SRCS + snbdr1.f + snbdr2.f + snbdr3.f + snbdr4.f + snbdr5.f + snbdr6.f) + examples(examples_STAT_SRCS) + + set(examples_EXTRA_SRCS ${arpackexample_DIR}/ssband.f) + set(examples_STAT_SRCS + ssbdr1.f + ssbdr2.f + ssbdr3.f + ssbdr4.f + ssbdr5.f + ssbdr6.f) + examples(examples_STAT_SRCS) + + set(examples_EXTRA_SRCS ${arpackexample_DIR}/znband.f) + set(examples_STAT_SRCS + znbdr1.f + znbdr2.f + znbdr3.f + znbdr4.f) + examples(examples_STAT_SRCS) + set(examples_EXTRA_SRCS) + + ############################ + # EXAMPLES/COMPLEX + ############################ + set(arpackexample_DIR ${arpack_SOURCE_DIR}/EXAMPLES/COMPLEX/) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/Examples/complex/) + + set(examples_STAT_SRCS + cndrv1.f + cndrv2.f + cndrv3.f + cndrv4.f + zndrv1.f + zndrv2.f + zndrv3.f + zndrv4.f) + examples(examples_STAT_SRCS) + + ############################ + # examples/nonsym + ############################ + set(arpackexample_DIR ${arpack_SOURCE_DIR}/EXAMPLES/NONSYM/) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/Examples/nonsym/) + + set(examples_STAT_SRCS + dndrv1.f + dndrv2.f + dndrv3.f + dndrv4.f + dndrv5.f + dndrv6.f + sndrv1.f + sndrv2.f + sndrv3.f + sndrv4.f + sndrv5.f + sndrv6.f) + examples(examples_STAT_SRCS) + + ############################ + # examples/SIMPLE + ############################ + set(arpackexample_DIR ${arpack_SOURCE_DIR}/EXAMPLES/SIMPLE/) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/Examples/simple/) + + set(examples_STAT_SRCS + cnsimp.f + dnsimp.f + dssimp.f + snsimp.f + sssimp.f + znsimp.f) + + examples(examples_STAT_SRCS) + + ############################ + # examples/svd + ############################ + set(arpackexample_DIR ${arpack_SOURCE_DIR}/EXAMPLES/SVD/) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/Examples/svd/) + + set(examples_STAT_SRCS + ssvd.f) + + examples(examples_STAT_SRCS) + + ############################ + # examples/sym + ############################ + set(arpackexample_DIR ${arpack_SOURCE_DIR}/EXAMPLES/SYM/) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/Examples/sym/) + + set(examples_STAT_SRCS + dsdrv1.f + dsdrv2.f + dsdrv3.f + dsdrv4.f + dsdrv5.f + dsdrv6.f + ssdrv1.f + ssdrv2.f + ssdrv3.f + ssdrv4.f + ssdrv5.f + ssdrv6.f) + + examples(examples_STAT_SRCS) + + ############################ + # parpack/examples + ############################ + if (MPI) + set(parpackexample_DIR ${arpack_SOURCE_DIR}/PARPACK/EXAMPLES/MPI/) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/Examples/parpack) + + set(pexamples_STAT_SRCS + pcndrv1.f + pdndrv1.f + pdndrv3.f + pdsdrv1.f + psndrv1.f + psndrv3.f + pssdrv1.f + pzndrv1.f) + + pexamples(pexamples_STAT_SRCS) + endif() +endif() + + +############################ +# CHECK +############################ + +enable_testing() + +set(CMAKE_CTEST_COMMAND ctest -V) + +add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND}) + +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/Tests) + +add_executable(dnsimp_test EXCLUDE_FROM_ALL TESTS/dnsimp.f TESTS/mmio.f TESTS/debug.h) +set_target_properties( dnsimp_test PROPERTIES OUTPUT_NAME dnsimp ) +target_link_libraries(dnsimp_test arpack ${BLAS_LIBRARIES} ${LAPACK_LIBRARIES}) +add_custom_command(TARGET dnsimp_test POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/TESTS/testA.mtx testA.mtx +) +add_test(dnsimp_test Tests/dnsimp) + +add_executable(bug_1315_single EXCLUDE_FROM_ALL TESTS/bug_1315_single.c) +target_link_libraries(bug_1315_single arpack ${BLAS_LIBRARIES} ${LAPACK_LIBRARIES}) +add_test(bug_1315_single Tests/bug_1315_single) + +add_executable(bug_1315_double EXCLUDE_FROM_ALL TESTS/bug_1315_double.c) +target_link_libraries(bug_1315_double arpack ${BLAS_LIBRARIES} ${LAPACK_LIBRARIES}) +add_test(bug_1315_double Tests/bug_1315_double) + +add_executable(bug_1323 EXCLUDE_FROM_ALL TESTS/bug_1323.f) +target_link_libraries(bug_1323 arpack ${BLAS_LIBRARIES} ${LAPACK_LIBRARIES}) +add_test(bug_1323 Tests/bug_1323) + +add_dependencies(check dnsimp_test bug_1315_single bug_1315_double bug_1323) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arpack-ng-3.3.0/EXAMPLES/BAND/Makefile.am new/arpack-ng-3.4.0/EXAMPLES/BAND/Makefile.am --- old/arpack-ng-3.3.0/EXAMPLES/BAND/Makefile.am 2015-10-12 09:23:54.000000000 +0200 +++ new/arpack-ng-3.4.0/EXAMPLES/BAND/Makefile.am 2016-07-02 21:52:15.000000000 +0200 @@ -1,4 +1,4 @@ -LDADD = $(top_builddir)/libarpack.la $(BLAS_LIBS) $(LAPACK_LIBS) +LDADD = $(top_builddir)/SRC/libarpack$(LIBSUFFIX).la $(LAPACK_LIBS) $(BLAS_LIBS) SSBDR = ssbdr1 ssbdr2 ssbdr3 ssbdr4 ssbdr5 ssbdr6 DSBDR = dsbdr1 dsbdr2 dsbdr3 dsbdr4 dsbdr5 dsbdr6 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arpack-ng-3.3.0/EXAMPLES/COMPLEX/Makefile.am new/arpack-ng-3.4.0/EXAMPLES/COMPLEX/Makefile.am --- old/arpack-ng-3.3.0/EXAMPLES/COMPLEX/Makefile.am 2015-10-12 09:23:54.000000000 +0200 +++ new/arpack-ng-3.4.0/EXAMPLES/COMPLEX/Makefile.am 2016-07-02 21:52:15.000000000 +0200 @@ -1,4 +1,4 @@ -LDADD = $(top_builddir)/libarpack.la $(BLAS_LIBS) $(LAPACK_LIBS) +LDADD = $(top_builddir)/SRC/libarpack$(LIBSUFFIX).la $(LAPACK_LIBS) $(BLAS_LIBS) CNDRV = cndrv1 cndrv2 cndrv3 cndrv4 ZNDRV = zndrv1 zndrv2 zndrv3 zndrv4 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arpack-ng-3.3.0/EXAMPLES/NONSYM/Makefile.am new/arpack-ng-3.4.0/EXAMPLES/NONSYM/Makefile.am --- old/arpack-ng-3.3.0/EXAMPLES/NONSYM/Makefile.am 2015-10-12 09:23:54.000000000 +0200 +++ new/arpack-ng-3.4.0/EXAMPLES/NONSYM/Makefile.am 2016-07-02 21:52:15.000000000 +0200 @@ -1,4 +1,4 @@ -LDADD = $(top_builddir)/libarpack.la $(BLAS_LIBS) $(LAPACK_LIBS) +LDADD = $(top_builddir)/SRC/libarpack$(LIBSUFFIX).la $(LAPACK_LIBS) $(BLAS_LIBS) SNDRV = sndrv1 sndrv2 sndrv3 sndrv4 sndrv5 sndrv6 DNDRV = dndrv1 dndrv2 dndrv3 dndrv4 dndrv5 dndrv6 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arpack-ng-3.3.0/EXAMPLES/SIMPLE/Makefile.am new/arpack-ng-3.4.0/EXAMPLES/SIMPLE/Makefile.am --- old/arpack-ng-3.3.0/EXAMPLES/SIMPLE/Makefile.am 2015-10-12 09:23:54.000000000 +0200 +++ new/arpack-ng-3.4.0/EXAMPLES/SIMPLE/Makefile.am 2016-07-02 21:52:15.000000000 +0200 @@ -1,4 +1,4 @@ -LDADD = $(top_builddir)/libarpack.la $(BLAS_LIBS) $(LAPACK_LIBS) +LDADD = $(top_builddir)/SRC/libarpack$(LIBSUFFIX).la $(LAPACK_LIBS) $(BLAS_LIBS) SIMPLE = sssimp dssimp snsimp dnsimp cnsimp znsimp diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arpack-ng-3.3.0/EXAMPLES/SVD/Makefile.am new/arpack-ng-3.4.0/EXAMPLES/SVD/Makefile.am --- old/arpack-ng-3.3.0/EXAMPLES/SVD/Makefile.am 2015-10-12 09:23:54.000000000 +0200 +++ new/arpack-ng-3.4.0/EXAMPLES/SVD/Makefile.am 2016-07-02 21:52:15.000000000 +0200 @@ -1,4 +1,4 @@ -LDADD = $(top_builddir)/libarpack.la $(BLAS_LIBS) $(LAPACK_LIBS) +LDADD = $(top_builddir)/SRC/libarpack$(LIBSUFFIX).la $(LAPACK_LIBS) $(BLAS_LIBS) SVD = ssvd dsvd diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arpack-ng-3.3.0/EXAMPLES/SYM/Makefile.am new/arpack-ng-3.4.0/EXAMPLES/SYM/Makefile.am --- old/arpack-ng-3.3.0/EXAMPLES/SYM/Makefile.am 2015-10-12 09:23:54.000000000 +0200 +++ new/arpack-ng-3.4.0/EXAMPLES/SYM/Makefile.am 2016-07-02 21:52:15.000000000 +0200 @@ -1,4 +1,4 @@ -LDADD = $(top_builddir)/libarpack.la $(BLAS_LIBS) $(LAPACK_LIBS) +LDADD = $(top_builddir)/SRC/libarpack$(LIBSUFFIX).la $(LAPACK_LIBS) $(BLAS_LIBS) SSDRV = ssdrv1 ssdrv2 ssdrv3 ssdrv4 ssdrv5 ssdrv6 DSDRV = dsdrv1 dsdrv2 dsdrv3 dsdrv4 dsdrv5 dsdrv6 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arpack-ng-3.3.0/Makefile.am new/arpack-ng-3.4.0/Makefile.am --- old/arpack-ng-3.3.0/Makefile.am 2015-10-12 09:23:54.000000000 +0200 +++ new/arpack-ng-3.4.0/Makefile.am 2016-07-02 21:52:15.000000000 +0200 @@ -1,32 +1,18 @@ -SUBDIRS = UTIL SRC . TESTS EXAMPLES +ACLOCAL_AMFLAGS = -I m4 if MPI -SUBDIRS += PARPACK AM_DISTCHECK_CONFIGURE_FLAGS = --enable-mpi endif -lib_LTLIBRARIES = libarpack.la - -ACLOCAL_AMFLAGS = -I m4 - -libarpack_la_SOURCES = - -# Force libarpack to be linked with the Fortran compiler. -# The file dummy.f does not need to exist in the source tree. -nodist_EXTRA_libarpack_la_SOURCES = dummy.f - -libarpack_la_LDFLAGS = -no-undefined -version-info 2:0 - -libarpack_la_LIBADD = \ - $(top_builddir)/SRC/libarpacksrc.la \ - $(top_builddir)/UTIL/libarpackutil.la \ - $(LAPACK_LIBS) $(BLAS_LIBS) +SUBDIRS = UTIL SRC . TESTS EXAMPLES PARPACK EXTRA_DIST = README PARPACK_CHANGES CHANGES DOCUMENTS VISUAL_STUDIO \ -detect_arpack_bug.m4 +detect_arpack_bug.m4 CMakeLists.txt # Pkgconfig directory pkgconfigdir = $(libdir)/pkgconfig # Files to install in Pkgconfig directory -pkgconfig_DATA = arpack.pc +pkgconfig_DATA = arpack@[email protected] + +DISTCLEANFILES = $(pkgconfig_DATA) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arpack-ng-3.3.0/PARPACK/EXAMPLES/BLACS/Makefile.am new/arpack-ng-3.4.0/PARPACK/EXAMPLES/BLACS/Makefile.am --- old/arpack-ng-3.3.0/PARPACK/EXAMPLES/BLACS/Makefile.am 2015-10-12 09:23:54.000000000 +0200 +++ new/arpack-ng-3.4.0/PARPACK/EXAMPLES/BLACS/Makefile.am 2016-07-02 21:52:15.000000000 +0200 @@ -1,43 +1,38 @@ -#LDADD = $(top_builddir)/PARPACK/SRC/BLACS/libparpacksrc.la $(BLAS_LIBS) $(LAPACK_LIBS) +LDADD = $(top_builddir)/PARPACK/SRC/BLACS/libparpack$(LIBSUFFIX).la $(LAPACK_LIBS) $(BLAS_LIBS) -#SNDRV = psndrv1 psndrv3 -#DNDRV = pdndrv1 pdndrv3 -#SSDRV = pssdrv1 -#DSDRV = pdsdrv1 -#CNDRV = pcndrv1 -#ZNDRV = pzndrv1 -#NTEST = psntest1 pdntest1 - -#check_PROGRAMS = $(SNDRV) $(DNDRV) $(SSDRV) $(DSDRV) $(CNDRV) $(ZNDRV) $(NTEST) -#TESTS = $(check_PROGRAMS) - -EXTRA_DIST = debug.h stat.h \ - psndrv1.f psndrv3.f \ - pdndrv1.f pdndrv3.f \ - pssdrv1.f pdsdrv1.f \ - pcndrv1.f pzndrv1.f \ - psntest1.f pdntest1.f +SNDRV = psndrv1 psndrv3 +DNDRV = pdndrv1 pdndrv3 +SSDRV = pssdrv1 +DSDRV = pdsdrv1 +CNDRV = pcndrv1 +ZNDRV = pzndrv1 +NTEST = psntest1 pdntest1 + +check_PROGRAMS = $(SNDRV) $(DNDRV) $(SSDRV) $(DSDRV) $(CNDRV) $(ZNDRV) $(NTEST) +TESTS = $(check_PROGRAMS) + +EXTRA_DIST = debug.h stat.h # Simple nonsymmetric problem using single precision -#psndrv1_SOURCES = psndrv1.f -#psndrv3_SOURCES = psndrv3.f +psndrv1_SOURCES = psndrv1.f +psndrv3_SOURCES = psndrv3.f # Simple nonsymmetric problem using double precision -#pdndrv1_SOURCES = pdndrv1.f -#pdndrv3_SOURCES = pdndrv3.f +pdndrv1_SOURCES = pdndrv1.f +pdndrv3_SOURCES = pdndrv3.f # Simple symmetric problem using single precision -#pssdrv1_SOURCES = pssdrv1.f +pssdrv1_SOURCES = pssdrv1.f # Simple symmetric problem using double precision -#pdsdrv1_SOURCES = pdsdrv1.f +pdsdrv1_SOURCES = pdsdrv1.f # Complex problem using single complex -#pcndrv1_SOURCES = pcndrv1.f +pcndrv1_SOURCES = pcndrv1.f # Complex problem using double complex -#pzndrv1_SOURCES = pzndrv1.f +pzndrv1_SOURCES = pzndrv1.f # Test routines for timing -#psntest1_SOURCES = psntest1.f -#pdntest1_SOURCES = pdntest1.f +psntest1_SOURCES = psntest1.f +pdntest1_SOURCES = pdntest1.f diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arpack-ng-3.3.0/PARPACK/EXAMPLES/MPI/Makefile.am new/arpack-ng-3.4.0/PARPACK/EXAMPLES/MPI/Makefile.am --- old/arpack-ng-3.3.0/PARPACK/EXAMPLES/MPI/Makefile.am 2015-10-12 09:23:54.000000000 +0200 +++ new/arpack-ng-3.4.0/PARPACK/EXAMPLES/MPI/Makefile.am 2016-07-02 21:52:15.000000000 +0200 @@ -1,5 +1,5 @@ F77 = $(MPIF77) -LDADD = $(top_builddir)/PARPACK/libparpack.la $(BLAS_LIBS) $(LAPACK_LIBS) +LDADD = $(top_builddir)/PARPACK/SRC/MPI/libparpack$(LIBSUFFIX).la $(LAPACK_LIBS) $(BLAS_LIBS) SNDRV = psndrv1 psndrv3 DNDRV = pdndrv1 pdndrv3 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arpack-ng-3.3.0/PARPACK/Makefile.am new/arpack-ng-3.4.0/PARPACK/Makefile.am --- old/arpack-ng-3.3.0/PARPACK/Makefile.am 2015-10-12 09:23:54.000000000 +0200 +++ new/arpack-ng-3.4.0/PARPACK/Makefile.am 2016-07-02 21:52:15.000000000 +0200 @@ -1,18 +1,7 @@ -SUBDIRS = UTIL SRC . EXAMPLES/MPI EXAMPLES/BLACS +if MPI +SUBDIRS = UTIL/MPI SRC/MPI . EXAMPLES/MPI +endif -lib_LTLIBRARIES = libparpack.la - -libparpack_la_SOURCES = - -# Force libparpack to be linked with the MPI Fortran compiler. -# The file dummy.f does not need to exist in the source tree. -F77 = $(MPIF77) -nodist_EXTRA_libparpack_la_SOURCES = dummy.f - -libparpack_la_LDFLAGS = -no-undefined -version-info 2:0 - -libparpack_la_LIBADD = \ - $(top_builddir)/PARPACK/SRC/MPI/libparpacksrcmpi.la \ - $(top_builddir)/PARPACK/UTIL/MPI/libparpackutilmpi.la \ - $(top_builddir)/libarpack.la \ - $(LAPACK_LIBS) $(BLAS_LIBS) $(MPILIBS) +if BLACS +SUBDIRS = UTIL/BLACS SRC/BLACS . EXAMPLES/BLACS +endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arpack-ng-3.3.0/PARPACK/SRC/BLACS/Makefile.am new/arpack-ng-3.4.0/PARPACK/SRC/BLACS/Makefile.am --- old/arpack-ng-3.3.0/PARPACK/SRC/BLACS/Makefile.am 2015-10-12 09:23:54.000000000 +0200 +++ new/arpack-ng-3.4.0/PARPACK/SRC/BLACS/Makefile.am 2016-07-02 21:52:15.000000000 +0200 @@ -14,5 +14,10 @@ EXTRA_DIST = debug.h stat.h -noinst_LTLIBRARIES = libparpacksrc.la -libparpacksrc_la_SOURCES = $(SSRC) $(DSRC) $(CSRC) $(ZSRC) +lib_LTLIBRARIES = libparpack@[email protected] +libparpack@LIBSUFFIX@_la_SOURCES = $(SSRC) $(DSRC) $(CSRC) $(ZSRC) +libparpack@LIBSUFFIX@_la_LIBADD = \ + $(top_builddir)/PARPACK/UTIL/BLACS/libparpackutil.la \ + $(top_builddir)/SRC/libarpack@[email protected] \ + $(LAPACK_LIBS) $(BLAS_LIBS) +libparpack@LIBSUFFIX@_la_LDFLAGS = -no-undefined -version-info 2:0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arpack-ng-3.3.0/PARPACK/SRC/MPI/Makefile.am new/arpack-ng-3.4.0/PARPACK/SRC/MPI/Makefile.am --- old/arpack-ng-3.3.0/PARPACK/SRC/MPI/Makefile.am 2015-10-12 09:23:54.000000000 +0200 +++ new/arpack-ng-3.4.0/PARPACK/SRC/MPI/Makefile.am 2016-07-02 21:52:15.000000000 +0200 @@ -18,11 +18,15 @@ EXTRA_DIST = debug.h stat.h -noinst_LTLIBRARIES = libparpack_noopt.la libparpacksrcmpi.la +noinst_LTLIBRARIES = libparpack@LIBSUFFIX@_noopt.la +libparpack@LIBSUFFIX@_noopt_la_SOURCES = pslamch.f pdlamch10.f +libparpack@LIBSUFFIX@_noopt_la_FFLAGS = -O0 -libparpack_noopt_la_SOURCES = pslamch.f pdlamch10.f -libparpack_noopt_la_FFLAGS = -O0 - -libparpacksrcmpi_la_SOURCES = $(SSRC) $(DSRC) $(CSRC) $(ZSRC) -libparpacksrcmpi_la_FFLAGS = $(FFLAGS_SAV) -libparpacksrcmpi_la_LIBADD = libparpack_noopt.la +lib_LTLIBRARIES = libparpack@[email protected] +libparpack@LIBSUFFIX@_la_SOURCES = $(SSRC) $(DSRC) $(CSRC) $(ZSRC) +libparpack@LIBSUFFIX@_la_FFLAGS = $(FFLAGS_SAV) +libparpack@LIBSUFFIX@_la_LIBADD = libparpack@LIBSUFFIX@_noopt.la \ + $(top_builddir)/PARPACK/UTIL/MPI/libparpackutil.la \ + $(top_builddir)/SRC/libarpack@[email protected] \ + $(LAPACK_LIBS) $(BLAS_LIBS) $(MPILIBS) +libparpack@LIBSUFFIX@_la_LDFLAGS = -no-undefined -version-info 2:0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arpack-ng-3.3.0/PARPACK/SRC/MPI/pdlamch10.f new/arpack-ng-3.4.0/PARPACK/SRC/MPI/pdlamch10.f --- old/arpack-ng-3.3.0/PARPACK/SRC/MPI/pdlamch10.f 2015-10-12 09:23:54.000000000 +0200 +++ new/arpack-ng-3.4.0/PARPACK/SRC/MPI/pdlamch10.f 2016-07-02 21:52:15.000000000 +0200 @@ -6,7 +6,7 @@ * and University of California, Berkeley. * February 28, 1995 * -* The name has been changed in order to avoid symbol collision with +* The name has been changed in order to avoid symbol collision with * the newer version of PDLAMCH in Scalapack which can not be used * with MPI context. * @@ -86,8 +86,8 @@ TEMP = TEMP1 END IF * - PDLAMCH = TEMP + PDLAMCH10 = TEMP * -* End of PDLAMCH +* End of PDLAMCH10 * END diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arpack-ng-3.3.0/PARPACK/SRC/Makefile.am new/arpack-ng-3.4.0/PARPACK/SRC/Makefile.am --- old/arpack-ng-3.3.0/PARPACK/SRC/Makefile.am 2015-10-12 09:23:54.000000000 +0200 +++ new/arpack-ng-3.4.0/PARPACK/SRC/Makefile.am 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -SUBDIRS = MPI BLACS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arpack-ng-3.3.0/PARPACK/UTIL/BLACS/Makefile.am new/arpack-ng-3.4.0/PARPACK/UTIL/BLACS/Makefile.am --- old/arpack-ng-3.3.0/PARPACK/UTIL/BLACS/Makefile.am 2015-10-12 09:23:54.000000000 +0200 +++ new/arpack-ng-3.4.0/PARPACK/UTIL/BLACS/Makefile.am 2016-07-02 21:52:15.000000000 +0200 @@ -5,5 +5,5 @@ CSRC = pcmout.f pcvout.f ZSRC = pzmout.f pzvout.f -noinst_LTLIBRARIES = libparpackutilblacs.la -libparpackutilblacs_la_SOURCES = $(SRCS) $(SSRC) $(DSRC) $(CSRC) $(ZSRC) +noinst_LTLIBRARIES = libparpackutil.la +libparpackutil_la_SOURCES = $(SRCS) $(SSRC) $(DSRC) $(CSRC) $(ZSRC) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arpack-ng-3.3.0/PARPACK/UTIL/MPI/Makefile.am new/arpack-ng-3.4.0/PARPACK/UTIL/MPI/Makefile.am --- old/arpack-ng-3.3.0/PARPACK/UTIL/MPI/Makefile.am 2015-10-12 09:23:54.000000000 +0200 +++ new/arpack-ng-3.4.0/PARPACK/UTIL/MPI/Makefile.am 2016-07-02 21:52:15.000000000 +0200 @@ -7,5 +7,5 @@ CSRC = pcmout.f pcvout.f ZSRC = pzmout.f pzvout.f -noinst_LTLIBRARIES = libparpackutilmpi.la -libparpackutilmpi_la_SOURCES = $(SRCS) $(SSRC) $(DSRC) $(CSRC) $(ZSRC) +noinst_LTLIBRARIES = libparpackutil.la +libparpackutil_la_SOURCES = $(SRCS) $(SSRC) $(DSRC) $(CSRC) $(ZSRC) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arpack-ng-3.3.0/PARPACK/UTIL/Makefile.am new/arpack-ng-3.4.0/PARPACK/UTIL/Makefile.am --- old/arpack-ng-3.3.0/PARPACK/UTIL/Makefile.am 2015-10-12 09:23:54.000000000 +0200 +++ new/arpack-ng-3.4.0/PARPACK/UTIL/Makefile.am 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -SUBDIRS = MPI BLACS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arpack-ng-3.3.0/README new/arpack-ng-3.4.0/README --- old/arpack-ng-3.3.0/README 2015-10-12 09:23:54.000000000 +0200 +++ new/arpack-ng-3.4.0/README 2016-07-02 21:52:15.000000000 +0200 @@ -74,7 +74,13 @@ $ make $ make install should work as expected. - + + Furthermore, ARPACK-NG now provides CMake functionality: + $ mkdir build + $ cd build + $ cmake -D EXAMPLES=ON -D MPI=ON .. + builds everything including examples and parallel support (with MPI). + 5. Within DOCUMENTS directory there are three files ex-sym.doc diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arpack-ng-3.3.0/SRC/Makefile.am new/arpack-ng-3.4.0/SRC/Makefile.am --- old/arpack-ng-3.3.0/SRC/Makefile.am 2015-10-12 09:23:54.000000000 +0200 +++ new/arpack-ng-3.4.0/SRC/Makefile.am 2016-07-02 21:52:15.000000000 +0200 @@ -14,5 +14,7 @@ EXTRA_DIST = debug.h stat.h version.h -noinst_LTLIBRARIES = libarpacksrc.la -libarpacksrc_la_SOURCES = $(SSRC) $(DSRC) $(CSRC) $(ZSRC) +lib_LTLIBRARIES = libarpack@[email protected] +libarpack@LIBSUFFIX@_la_SOURCES = $(SSRC) $(DSRC) $(CSRC) $(ZSRC) +libarpack@LIBSUFFIX@_la_LIBADD = $(top_builddir)/UTIL/libarpackutil.la $(LAPACK_LIBS) $(BLAS_LIBS) +libarpack@LIBSUFFIX@_la_LDFLAGS = -no-undefined -version-info 2:0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arpack-ng-3.3.0/TESTS/Makefile.am new/arpack-ng-3.4.0/TESTS/Makefile.am --- old/arpack-ng-3.3.0/TESTS/Makefile.am 2015-10-12 09:23:54.000000000 +0200 +++ new/arpack-ng-3.4.0/TESTS/Makefile.am 2016-07-02 21:52:15.000000000 +0200 @@ -1,15 +1,15 @@ -LDADD=$(top_builddir)/libarpack.la $(BLAS_LIBS) $(LAPACK_LIBS) - -AM_DEFAULT_SOURCE_EXT = .f +LDADD=$(top_builddir)/SRC/libarpack$(LIBSUFFIX).la $(LAPACK_LIBS) $(BLAS_LIBS) check_PROGRAMS = dnsimp bug_1315_single bug_1315_double bug_1323 -TESTS = test-dnsimp.sh bug_1315_single bug_1315_double bug_1323 +TESTS = $(check_PROGRAMS) -EXTRA_DIST = testA.mtx test-dnsimp.sh +EXTRA_DIST = testA.mtx dnsimp_SOURCES = dnsimp.f mmio.f debug.h bug_1315_single_SOURCES = bug_1315_single.c bug_1315_double_SOURCES = bug_1315_double.c +bug_1315_single_LDADD = $(top_builddir)/SRC/libarpack$(LIBSUFFIX).la +bug_1315_double_LDADD = $(top_builddir)/SRC/libarpack$(LIBSUFFIX).la bug_1323_SOURCES = bug_1323.f diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arpack-ng-3.3.0/TESTS/bug_1315_double.c new/arpack-ng-3.4.0/TESTS/bug_1315_double.c --- old/arpack-ng-3.3.0/TESTS/bug_1315_double.c 2015-10-12 09:23:54.000000000 +0200 +++ new/arpack-ng-3.4.0/TESTS/bug_1315_double.c 2016-07-02 21:52:15.000000000 +0200 @@ -2,6 +2,10 @@ #include <stdlib.h> #include <math.h> +#ifdef INCLUDE_FCMANGLE +#include "FCMangle.h" +#endif + /* test program to solve for the 9 largest eigenvalues of * A*x = lambda*x where A is the diagonal matrix * with entries 1000, 999, ... , 2, 1 on the diagonal. @@ -9,15 +13,18 @@ * This is not efficient since the problem is * symmetric but is done to exhibit the bug. * */ - -extern void dnaupd_(int *, char *, int *, char *, int *, - double *, double *, int *, double *, - int *, int *, int *, double *, - double *, int *, int *); - -extern void dneupd_( int*, char*, int *, double *, double *, double *, int*, double *, - double *, double *, char *, int *, char *, int *, double *, double *, int *, - double *, int *, int *, int *, double *, double *, int *, int * ); +#ifndef BLASINT +#define BLASINT int +#endif + +extern void dnaupd(BLASINT *, char *, BLASINT *, char *, BLASINT *, + double *, double *, BLASINT *, double *, + BLASINT *, BLASINT *, BLASINT *, double *, + double *, BLASINT *, BLASINT *); + +extern void dneupd( BLASINT*, char*, BLASINT *, double *, double *, double *, BLASINT*, double *, + double *, double *, char *, BLASINT *, char *, BLASINT *, double *, double *, BLASINT *, + double *, BLASINT *, BLASINT *, BLASINT *, double *, double *, BLASINT *, BLASINT * ); void matVec(double * x, double * y) { int i; @@ -26,26 +33,26 @@ }; int main() { - int ido = 0; + BLASINT ido = 0; char bmat[] = "I"; - int N = 1000; + BLASINT N = 1000; char which[] = "LM"; - int nev = 9; + BLASINT nev = 9; double tol = 0; double resid[N]; - int ncv = 2*nev+1; + BLASINT ncv = 2*nev+1; double V[ncv*N]; - int ldv = N; - int iparam[11]; - int ipntr[14]; + BLASINT ldv = N; + BLASINT iparam[11]; + BLASINT ipntr[14]; double workd[3*N]; - int rvec = 1; + BLASINT rvec = 1; char howmny[] = "A"; double* dr = (double*) malloc((nev+1)*sizeof(double)); double* di = (double*) malloc((nev+1)*sizeof(double)); - int select[3*ncv]; + BLASINT select[3*ncv]; double z[(N+1)*(nev+1)]; - int ldz = N+1; + BLASINT ldz = N+1; double sigmar=0; double sigmai=0; double workev[3*ncv]; @@ -55,34 +62,38 @@ double workl[3*(ncv*ncv) + 6*ncv]; for (k=0; k < 3*(ncv*ncv) + 6*ncv; ++k ) workl[k] = 0; - int lworkl = 3*(ncv*ncv) + 6*ncv; - int info = 0; + BLASINT lworkl = 3*(ncv*ncv) + 6*ncv; + BLASINT info = 0; iparam[0] = 1; iparam[2] = 10*N; iparam[3] = 1; iparam[6] = 1; - dnaupd_(&ido, bmat, &N, which, &nev, &tol, resid, &ncv, V, &ldv, iparam, ipntr, + dnaupd(&ido, bmat, &N, which, &nev, &tol, resid, &ncv, V, &ldv, iparam, ipntr, workd, workl, &lworkl, &info); while(ido == 1) { matVec(&(workd[ipntr[0]-1]), &(workd[ipntr[1]-1])); - dnaupd_(&ido, bmat, &N, which, &nev, &tol, resid, &ncv, V, &ldv, iparam, ipntr, + dnaupd(&ido, bmat, &N, which, &nev, &tol, resid, &ncv, V, &ldv, iparam, ipntr, workd, workl, &lworkl, &info); } - dneupd_( &rvec, howmny, select, dr,di, z, &ldz, &sigmar, &sigmai,workev, + dneupd( &rvec, howmny, select, dr,di, z, &ldz, &sigmar, &sigmai,workev, bmat, &N, which, &nev, &tol, resid, &ncv, V, &ldv, iparam, ipntr, workd, workl, &lworkl, &info); int i; for (i = 0; i < nev; ++i) { printf("%f\n", dr[i]); if(fabs(dr[i] - (double)(1000-i))>1e-6){ + free(dr); + free(di); exit(EXIT_FAILURE); } } + free(dr); + free(di); return 0; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arpack-ng-3.3.0/TESTS/bug_1315_single.c new/arpack-ng-3.4.0/TESTS/bug_1315_single.c --- old/arpack-ng-3.3.0/TESTS/bug_1315_single.c 2015-10-12 09:23:54.000000000 +0200 +++ new/arpack-ng-3.4.0/TESTS/bug_1315_single.c 2016-07-02 21:52:15.000000000 +0200 @@ -2,6 +2,10 @@ #include <stdlib.h> #include <math.h> +#ifdef INCLUDE_FCMANGLE +#include "FCMangle.h" +#endif + /* test program to solve for the 9 largest eigenvalues of * A*x = lambda*x where A is the diagonal matrix * with entries 1000, 999, ... , 2, 1 on the diagonal. @@ -9,15 +13,18 @@ * This is not efficient since the problem is * symmetric but is done to exhibit the bug. */ - -extern void snaupd_(int *, char *, int *, char *, int *, - float *, float *, int *, float *, - int *, int *, int *, float *, - float *, int *, int *); - -extern void sneupd_( int*, char*, int *, float *, float *, float *, int*, float *, - float *, float *, char *, int *, char *, int *, float *, float *, int *, - float *, int *, int *, int *, float *, float *, int *, int * ); +#ifndef BLASINT +#define BLASINT int +#endif + +extern void snaupd(BLASINT *, char *, BLASINT *, char *, BLASINT *, + float *, float *, BLASINT *, float *, + BLASINT *, BLASINT *, BLASINT *, float *, + float *, BLASINT *, BLASINT *); + +extern void sneupd( BLASINT*, char*, BLASINT *, float *, float *, float *, BLASINT*, float *, + float *, float *, char *, BLASINT *, char *, BLASINT *, float *, float *, BLASINT *, + float *, BLASINT *, BLASINT *, BLASINT *, float *, float *, BLASINT *, BLASINT * ); void matVec(float * x, float * y) { @@ -27,26 +34,26 @@ }; int main() { - int ido = 0; + BLASINT ido = 0; char bmat[] = "I"; - int N = 1000; + BLASINT N = 1000; char which[] = "LM"; - int nev = 9; + BLASINT nev = 9; float tol = 0; float resid[N]; - int ncv = 2*nev+1; + BLASINT ncv = 2*nev+1; float V[ncv*N]; - int ldv = N; - int iparam[11]; - int ipntr[14]; + BLASINT ldv = N; + BLASINT iparam[11]; + BLASINT ipntr[14]; float workd[3*N]; - int rvec = 1; + BLASINT rvec = 1; char howmny[] = "A"; float* dr = (float*) malloc((nev+1)*sizeof(float)); float* di = (float*) malloc((nev+1)*sizeof(float)); - int select[3*ncv]; + BLASINT select[3*ncv]; float z[(N+1)*(nev+1)]; - int ldz = N+1; + BLASINT ldz = N+1; float sigmar=0; float sigmai=0; float workev[3*ncv]; @@ -56,34 +63,38 @@ float workl[3*(ncv*ncv) + 6*ncv]; for (k=0; k < 3*(ncv*ncv) + 6*ncv; ++k ) workl[k] = 0; - int lworkl = 3*(ncv*ncv) + 6*ncv; - int info = 0; + BLASINT lworkl = 3*(ncv*ncv) + 6*ncv; + BLASINT info = 0; iparam[0] = 1; iparam[2] = 10*N; iparam[3] = 1; iparam[6] = 1; - snaupd_(&ido, bmat, &N, which, &nev, &tol, resid, &ncv, V, &ldv, iparam, ipntr, + snaupd(&ido, bmat, &N, which, &nev, &tol, resid, &ncv, V, &ldv, iparam, ipntr, workd, workl, &lworkl, &info); while(ido == 1) { matVec(&(workd[ipntr[0]-1]), &(workd[ipntr[1]-1])); - snaupd_(&ido, bmat, &N, which, &nev, &tol, resid, &ncv, V, &ldv, iparam, ipntr, + snaupd(&ido, bmat, &N, which, &nev, &tol, resid, &ncv, V, &ldv, iparam, ipntr, workd, workl, &lworkl, &info); } - sneupd_( &rvec, howmny, select, dr,di, z, &ldz, &sigmar, &sigmai,workev, + sneupd( &rvec, howmny, select, dr,di, z, &ldz, &sigmar, &sigmai,workev, bmat, &N, which, &nev, &tol, resid, &ncv, V, &ldv, iparam, ipntr, workd, workl, &lworkl, &info); int i; for (i = 0; i < nev; ++i) { printf("%f\n", dr[i]); if(fabs(dr[i] - (float)(1000-i))>1e-2){ + free(dr); + free(di); exit(EXIT_FAILURE); } } + free(dr); + free(di); return 0; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arpack-ng-3.3.0/TESTS/test-dnsimp.sh new/arpack-ng-3.4.0/TESTS/test-dnsimp.sh --- old/arpack-ng-3.3.0/TESTS/test-dnsimp.sh 2015-10-12 09:23:54.000000000 +0200 +++ new/arpack-ng-3.4.0/TESTS/test-dnsimp.sh 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -#!/bin/sh -pwd=$(pwd) -cd "$srcdir" && exec "$pwd/dnsimp" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arpack-ng-3.3.0/arpack.pc.in new/arpack-ng-3.4.0/arpack.pc.in --- old/arpack-ng-3.3.0/arpack.pc.in 2015-10-12 09:23:54.000000000 +0200 +++ new/arpack-ng-3.4.0/arpack.pc.in 2016-07-02 21:52:15.000000000 +0200 @@ -6,5 +6,5 @@ Description: Collection of Fortran77 subroutines designed to solve large scale eigenvalue problems Version: @PACKAGE_VERSION@ URL: @PACKAGE_URL@ -Libs: -L${libdir} -larpack +Libs: -L${libdir} -larpack@LIBSUFFIX@ Libs.private: @LAPACK_LIBS@ @BLAS_LIBS@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arpack-ng-3.3.0/configure.ac new/arpack-ng-3.4.0/configure.ac --- old/arpack-ng-3.3.0/configure.ac 2015-10-12 09:23:54.000000000 +0200 +++ new/arpack-ng-3.4.0/configure.ac 2016-07-02 21:52:15.000000000 +0200 @@ -1,5 +1,5 @@ -AC_PREREQ(2.59) -AC_INIT([ARPACK-NG],[3.3.0],[https://github.com/opencollab/arpack-ng/issues/],[arpack-ng],[https://github.com/opencollab/arpack-ng/]) +AC_PREREQ(2.67) +AC_INIT([ARPACK-NG],[3.4.0],[https://github.com/opencollab/arpack-ng/issues/],[arpack-ng],[https://github.com/opencollab/arpack-ng/]) AM_INIT_AUTOMAKE([foreign]) AM_MAINTAINER_MODE @@ -10,30 +10,93 @@ AC_PROG_F77 AC_PROG_CC -ifdef([LT_INIT], [], [ - errprint([error: you must have libtool 2.4.2 or a more recent version -]) - m4exit([1])]) - -LT_PREREQ([2.4.2]) -LT_INIT([win32-dll]) - dnl Check for BLAS libraries sinclude(ax_blas.m4) AX_BLAS if test "$ax_blas_ok" = "no"; then - AC_MSG_ERROR([Cannot find BLAS libraries]) + AC_MSG_ERROR([cannot find BLAS libraries]) fi dnl Check for LAPACK libraries sinclude(ax_lapack.m4) AX_LAPACK if test "$ax_lapack_ok" = "no"; then - AC_MSG_ERROR([Cannot find LAPACK libraries]) + AC_MSG_ERROR([cannot find LAPACK libraries]) +fi + +AC_ARG_VAR(INTERFACE64, [set to 1 to use the 64-bit integer interface (ILP64) for ARPACK, BLAS and LAPACK]) +if test x"$INTERFACE64" == x"1"; then + AX_CHECK_COMPILE_FLAG(-fdefault-integer-8, FFLAGS="$FFLAGS -fdefault-integer-8", + AX_CHECK_COMPILE_FLAG(-i8, FFLAGS="$FFLAGS -i8", + AC_MSG_WARN([configure does not know how to make your Fortran compiler use 64-bit integers: set it manually via FFLAGS.]))) + CFLAGS="$CFLAGS -DBLASINT=int64_t" fi +AC_ARG_VAR(LIBSUFFIX, [suffix to add to ARPACK libraries names]) +AC_ARG_VAR(SYMBOLSUFFIX, [suffix to add to ARPACK, BLAS and LAPACK function names]) + +if test x"$SYMBOLSUFFIX" != x""; then + dnl Need to rely on non-F77 features + AC_FC_LINE_LENGTH(unlimited) + FFLAGS="$FFLAGS $ac_cv_fc_line_length" + + AX_CHECK_COMPILE_FLAG(-cpp, FFLAGS="$FFLAGS -cpp", + AX_CHECK_COMPILE_FLAG(-fpp, FFLAGS="$FFLAGS -fpp", + AC_MSG_WARN([configure does not know how to enable your Fortran compiler's preprocessor: set it manually via FFLAGS.]))) + + SCALARFUNS="naitr napps naup2 naupd nconv neigh neupd ngets statn saitr sapps saup2 saupd sconv seigt seupd sgets stats getv0 sortc sortr sesrt stqrb" + COMPLEXFUNS="naitr napps naup2 naupd neigh neupd ngets statn getv0 sortc" + + BLASFUNS1="axpy copy gemv geqr2 lacpy lae2 lahqr lanhs larnv lartg lascl laset lasrt scal trevc trmm trsen gbmv gbtrf gbtrs gttrf gttrs pttrf pttrs" + BLASFUNS2="dot ger labad laev2 lamch lanst lanv2 lapy2 larf larfg lasr nrm2 orm2r rot steqr swap" + BLASFUNS3="dotc geru unm2r" + BLASFUNS4="COPY LABAD LAMCH LANHS LANV2 LARFG ROT GEMV" + BLASFUNS5="scnrm2 dznrm2 csscal zdscal" + + FUNS1="$SCALARFUNS $BLASFUNS1 $BLASFUNS2" + for f in $FUNS1 + do + FFLAGS="$FFLAGS -Ds$f=s$f$SYMBOLSUFFIX -Dd$f=d$f$SYMBOLSUFFIX" + done + + FUNS2="$COMPLEXFUNS $BLASFUNS1 $BLASFUNS3" + for f in $FUNS2 + do + FFLAGS="$FFLAGS -Dc$f=c$f$SYMBOLSUFFIX -Dz$f=z$f$SYMBOLSUFFIX" + done + + for f in $BLASFUNS4 + do + FFLAGS="$FFLAGS -DS$f=S$f$SYMBOLSUFFIX -DD$f=D$f$SYMBOLSUFFIX" + done + + for f in $BLASFUNS5 + do + FFLAGS="$FFLAGS -D$f=$f$SYMBOLSUFFIX -D$f=$f$SYMBOLSUFFIX" + done +fi + +dnl Both a lowercase and uppercase variable are needed +dnl since the macro changes the case of the whole expression +symbolsuffix=$SYMBOLSUFFIX +AC_F77_FUNC(sgemm$SYMBOLSUFFIX, sgemmsuff) +AC_F77_FUNC(snaupd$SYMBOLSUFFIX, snaupdsuff) +AC_F77_FUNC(sneupd$SYMBOLSUFFIX, sneupdsuff) +AC_F77_FUNC(dnaupd$SYMBOLSUFFIX, dnaupdsuff) +AC_F77_FUNC(dneupd$SYMBOLSUFFIX, dneupdsuff) +AC_F77_FUNC(cheev$SYMBOLSUFFIX, cheevsuff) +dnl Needed for BLAS check and for tests (even when suffix is empty) +CFLAGS="$CFLAGS -Dsgemm=$sgemmsuff -Dsnaupd=$snaupdsuff -Dsneupd=$sneupdsuff -Ddnaupd=$dnaupdsuff -Ddneupd=$dneupdsuff -Dcheev=$cheevsuff" + +ifdef([LT_INIT], [], [ + errprint([error: you must have libtool 2.4.2 or a more recent version +]) + m4exit([1])]) + +LT_PREREQ([2.4.2]) +LT_INIT([win32-dll]) + dnl See if compiling parpack -AC_MSG_CHECKING([for MPI mode]) AC_ARG_ENABLE(mpi, AC_HELP_STRING([--enable-mpi], [build parallel version of arpack with MPI]), @@ -45,10 +108,12 @@ AC_LANG_POP([Fortran 77]) fi -AM_CONDITIONAL(MPI, test x"$enable_mpi" = x"yes") +AM_CONDITIONAL([MPI],[test x"$enable_mpi" = x"yes"]) +AM_CONDITIONAL([BLACS],[false]) + +AC_CONFIG_FILES([arpack$LIBSUFFIX.pc:arpack.pc.in], [], [LIBSUFFIX="$LIBSUFFIX"]) AC_CONFIG_FILES([ - arpack.pc Makefile SRC/Makefile UTIL/Makefile @@ -61,10 +126,8 @@ EXAMPLES/SVD/Makefile EXAMPLES/SYM/Makefile PARPACK/Makefile - PARPACK/SRC/Makefile PARPACK/SRC/MPI/Makefile PARPACK/SRC/BLACS/Makefile - PARPACK/UTIL/Makefile PARPACK/UTIL/MPI/Makefile PARPACK/UTIL/BLACS/Makefile PARPACK/EXAMPLES/MPI/Makefile diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/arpack-ng-3.3.0/m4/ax_check_compile_flag.m4 new/arpack-ng-3.4.0/m4/ax_check_compile_flag.m4 --- old/arpack-ng-3.3.0/m4/ax_check_compile_flag.m4 1970-01-01 01:00:00.000000000 +0100 +++ new/arpack-ng-3.4.0/m4/ax_check_compile_flag.m4 2016-07-02 21:52:15.000000000 +0200 @@ -0,0 +1,72 @@ +# =========================================================================== +# http://www.gnu.org/software/autoconf-archive/ax_check_compile_flag.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_COMPILE_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS]) +# +# DESCRIPTION +# +# Check whether the given FLAG works with the current language's compiler +# or gives an error. (Warnings, however, are ignored) +# +# ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on +# success/failure. +# +# If EXTRA-FLAGS is defined, it is added to the current language's default +# flags (e.g. CFLAGS) when the check is done. The check is thus made with +# the flags: "CFLAGS EXTRA-FLAGS FLAG". This can for example be used to +# force the compiler to issue an error when a bad flag is given. +# +# NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this +# macro in sync with AX_CHECK_{PREPROC,LINK}_FLAG. +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim <[email protected]> +# Copyright (c) 2011 Maarten Bosmans <[email protected]> +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see <http://www.gnu.org/licenses/>. +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 2 + +AC_DEFUN([AX_CHECK_COMPILE_FLAG], +[AC_PREREQ(2.59)dnl for _AC_LANG_PREFIX +AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]flags_$4_$1])dnl +AC_CACHE_CHECK([whether _AC_LANG compiler accepts $1], CACHEVAR, [ + ax_check_save_flags=$[]_AC_LANG_PREFIX[]FLAGS + _AC_LANG_PREFIX[]FLAGS="$[]_AC_LANG_PREFIX[]FLAGS $4 $1" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], + [AS_VAR_SET(CACHEVAR,[yes])], + [AS_VAR_SET(CACHEVAR,[no])]) + _AC_LANG_PREFIX[]FLAGS=$ax_check_save_flags]) +AS_IF([test x"AS_VAR_GET(CACHEVAR)" = xyes], + [m4_default([$2], :)], + [m4_default([$3], :)]) +AS_VAR_POPDEF([CACHEVAR])dnl +])dnl AX_CHECK_COMPILE_FLAGS
