Fix build error
authorDongHun Kwak <dh0128.kwak@samsung.com>
Thu, 15 Apr 2021 23:22:54 +0000 (08:22 +0900)
committerDongHun Kwak <dh0128.kwak@samsung.com>
Thu, 15 Apr 2021 23:22:54 +0000 (08:22 +0900)
change install path, rpath
fix spec file

28 files changed:
AMD/Lib/Makefile
BTF/Lib/Makefile
CAMD/Lib/Makefile
CCOLAMD/Lib/Makefile
CHOLMOD/Lib/Makefile
CHOLMOD/Tcov/Makefile
COLAMD/Lib/Makefile
CXSparse/Lib/Makefile
CXSparse_newfiles/Lib/Makefile
GPUQREngine/Lib/Makefile
KLU/Lib/Makefile
KLU/Tcov/Makefile
LDL/Lib/Makefile
Makefile
RBio/Lib/Makefile
SPQR/Lib/Makefile
SuiteSparse_GPURuntime/Lib/Makefile
SuiteSparse_config/SuiteSparse_config.mk
UMFPACK/Lib/Makefile
UMFPACK/Tcov/Make.1
UMFPACK/Tcov/Make.2
UMFPACK/Tcov/Make.3
UMFPACK/Tcov/Make.4
UMFPACK/Tcov/Make.5
UMFPACK/Tcov/Make.6
UMFPACK/Tcov/Make.7
UMFPACK/Tcov/Make.8
packaging/suitesparse.spec

index 3b92f6a075ac0befc56210c0ca0495924cb2f4e1..0afd2de77b5a33014f7794bd5013e429aed84e1e 100644 (file)
@@ -11,7 +11,7 @@ default: library
 include ../../SuiteSparse_config/SuiteSparse_config.mk
 
 # AMD depends on SuiteSparse_config
-LDLIBS += -lsuitesparseconfig
+LDLIBS += -L../../lib -lsuitesparseconfig
 
 # compile and install in SuiteSparse/lib
 library:
index 85b7a264650366e617c0c7fc1c84fac6034704de..a82789eb5039ed355406274b0598bc6030d196ef 100644 (file)
@@ -11,7 +11,7 @@ default: library
 include ../../SuiteSparse_config/SuiteSparse_config.mk
 
 # BTF depends on SuiteSparse_config
-LDLIBS += -lsuitesparseconfig
+LDLIBS += -L../../lib -lsuitesparseconfig
 
 ccode: all
 
index b3ae159ef8aa1d7b1c4a54a751a0e0e1f2d162f0..d080e9e4391bb0e4f5fca6d96f41716ecc24379d 100644 (file)
@@ -11,7 +11,7 @@ default: library
 include ../../SuiteSparse_config/SuiteSparse_config.mk
 
 # CAMD depends on SuiteSparse_config
-LDLIBS += -lsuitesparseconfig
+LDLIBS += -L../../lib -lsuitesparseconfig
 
 # compile and install in SuiteSparse/lib
 library:
index 52c52eb9e3fc0ce991ae9d01488784b9f5ebcae7..644bc4521544ce75b0b8249668af513b6a5a624e 100644 (file)
@@ -11,7 +11,7 @@ default: library
 include ../../SuiteSparse_config/SuiteSparse_config.mk
 
 # CCOLAMD depends on SuiteSparse_config
-LDLIBS += -lsuitesparseconfig
+LDLIBS += -L../../lib -lsuitesparseconfig
 
 # compile and install in SuiteSparse/lib
 library:
index 09b3871a9fd4fddb9672ac86f53739257d2630a3..757dd97b2433dafd4d94cc25dc08c5f09745f098 100644 (file)
@@ -14,7 +14,7 @@ include ../../SuiteSparse_config/SuiteSparse_config.mk
 
 # CHOLMOD depends on AMD, SuiteSparse_config, LAPACK, BLAS,
 # and optionally METIS, CAMD, and CCOLAMD if the Partition Module is in use
-LDLIBS += -lamd -lcolamd -lsuitesparseconfig \
+LDLIBS += -L../../lib -lamd -lcolamd -lsuitesparseconfig \
        $(LIB_WITH_PARTITION) $(LAPACK) $(BLAS)
 
 SO_OPTS += $(CFOPENMP)
index 831494003db91c38510aac54f0dd9573c6c3f671..0f9663a07688e9e0003c490d47c58ad70b9cf417 100644 (file)
@@ -30,7 +30,7 @@ C = $(CC) $(CF) $(CHOLMOD_CONFIG) $(NANTESTS)
 
 # default LAPACK and BLAS from SuiteSparse_config.mk:
   LDLIBS = -L../../lib \
