我正在尝试在Fedora 23 64bit上编译Shogun,但它失败并出现以下错误。版本4.0.0具有相同的问题。
任何人都可以告诉我,如果Shogun中有错误或者我做错了什么?
dnf -y install git gcc which gcc-c++ doxygen numpy make cmake wget tar bzip2
cd /tmp
wget http://www.hdfgroup.org/ftp/HDF5/current/src/CMake-hdf5-1.8.16.tar.gz
tar xzf CMake-hdf5-1.8.16.tar.gz
cd CMake-hdf5-1.8.16
./build-unix.sh
cp -a HDF5-1.8.16-Linux/HDF_Group/HDF5/1.8.16/* /usr/local
cd /tmp
wget http://download.mosek.com/stable/7.1.0.41/mosektoolslinux64x86.tar.bz2
tar xjf mosektoolslinux64x86.tar.bz2
mv mosek/7 /root/mosek
export PATH=/root/mosek/tools/platform/linux64x86/bin/:$PATH
cp mosek.lic /root/mosek
cd /root/mosek/tools/platform/linux64x86/python/2/
python setup.py install --user
dnf -y install swig git cmake ccache gdb Pkgconfig NLopt-devel NLopt lpsolve-devel lpsolve ColPack-cli ColPack ColPack-devel arprec-devel arprec libxml2 libxml2-devel bzip2 bzip2-devel snappy-devel snappy protobuf-devel protobuf glpk glpk-devel libcurl-devel libcurl lzo lzo-devel lapack lapack-devel python-devel atlas atlas-devel qd qd-devel
cd /
git clone https://github.com/shogun-toolbox/shogun.git
cd /shogun/ && mkdir build && cd build
cmake -D BUNDLE_EIGEN=ON -D PythonModular=ON ..
make
这是输出错误。
[ 0%] Built target Eigen3
[ 1%] Built target class_list
[ 1%] Built target ChunksProtobuf
[ 2%] Built target HeadersProtobuf
[ 2%] Built target ShogunVersionProtobuf
[ 3%] Generating version header
[ 3%] Built target version
[ 75%] Built target libshogun
[ 75%] Built target shogun
[ 75%] copying SWIG files
[ 75%] Built target python_modular_src
[ 75%] Built target python_doxy2swig
[ 75%] Built target _python_modular
[ 75%] Built target shogun-static
[ 75%] Linking CXX executable balanced_conditional_probability_tree
../../../src/shogun/libshogun.so.17.1: undefined reference to `cblas_dtrsm'
../../../src/shogun/libshogun.so.17.1: undefined reference to `cblas_dgemm'
../../../src/shogun/libshogun.so.17.1: undefined reference to `cblas_sscal'
../../../src/shogun/libshogun.so.17.1: undefined reference to `cblas_dgemv'
../../../src/shogun/libshogun.so.17.1: undefined reference to `cblas_dasum'
../../../src/shogun/libshogun.so.17.1: undefined reference to `SZ_BufftoBuffDecompress'
../../../src/shogun/libshogun.so.17.1: undefined reference to `cblas_dscal'
../../../src/shogun/libshogun.so.17.1: undefined reference to `SZ_encoder_enabled'
../../../src/shogun/libshogun.so.17.1: undefined reference to `cblas_daxpy'
../../../src/shogun/libshogun.so.17.1: undefined reference to `shogun::CPrimalMosekSOSVM::CPrimalMosekSOSVM()'
../../../src/shogun/libshogun.so.17.1: undefined reference to `cblas_saxpy'
../../../src/shogun/libshogun.so.17.1: undefined reference to `cblas_ddot'
../../../src/shogun/libshogun.so.17.1: undefined reference to `cblas_dnrm2'
../../../src/shogun/libshogun.so.17.1: undefined reference to `shogun::CMosek::CMosek()'
../../../src/shogun/libshogun.so.17.1: undefined reference to `SZ_BufftoBuffCompress'
../../../src/shogun/libshogun.so.17.1: undefined reference to `cblas_sasum'
../../../src/shogun/libshogun.so.17.1: undefined reference to `cblas_dger'
collect2: error: ld returned 1 exit status
examples/undocumented/libshogun/CMakeFiles/balanced_conditional_probability_tree.dir/build.make:126: recipe for target 'examples/undocumented/libshogun/balanced_conditional_probability_tree' failed
make[2]: *** [examples/undocumented/libshogun/balanced_conditional_probability_tree] Error 1
CMakeFiles/Makefile2:811: recipe for target 'examples/undocumented/libshogun/CMakeFiles/balanced_conditional_probability_tree.dir/all' failed
make[1]: *** [examples/undocumented/libshogun/CMakeFiles/balanced_conditional_probability_tree.dir/all] Error 2
Makefile:149: recipe for target 'all' failed
make: *** [all] Error 2
[root@2d55f69e8521 build]#
更新
以下是cmake
-- The C compiler identification is GNU 5.1.1
-- The CXX compiler identification is GNU 5.1.1
-- Check for working C compiler: /usr/lib64/ccache/cc
-- Check for working C compiler: /usr/lib64/ccache/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/lib64/ccache/c++
-- Check for working CXX compiler: /usr/lib64/ccache/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found CCache: /usr/bin/ccache
-- Found SWIG: /usr/lib64/ccache/swig (found suitable version "3.0.7", minimum required is "2.0.4")
-- Performing Test _HAS_CXX11_FLAG
-- Performing Test _HAS_CXX11_FLAG - Success
-- Checking C++11 support for "__func__"
-- Checking C++11 support for "__func__": works
-- Checking C++11 support for "atomic"
-- Checking C++11 support for "atomic": works
-- Checking C++11 support for "auto"
-- Checking C++11 support for "auto": works
-- Checking C++11 support for "auto_ret_type"
-- Checking C++11 support for "auto_ret_type": works
-- Checking C++11 support for "class_override_final"
-- Checking C++11 support for "class_override_final": not supported
-- Checking C++11 support for "constexpr"
-- Checking C++11 support for "constexpr": works
-- Checking C++11 support for "cstdint"
-- Checking C++11 support for "cstdint": works
-- Checking C++11 support for "decltype"
-- Checking C++11 support for "decltype": works
-- Checking C++11 support for "initializer_list"
-- Checking C++11 support for "initializer_list": works
-- Checking C++11 support for "lambda"
-- Checking C++11 support for "lambda": works
-- Checking C++11 support for "long_long"
-- Checking C++11 support for "long_long": works
-- Checking C++11 support for "nullptr"
-- Checking C++11 support for "nullptr": works
-- Checking C++11 support for "regex"
-- Checking C++11 support for "regex": works
-- Checking C++11 support for "rvalue-references"
-- Checking C++11 support for "rvalue-references": works
-- Checking C++11 support for "sizeof_member"
-- Checking C++11 support for "sizeof_member": works
-- Checking C++11 support for "static_assert"
-- Checking C++11 support for "static_assert": works
-- Checking C++11 support for "variadic_templates"
-- Checking C++11 support for "variadic_templates": works
-- Looking for C++ include unordered_map
-- Looking for C++ include unordered_map - found
-- Using system's malloc
-- Looking for isfinite
-- Looking for isfinite - not found
-- Looking for isinf
-- Looking for isinf - found
-- Looking for isnan
-- Looking for isnan - found
-- Looking for signgam
-- Looking for signgam - found
-- Looking for fdopen
-- Looking for fdopen - found
-- Looking for log2
-- Looking for log2 - found
-- Looking for powl
-- Looking for powl - found
-- Looking for lgammal
-- Looking for lgammal - found
-- Looking for sqrtl
-- Looking for sqrtl - found
-- Looking for finite
-- Looking for finite - found
-- Looking for isfinite
-- Looking for isfinite - not found
-- Looking for isinf
-- Looking for isinf - found
-- Looking for isnan
-- Looking for isnan - found
-- Performing Test HAVE_STD_ISINF
-- Performing Test HAVE_STD_ISINF - Success
-- Performing Test HAVE_STD_ISFINITE
-- Performing Test HAVE_STD_ISFINITE - Success
-- Performing Test HAVE_STD_ISNAN
-- Performing Test HAVE_STD_ISNAN - Success
-- Looking for xmmintrin.h
-- Looking for xmmintrin.h - found
-- Looking for emmintrin.h
-- Looking for emmintrin.h - found
-- Looking for arc4random
-- Looking for arc4random - not found
-- Found GDB: /usr/bin/gdb
-- Could NOT find MOSEK (missing: MOSEK_DIR MOSEK_INCLUDE_DIR MOSEK_LIBRARY)
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Try OpenMP C flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Try OpenMP CXX flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Found OpenMP: -fopenmp
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.28")
-- Looking for sgemm_
-- Looking for sgemm_ - found
-- A library with BLAS API found.
-- Looking for cheev_
-- Looking for cheev_ - found
-- A library with LAPACK API found.
-- Looking for clapack_dpotrf in /usr/lib64/liblapack.so
-- Looking for clapack_dpotrf in /usr/lib64/liblapack.so - not found
-- Could NOT find ATLAS (missing: ATLAS_LIBRARIES)
-- Found CBLAS: /lib64/libgslcblas.so
-- Looking for cblas_dsyrk in /lib64/libgslcblas.so
-- Looking for cblas_dsyrk in /lib64/libgslcblas.so - found
-- Found GLPK: /lib64/libglpk.so
-- Could NOT find CPLEX (missing: CPLEX_LIBRARY CPLEX_INCLUDE_DIR)
-- Could NOT find OPENCL (missing: OPENCL_LIBRARY OPENCL_INCLUDE_DIR)
-- Could NOT find ViennaCL (missing: VIENNACL_INCLUDE_DIR OPENCL_INCLUDE_DIRS OPENCL_LIBRARIES) (Required is at least version "1.5.0")
-- checking for one of the modules 'libColPack>=1.0.9;ColPack>=1.0.9'
-- Found NLOPT: /usr/lib64/libnlopt_cxx.so
-- Found LPSOLVE: /usr/lib64/liblpsolve55.so
-- Found ColPack: /lib64/libColPack.so
-- Found ARPREC: /lib64/libarprec.so
-- Found Doxygen: /usr/bin/doxygen (found version "1.8.10")
-- Found PythonInterp: /usr/bin/python (found version "2.7.10")
-- checking for one of the modules 'libjson>=0.11;json>=0.11;json-c>=0.11'
-- Found LibXml2: /usr/lib64/libxml2.so (found version "2.9.2")
-- Found HDF5: /usr/local/lib/libhdf5.a (found version "1.8.16")
-- Found CURL: /usr/lib64/libcurl.so (found version "7.43.0")
-- Found ZLIB: /usr/local/lib/libz.a (found version "1.2.8")
-- Found BZip2: /usr/lib64/libbz2.so (found version "1.0.6")
-- Looking for BZ2_bzCompressInit in /usr/lib64/libbz2.so
-- Looking for BZ2_bzCompressInit in /usr/lib64/libbz2.so - found
-- Looking for lzma_auto_decoder in /usr/lib64/liblzma.so
-- Looking for lzma_auto_decoder in /usr/lib64/liblzma.so - found
-- Looking for lzma_easy_encoder in /usr/lib64/liblzma.so
-- Looking for lzma_easy_encoder in /usr/lib64/liblzma.so - found
-- Looking for lzma_lzma_preset in /usr/lib64/liblzma.so
-- Looking for lzma_lzma_preset in /usr/lib64/liblzma.so - found
-- Found LibLZMA: /usr/include (found version "5.2.1")
-- Found SNAPPY: /usr/lib64/libsnappy.so
-- Lzo Library /usr/lib64/liblzo2.so
-- Lzo Include Found in /usr/include
-- Spinlock support found
-- Found PROTOBUF: /usr/lib64/libprotobuf.so
-- Supported backend(s) for linear algebra NOT FOUND/NOT ENABLED
-- Found PythonLibs: /usr/lib64/libpython2.7.so (found version "2.7.10")
-- Found NumPy: version "1.9.2" /usr/lib64/python2.7/site-packages/numpy/core/include
-- ===================================================================================================================
-- Summary of Configuration Variables
--
-- The following OPTIONAL packages have been found:
* CCache
* GDB
* OpenMP
* BLAS
* LAPACK
* CBLAS
* GLPK
* NLopt
* LpSolve
* ColPack
* ARPREC
* Doxygen
* LibXml2
* HDF5
* CURL
* ZLIB
* BZip2
* LibLZMA
* SNAPPY
* LZO
* Spinlock
* Threads
* Protobuf
-- The following REQUIRED packages have been found:
* SWIG (required version >= 2.0.4)
* PythonLibs
* PythonInterp
* NumPy
-- The following OPTIONAL packages have not been found:
* Mosek
* Atlas
* CPLEX
* ARPACK
* ViennaCL (required version >= 1.5.0)
-- The following REQUIRED packages have not been found:
* OpenCL
-- ===================================================================================================================
-- Enabled Integration
-- OpenCV Integration is OFF - enable with -DOpenCV=ON
-- ===================================================================================================================
-- Enabled Interfaces
-- libshogun is ON
-- python modular is ON
-- octave modular is OFF - enable with -DOctaveModular=ON
-- java modular is OFF - enable with -DJavaModular=ON
-- perl modular is OFF - enable with -DPerlModular=ON
-- ruby modular is OFF - enable with -DRubyModular=ON
-- csharp modular is OFF - enable with -DCSharpModular=ON
-- R modular is OFF - enable with -DRModular=ON
-- lua modular is OFF - enable with -DLuaModular=ON
--
-- Enabled legacy interfaces
-- cmdline static is OFF - enable with -DCmdLineStatic=ON
-- python static is OFF - enable with -DPythonStatic=ON
-- octave static is OFF - enable with -DOctaveStatic=ON
-- matlab static is OFF - enable with -DMatlabStatic=ON
-- R static is OFF - enable with -DRStatic=ON
-- ===================================================================================================================
-- To compile shogun type
-- make
--
-- To install shogun to /usr/local type
-- make install
--
-- or to install to a custom directory
-- make install DESTDIR=/my/special/path
-- (or rerun cmake with -DCMAKE_INSTALL_PREFIX=/my/special/path) to just change the prefix
-- ===================================================================================================================
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/shogun/build
答案 0 :(得分:1)
你也必须安装gsl-devel
,似乎你没有。
dnf install gsl-devel
答案 1 :(得分:1)
Fedora 23,幕府将军:# dnf install shogun-devel
提供版本 4.0.1 -0.1.git20150808.779c3ad.fc23
如果你想要一个"构建体验" :Fedora 23源码包:shogun-4.0.1-0.1.git20150808.779c3ad.fc23。 src .rpm→→还包括" gmock-1.7.0.zip"。
在/ home / [name] /:$ rpm -i shogun-4.0.1-0.1.git20150808.779c3ad.fc23.src.rpm
构建包:$ cd rpm*/SPECS/ && rpmbuild -bb shogun.spec