-       -lmetis -lm $(LAPACK) $(BLAS) -lrt -Wl,-rpath=$(SUITESPARSE)/lib
+       -lmetis -lm $(LAPACK) $(BLAS) -lrt -Wl,-rpath=$(RUNPATH)
 
 # LAPACK and the Fortran reference BLAS, compiled with gfortran -g -O:
 # LDLIBS = $(METIS) -lm -llapack_plain -lblas_plain -lg2c
index 2d0c5aa6a7cf87b74a220ba0fa3b95f30e5307ff..1a60941d5594dbce0571ff12517fa763373d27c9 100644 (file)
@@ -11,7 +11,7 @@ default: library
 include ../../SuiteSparse_config/SuiteSparse_config.mk
 
 # COLAMD depends on SuiteSparse_config
-LDLIBS += -lsuitesparseconfig
+LDLIBS += -L../../lib -lsuitesparseconfig
 
 # compile and install in SuiteSparse/lib
 library:
index a21e360761cbac4a59d8774e940cbe9016abfa76..6345dcdbb0b7f4ddff1ffd51ea254048fecdcae3 100644 (file)
@@ -11,7 +11,7 @@ default: library
 include ../../SuiteSparse_config/SuiteSparse_config.mk
 
 # CXSparse depends on SuiteSparse_config
-LDLIBS += -lsuitesparseconfig
+LDLIBS += -L../../lib -lsuitesparseconfig
 
 # compile and install in SuiteSparse/lib
 library:
index a21e360761cbac4a59d8774e940cbe9016abfa76..6345dcdbb0b7f4ddff1ffd51ea254048fecdcae3 100644 (file)
@@ -11,7 +11,7 @@ default: library
 include ../../SuiteSparse_config/SuiteSparse_config.mk
 
 # CXSparse depends on SuiteSparse_config
-LDLIBS += -lsuitesparseconfig
+LDLIBS += -L../../lib -lsuitesparseconfig
 
 # compile and install in SuiteSparse/lib
 library:
index adf46039a43076d0efa10e5ba9d32b1a0735d121..df75b0daee84e9a49014e9c6e0416c5a5d36aef8 100644 (file)
@@ -13,7 +13,7 @@ ccode: all
 include ../../SuiteSparse_config/SuiteSparse_config.mk
 
 # GPUQREngine depends on SuiteSparse_config, CUDA, and SuiteSparse_GPURuntime
-LDLIBS += -lSuiteSparse_GPURuntime -lsuitesparseconfig $(CUDART_LIB)
+LDLIBS += -L../../lib -lSuiteSparse_GPURuntime -lsuitesparseconfig $(CUDART_LIB)
 
 # compile and install in SuiteSparse/lib
 library:
index 2dc62cb4acc4168346f6b22b0b030679d9b675f5..01d5109c45a74a6d20c05ab9a47547e72e183a29 100644 (file)
@@ -13,7 +13,7 @@ ccode: all
 include ../../SuiteSparse_config/SuiteSparse_config.mk
 
 # KLU depends on BTF, AMD, COLAMD,  and SuiteSparse_config
-LDLIBS += -lamd -lcolamd -lbtf -lsuitesparseconfig
+LDLIBS += -L../../lib -lamd -lcolamd -lbtf -lsuitesparseconfig
 
 # compile and install in SuiteSparse/lib
 library:
index 787c0a062237a73e881f560b41d69ba13964361c..d330c6936edd356404e023e030de36dc77a359c6 100644 (file)
@@ -27,7 +27,7 @@ C = $(CC) $(CF)
 LDLIBS = -L../../lib -lamd -lcolamd -lcholmod -lcamd -lccolamd \
     -lmetis -lsuitesparseconfig \
     $(LAPACK) $(BLAS) $(CUDART_LIB) $(CUBLAS_LIB) -lm -lrt \
-    -Wl,-rpath=$(SUITESPARSE)/lib -lstdc++
+    -Wl,-rpath=$(RUNPATH) -lstdc++
 
 I = -I../../include -I../Include -I../User -I../../BTF/Include
 
index 604ffa2734274a06c4c5f2554c69e2a2e39cd0a4..01ed070f423ea1e7fea25c7d5f0e8bae2e552785 100644 (file)
@@ -11,7 +11,7 @@ default: library
 include ../../SuiteSparse_config/SuiteSparse_config.mk
 
 # LDL depends on SuiteSparse_config
-LDLIBS += -lsuitesparseconfig
+LDLIBS += -L../../lib -lsuitesparseconfig
 
 # compile and install in SuiteSparse/lib
 library:
index 80f147c4c998d3e597f7d725edf72e06fed2b0f1..84eec1d0d941b74e2eb6c55720c2c30fe3ea2a88 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -65,9 +65,9 @@ ifeq (,$(MY_METIS_LIB))
        @mkdir -p $(INSTALL_LIB)
        @mkdir -p $(INSTALL_INCLUDE)
        @mkdir -p $(INSTALL_DOC)
-       - $(CP) lib/libmetis.* $(INSTALL_LIB)
-       - $(CP) metis-5.1.0/manual/manual.pdf $(INSTALL_DOC)/METIS_manual.pdf
-       - $(CP) metis-5.1.0/README.txt $(INSTALL_DOC)/METIS_README.txt
+       - $(CP) -f lib/libmetis.* $(INSTALL_LIB)
+       - $(CP) -f metis-5.1.0/manual/manual.pdf $(INSTALL_DOC)/METIS_manual.pdf
+       - $(CP) -f metis-5.1.0/README.txt $(INSTALL_DOC)/METIS_README.txt
         # the following is needed only on the Mac, so *.dylib is hardcoded:
        $(SO_INSTALL_NAME) $(INSTALL_LIB)/libmetis.dylib $(INSTALL_LIB)/libmetis.dylib
        - $(CP) include/metis.h $(INSTALL_INCLUDE)
index 056715deddee7c806e2b3de15e079b1a98f80bfa..8bc69e619e345484fff911795adef975963f1b38 100644 (file)
@@ -13,7 +13,7 @@ ccode: all
 include ../../SuiteSparse_config/SuiteSparse_config.mk
 
 # RBio depends on SuiteSparse_config
-LDLIBS += -lsuitesparseconfig
+LDLIBS += -L../../lib -lsuitesparseconfig
 
 # compile and install in SuiteSparse/lib
 library:
index 94a0484b9f19063f1a0143565403becf4b5e92b0..4af48c52b4da0bc60f116bba21b765d597836d31 100644 (file)
@@ -13,7 +13,7 @@ ccode: all
 include ../../SuiteSparse_config/SuiteSparse_config.mk
 
 # SPQR depends on CHOLMOD, AMD, COLAMD, LAPACK, the BLAS and SuiteSparse_config
-LDLIBS += -lamd -lcolamd -lcholmod -lsuitesparseconfig $(LAPACK) $(BLAS) $(TBB)
+LDLIBS += -L../../lib -lamd -lcolamd -lcholmod -lsuitesparseconfig $(LAPACK) $(BLAS) $(TBB)
 
 # compile and install in SuiteSparse/lib
 library:
index 31f536a55d3ee2327efb77ffb4c87a75a7549895..d1c6d58b6d2c52ab04151ba9d9da821913b9eba6 100644 (file)
@@ -11,7 +11,7 @@ default: library
 include ../../SuiteSparse_config/SuiteSparse_config.mk
 
 # SuiteSparse_GPURuntime depends on SuiteSparse_config and CUDA
-LDLIBS += -lsuitesparseconfig $(CUDART_LIB)
+LDLIBS += -L../../lib -lsuitesparseconfig $(CUDART_LIB)
 
 # compile and install in SuiteSparse/lib
 library:
index b4e59795a46a88475f4902dffd8b16d025417cf7..5de25cbbf3590ba4f7ce09587ee7a09cb5bd9dba 100644 (file)
@@ -348,7 +348,7 @@ SUITESPARSE_VERSION = 5.2.0
 
     ifeq ($(UNAME),Linux)
         # add the realtime library, librt, and SuiteSparse/lib
-        LDLIBS += -lrt -Wl,-rpath=$(INSTALL_LIB)
+        LDLIBS += -lrt -Wl,-rpath=$(RUNPATH)
     endif
 
     #---------------------------------------------------------------------------
index 8e4dbd24a054460f80e8b068b522cabd2b17b4e8..62ce806459bf609448f53ed96ef493f781bb8855 100644 (file)
@@ -12,7 +12,7 @@ include ../../SuiteSparse_config/SuiteSparse_config.mk
 
 # UMFPACK depends on AMD, SuiteSparse_config, LAPACK, and the BLAS.
 # It optionally relies on CHOLMOD
-LDLIBS += -lamd -lsuitesparseconfig $(LAPACK) $(BLAS)
+LDLIBS += -L../../lib -lamd -lsuitesparseconfig $(LAPACK) $(BLAS)
 
 # compile and install in SuiteSparse/lib
 library:
index d03f6763685efc056418574e42e009bc512e4043..0a07bdb0eb42bf074af22fcaa570ebb2030409f5 100644 (file)
@@ -12,7 +12,7 @@ CF = -O0 -g --coverage -fPIC -fopenmp
 LDFLAGS = --coverage
 UMFPACK_CONFIG = -DNBLAS -DTEST_FOR_INTEGER_OVERFLOW -DTESTING
 LDLIBS = -L$(INSTALL)/lib -llapack -lrefblas -lgfortran -lm -lrt \
-    -Wl,-rpath=lib $(LIB2) -lgcov
+    -Wl,-rpath=$(RUNPATH) $(LIB2) -lgcov
 
 ifneq ($(CUDA),no)
     CUDA_PATH = $(shell which nvcc 2>/dev/null | sed "s/\/bin\/nvcc//")
index cb8a21a6d1d3a2d114ea9d93782dd5be7d40d5aa..576c5dd42e004a12127348411e84b033c4a93e96 100644 (file)
@@ -12,7 +12,7 @@ CF = -O0 -g --coverage -fPIC -fopenmp
 LDFLAGS = --coverage
 UMFPACK_CONFIG = -DTESTING
 LDLIBS = -L$(INSTALL)/lib -llapack -lrefblas -lgfortran -lm -lrt \
-    -Wl,-rpath=lib -lgcov
+    -Wl,-rpath=$(RUNPATH) -lgcov
 
 ifneq ($(CUDA),no)
     CUDA_PATH = $(shell which nvcc 2>/dev/null | sed "s/\/bin\/nvcc//")
index 4888f4149bc517d19a224b4993c407032ed6fa56..67460ac47af4082f522d36cfdd009cd87ee1666f 100644 (file)
@@ -11,7 +11,7 @@ CC = gcc
 CF = -O3 -fPIC -fopenmp
 UMFPACK_CONFIG = -DNBLAS -DTEST_FOR_INTEGER_OVERFLOW -DTESTING
 LDLIBS = -L$(INSTALL)/lib -llapack -lrefblas -lgfortran -lm -lrt \
-    -Wl,-rpath=lib
+    -Wl,-rpath=$(RUNPATH)
 
 ifneq ($(CUDA),no)
     CUDA_PATH = $(shell which nvcc 2>/dev/null | sed "s/\/bin\/nvcc//")
index b97ffd7922511708b6959bac8a5f965973140181..1bfb5a82b70986ac3eb9844617468cfe72baad51 100644 (file)
@@ -11,7 +11,7 @@ CC = gcc
 CF = -O3 -fPIC -fopenmp
 UMFPACK_CONFIG = -DTESTING
 LDLIBS = -L$(INSTALL)/lib -llapack -lrefblas -lgfortran -lm -lrt \
-    -Wl,-rpath=lib
+    -Wl,-rpath=$(RUNPATH)
 
 ifneq ($(CUDA),no)
     CUDA_PATH = $(shell which nvcc 2>/dev/null | sed "s/\/bin\/nvcc//")
index 1774a0b08ebeaad4f3bb5da38c68dd0dbff2a72f..6926282b5a1cd017505a3ab4db52bb2524f414eb 100644 (file)
@@ -12,7 +12,7 @@ CF = -O0 -g --coverage -fPIC -fopenmp
 LDFLAGS = --coverage
 UMFPACK_CONFIG = -DNBLAS -DTEST_FOR_INTEGER_OVERFLOW -DTESTING -DNRECIPROCAL
 LDLIBS = -L$(INSTALL)/lib -llapack -lrefblas -lgfortran -lm -lrt \
-    -Wl,-rpath=lib -lgcov
+    -Wl,-rpath=$(RUNPATH) -lgcov
 
 ifneq ($(CUDA),no)
     CUDA_PATH = $(shell which nvcc 2>/dev/null | sed "s/\/bin\/nvcc//")
index d73b3e5c5091757fa7597470ff7d5c9f18044402..d21fb1d4b1f5d27fca6b516abba562b3a3d46c6d 100644 (file)
@@ -12,7 +12,7 @@ CF = -O0 -g --coverage -fPIC -fopenmp
 LDFLAGS = --coverage
 UMFPACK_CONFIG = -DTESTING -DNTIMER
 LDLIBS = -L$(INSTALL)/lib -llapack -lrefblas -lgfortran -lm -lrt \
-    -Wl,-rpath=lib -lgcov
+    -Wl,-rpath=$(RUNPATH) -lgcov
 
 ifneq ($(CUDA),no)
     CUDA_PATH = $(shell which nvcc 2>/dev/null | sed "s/\/bin\/nvcc//")
index 2f7ad3386171cf5a54276a370d49187fd3619c96..752936b16aa39342ad88c93542c5f6c25f112c75 100644 (file)
@@ -12,7 +12,7 @@ CF = -O0 -g --coverage -fPIC -fopenmp
 LDFLAGS = --coverage
 UMFPACK_CONFIG = -DNBLAS -DTEST_FOR_INTEGER_OVERFLOW -DTESTING -DNO_DIVIDE_BY_ZERO
 LDLIBS = -L$(INSTALL)/lib -llapack -lrefblas -lgfortran -lm -lrt \
-    -Wl,-rpath=lib -lgcov
+    -Wl,-rpath=$(RUNPATH) -lgcov
 
 ifneq ($(CUDA),no)
     CUDA_PATH = $(shell which nvcc 2>/dev/null | sed "s/\/bin\/nvcc//")
index 80e29fc53d767f4285e5f13351ee7c4610ae0814..14d3489d5c07a43da90064b4e384f164de0c3c1f 100644 (file)
@@ -12,7 +12,7 @@ CF = -O0 -g --coverage -fPIC -fopenmp
 LDFLAGS = --coverage
 UMFPACK_CONFIG = -DTESTING -DNO_DIVIDE_BY_ZERO
 LDLIBS = -L$(INSTALL)/lib -llapack -lrefblas -lgfortran -lm -lrt \
-    -Wl,-rpath=lib -lgcov
+    -Wl,-rpath=$(RUNPATH) -lgcov
 
 ifneq ($(CUDA),no)
     CUDA_PATH = $(shell which nvcc 2>/dev/null | sed "s/\/bin\/nvcc//")
index a63d95f6e472cec63c37f7ed36274035b9b278b1..593fe0b6fdb74a4e770153e6fa983f03207596c3 100644 (file)
@@ -1,13 +1,13 @@
-Name:       suitesparse 
-Summary:    %{name}
-Version:    5.2.0 
+Name:       suitesparse
+Summary:    A collection of sparse matrix libraries
+Version:    5.2.0
 Release:    0
 
 # ==========================================================
-License:    Apache-2.0
+License:    GPL2.0+ AND LGPL2.1+
 # ==========================================================
 
-Group:      Development/ROS
+Group:      Development/Libraries/C and C++
 Source0:    %{name}-%{version}.tar.gz
 Source1001: %{name}.manifest
 
@@ -16,10 +16,17 @@ Source1001: %{name}.manifest
 # specifies build-time dependencies for the package
 # ==========================================================
 BuildRequires:  cmake
+BuildRequires:  lapack-devel
+BuildRequires:  openblas-devel
 
 %description
 %{name} version %{version}
 
+%package devel
+Summary:    A collection of sparse matrix libraries
+
+%description devel
+%{name}-devel version %{version}
 
 %prep
 %setup -q
@@ -30,6 +37,7 @@ cp %{SOURCE1001} .
 # how to actually build the software we are packaging
 # ==========================================================
 %build
+%{make_build} library
 
 
 # ==========================================================
@@ -37,8 +45,19 @@ cp %{SOURCE1001} .
 # how to actually build the software we are packaging
 # ==========================================================
 %install
+mkdir -p %{buildroot}%{_libdir}
+mkdir -p %{buildroot}%{_includedir}
+mkdir -p %{buildroot}%{_datadir}/doc
+
+INSTALL_LIB=%{buildroot}%{_libdir} \
+INSTALL_INCLUDE=%{buildroot}%{_includedir} \
+INSTALL_DOC=%{buildroot}%{_datadir}/doc \
+RUNPATH=%{_libdir} \
+%{__make} install
+
+%remove_docs
 
-%clean  
+%clean
 
 %post -p /sbin/ldconfig
 
@@ -46,9 +65,18 @@ cp %{SOURCE1001} .
 
 # ==========================================================
 # files section
-# The list of files that will be installed in the end 
+# The list of files that will be installed in the end
 # user’s system.
 # ==========================================================
 %files
 %manifest %{name}.manifest
+%{_libdir}/libmetis.so
+%{_libdir}/*.so.*
+
+%files devel
+%manifest %{name}.manifest
+%{_includedir}/*.h
+%{_includedir}/*.hpp
+%exclude  %{_libdir}/libmetis.so
+%{_libdir}/*.so