NanoSim / Porto

The Porto multi-scale framework
GNU General Public License v3.0
3 stars 3 forks source link

Errors compiling with various options #4

Open sigveka opened 7 years ago

sigveka commented 7 years ago

Hello Thomas,

I am attempting to compile your software on Ubuntu 16.04 and in the process hitting a few problems with some of the options (most of them works just fine, although I have not tested the following: HSM, Porto, Python 3 and Numerics).

I have included the verbose output of the errors below, maybe you have an idea of how I can fix it (I am particularly interested in the Python and Test oprions).

-- Sigve Karolius

Tests

[ 32%] Linking CXX executable storage-test-hdf5
cd /home/sigveka/Git/Porto/build/storage/test/hdf5 && /usr/bin/cmake -E cmake_link_script CMakeFiles/storage-test-hdf5.dir/link.txt --verbose=1
/usr/bin/c++   -g   CMakeFiles/storage-test-hdf5.dir/hdf5test.cpp.o CMakeFiles/storage-test-hdf5.dir/hdf5strategytest.cpp.o CMakeFiles/storage-test-hdf5.dir/testentity.cpp.o CMakeFiles/storage-test-hdf5.dir/main.cpp.o CMakeFiles/storage-test-hdf5.dir/storage-test-hdf5_automoc.cpp.o  -o storage-test-hdf5 -rdynamic ../../src/hdf5/libsoft-storage-hdf5.so /usr/lib/x86_64-linux-gnu/hdf5/serial/lib/libhdf5.so -lpthread -lsz -lz -ldl -lm ../../../core/src/kernel/libsoft-kernel.so /usr/local/lib/libbson-1.0.so -lpthread /home/sigveka/Qt5.6.2/5.6/gcc_64/lib/libQt5Network.so.5.6.2 /home/sigveka/Qt5.6.2/5.6/gcc_64/lib/libQt5Script.so.5.6.2 /home/sigveka/Qt5.6.2/5.6/gcc_64/lib/libQt5Concurrent.so.5.6.2 /usr/local/lib/libgtest.a /home/sigveka/Qt5.6.2/5.6/gcc_64/lib/libQt5Core.so.5.6.2 -Wl,-rpath,/home/sigveka/Git/Porto/build/storage/src/hdf5:/usr/lib/x86_64-linux-gnu/hdf5/serial/lib:/home/sigveka/Git/Porto/build/core/src/kernel:/usr/local/lib:/home/sigveka/Qt5.6.2/5.6/gcc_64/lib 
/usr/bin/ld: /usr/local/lib/libgtest.a(gtest-all.cc.o): undefined reference to symbol 'pthread_key_delete@@GLIBC_2.2.5'
/lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
storage/test/hdf5/CMakeFiles/storage-test-hdf5.dir/build.make:212: recipe for target 'storage/test/hdf5/storage-test-hdf5' failed
make[2]: *** [storage/test/hdf5/storage-test-hdf5] Error 1
make[2]: Leaving directory '/home/sigveka/Git/Porto/build'
CMakeFiles/Makefile2:583: recipe for target 'storage/test/hdf5/CMakeFiles/storage-test-hdf5.dir/all' failed
make[1]: *** [storage/test/hdf5/CMakeFiles/storage-test-hdf5.dir/all] Error 2
make[1]: Leaving directory '/home/sigveka/Git/Porto/build'
Makefile:160: recipe for target 'all' failed
make: *** [all] Error 2

Python (2)

-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/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/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Setting build type to 'Debug' as none was specified.
-- Looking for pthread.h
-- Looking for 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  
-- Found BSON: /usr/local/lib/libbson-1.0.so;-lpthread (found version "1.3.0") 
-- Found HDF5: /usr/lib/x86_64-linux-gnu/hdf5/serial/lib/libhdf5.so;/usr/lib/x86_64-linux-gnu/libpthread.so;/usr/lib/x86_64-linux-gnu/libsz.so;/usr/lib/x86_64-linux-gnu/libz.so;/usr/lib/x86_64-linux-gnu/libdl.so;/usr/lib/x86_64-linux-gnu/libm.so (found version "1.8.16") 
-- Found MONGOC: /usr/local/lib/libmongoc-1.0.so;-lpthread (found version "1.3.0") 
-- Using HDF5_INCLUDE_DIR: /usr/include/hdf5/serial
-- Using HDF5_LIBRARIES: /usr/lib/x86_64-linux-gnu/hdf5/serial/lib/libhdf5.so;/usr/lib/x86_64-linux-gnu/libpthread.so;/usr/lib/x86_64-linux-gnu/libsz.so;/usr/lib/x86_64-linux-gnu/libz.so;/usr/lib/x86_64-linux-gnu/libdl.so;/usr/lib/x86_64-linux-gnu/libm.so
-- soft-storage-mongo libs: /usr/local/lib/libmongoc-1.0.so;-lpthread;soft-kernel;/usr/local/lib/libbson-1.0.so;-lpthread;Qt5::Core;Qt5::Network;Qt5::Script;Qt5::Concurrent
-- Found NLOPT: /usr/lib/x86_64-linux-gnu/libnlopt.so  
-- Found SWIG: /usr/bin/swig3.0 (found version "3.0.8") 
-- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython2.7.so (found version "2.7.12") 
CMake Error at foreign/python/src/softpy/CMakeLists.txt:52 (get_filename_component):
  get_filename_component called with incorrect number of arguments

CMake Error at foreign/python/src/softpy/CMakeLists.txt:54 (file):
  file RELATIVE_PATH called with incorrect number of arguments

CMake Error at foreign/python/src/softpy/CMakeLists.txt:61 (install):
  install FILES given no DESTINATION!

CMake Error at foreign/python/src/softpy/CMakeLists.txt:63 (install):
  install FILES given no DESTINATION!

-- Found Doxygen: /usr/local/bin/doxygen (found version "1.8.14") 
-- Configuring incomplete, errors occurred!
See also "/home/sigveka/Git/Porto/build/CMakeFiles/CMakeOutput.log".
See also "/home/sigveka/Git/Porto/build/CMakeFiles/CMakeError.log".

Fortran

[ 96%] Building Fortran object foreign/fortran/src/softf/CMakeFiles/softf.dir/entity-module.f90.o
cd /home/sigveka/Git/Porto/build/foreign/fortran/src/softf && /usr/bin/gfortran  -Dsoftf_EXPORTS -I/home/sigveka/Git/Porto/build/foreign/fortran/src/softf -I/home/sigveka/Git/Porto/foreign/fortran/src/softf  -fno-f2c -O0 -g -fPIC   -c /home/sigveka/Git/Porto/foreign/fortran/src/softf/entity-module.f90 -o CMakeFiles/softf.dir/entity-module.f90.o
/home/sigveka/Git/Porto/foreign/fortran/src/softf/entity-module.f90:18:14:

      procedure, public, pass(self) :: get_id => entity_get_id3
          1
Error: ‘entity_get_id3’ must be a module procedure or an external procedure with an explicit interface at (1)
foreign/fortran/src/softf/CMakeFiles/softf.dir/build.make:62: recipe for target 'foreign/fortran/src/softf/CMakeFiles/softf.dir/entity-module.f90.o' failed
make[2]: *** [foreign/fortran/src/softf/CMakeFiles/softf.dir/entity-module.f90.o] Error 1
make[2]: Leaving directory '/home/sigveka/Git/Porto/build'
CMakeFiles/Makefile2:1532: recipe for target 'foreign/fortran/src/softf/CMakeFiles/softf.dir/all' failed
make[1]: *** [foreign/fortran/src/softf/CMakeFiles/softf.dir/all] Error 2
make[1]: Leaving directory '/home/sigveka/Git/Porto/build'
Makefile:149: recipe for target 'all' failed
make: *** [all] Error 2
quaat commented 7 years ago

Hi Sigve, It seems there is a problem with your version of hdf5. You can to try to disable hdf5. I'm currently on vacation, but I'll try to reproduce this if you can give me a few days. You may want to contact Jester Friis is as he has done the Python implementation.

best, Thomas

On Jul 11, 2017 9:40 AM, "Sigve Karolius" notifications@github.com wrote:

Hello Thomas,

I am attempting to compile your software on Ubuntu 16.04 and in the process hitting a few problems with some of the options (most of them works just fine, although I have not tested the following: HSM, Porto, Python 3 and Numerics).

I have included the verbose output of the errors below, maybe you have an idea of how I can fix it (I am particularly interested in the Python and Test oprions).

-- Sigve Karolius Tests

[ 32%] Linking CXX executable storage-test-hdf5 cd /home/sigveka/Git/Porto/build/storage/test/hdf5 && /usr/bin/cmake -E cmake_link_script CMakeFiles/storage-test-hdf5.dir/link.txt --verbose=1 /usr/bin/c++ -g CMakeFiles/storage-test-hdf5.dir/hdf5test.cpp.o CMakeFiles/storage-test-hdf5.dir/hdf5strategytest.cpp.o CMakeFiles/storage-test-hdf5.dir/testentity.cpp.o CMakeFiles/storage-test-hdf5.dir/main.cpp.o CMakeFiles/storage-test-hdf5.dir/storage-test-hdf5_automoc.cpp.o -o storage-test-hdf5 -rdynamic ../../src/hdf5/libsoft-storage-hdf5.so /usr/lib/x86_64-linux-gnu/hdf5/serial/lib/libhdf5.so -lpthread -lsz -lz -ldl -lm ../../../core/src/kernel/libsoft-kernel.so /usr/local/lib/libbson-1.0.so -lpthread /home/sigveka/Qt5.6.2/5.6/gcc_64/lib/libQt5Network.so.5.6.2 /home/sigveka/Qt5.6.2/5.6/gcc_64/lib/libQt5Script.so.5.6.2 /home/sigveka/Qt5.6.2/5.6/gcc_64/lib/libQt5Concurrent.so.5.6.2 /usr/local/lib/libgtest.a /home/sigveka/Qt5.6.2/5.6/gcc_64/lib/libQt5Core.so.5.6.2 -Wl,-rpath,/home/sigveka/Git/Porto/build/storage/src/hdf5:/usr/lib/x86_64-linux-gnu/hdf5/serial/lib:/home/sigveka/Git/Porto/build/core/src/kernel:/usr/local/lib:/home/sigveka/Qt5.6.2/5.6/gcc_64/lib /usr/bin/ld: /usr/local/lib/libgtest.a(gtest-all.cc.o): undefined reference to symbol 'pthread_key_delete@@GLIBC_2.2.5' /lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status storage/test/hdf5/CMakeFiles/storage-test-hdf5.dir/build.make:212: recipe for target 'storage/test/hdf5/storage-test-hdf5' failed make[2]: [storage/test/hdf5/storage-test-hdf5] Error 1 make[2]: Leaving directory '/home/sigveka/Git/Porto/build' CMakeFiles/Makefile2:583: recipe for target 'storage/test/hdf5/CMakeFiles/storage-test-hdf5.dir/all' failed make[1]: [storage/test/hdf5/CMakeFiles/storage-test-hdf5.dir/all] Error 2 make[1]: Leaving directory '/home/sigveka/Git/Porto/build' Makefile:160: recipe for target 'all' failed make: *** [all] Error 2

Python (2)

-- The C compiler identification is GNU 5.4.0 -- The CXX compiler identification is GNU 5.4.0 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/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/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Setting build type to 'Debug' as none was specified. -- Looking for pthread.h -- Looking for 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 -- Found BSON: /usr/local/lib/libbson-1.0.so;-lpthread (found version "1.3.0") -- Found HDF5: /usr/lib/x86_64-linux-gnu/hdf5/serial/lib/libhdf5.so;/usr/lib/x86_64-linux-gnu/libpthread.so;/usr/lib/x86_64-linux-gnu/libsz.so;/usr/lib/x86_64-linux-gnu/libz.so;/usr/lib/x86_64-linux-gnu/libdl.so;/usr/lib/x86_64-linux-gnu/libm.so (found version "1.8.16") -- Found MONGOC: /usr/local/lib/libmongoc-1.0.so;-lpthread (found version "1.3.0") -- Using HDF5_INCLUDE_DIR: /usr/include/hdf5/serial -- Using HDF5_LIBRARIES: /usr/lib/x86_64-linux-gnu/hdf5/serial/lib/libhdf5.so;/usr/lib/x86_64-linux-gnu/libpthread.so;/usr/lib/x86_64-linux-gnu/libsz.so;/usr/lib/x86_64-linux-gnu/libz.so;/usr/lib/x86_64-linux-gnu/libdl.so;/usr/lib/x86_64-linux-gnu/libm.so -- soft-storage-mongo libs: /usr/local/lib/libmongoc-1.0.so;-lpthread;soft-kernel;/usr/local/lib/libbson-1.0.so;-lpthread;Qt5::Core;Qt5::Network;Qt5::Script;Qt5::Concurrent -- Found NLOPT: /usr/lib/x86_64-linux-gnu/libnlopt.so -- Found SWIG: /usr/bin/swig3.0 (found version "3.0.8") -- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython2.7.so (found version "2.7.12") CMake Error at foreign/python/src/softpy/CMakeLists.txt:52 (get_filename_component): get_filename_component called with incorrect number of arguments

CMake Error at foreign/python/src/softpy/CMakeLists.txt:54 (file): file RELATIVE_PATH called with incorrect number of arguments

CMake Error at foreign/python/src/softpy/CMakeLists.txt:61 (install): install FILES given no DESTINATION!

CMake Error at foreign/python/src/softpy/CMakeLists.txt:63 (install): install FILES given no DESTINATION!

-- Found Doxygen: /usr/local/bin/doxygen (found version "1.8.14") -- Configuring incomplete, errors occurred! See also "/home/sigveka/Git/Porto/build/CMakeFiles/CMakeOutput.log". See also "/home/sigveka/Git/Porto/build/CMakeFiles/CMakeError.log".

Fortran

[ 96%] Building Fortran object foreign/fortran/src/softf/CMakeFiles/softf.dir/entity-module.f90.o cd /home/sigveka/Git/Porto/build/foreign/fortran/src/softf && /usr/bin/gfortran -Dsoftf_EXPORTS -I/home/sigveka/Git/Porto/build/foreign/fortran/src/softf -I/home/sigveka/Git/Porto/foreign/fortran/src/softf -fno-f2c -O0 -g -fPIC -c /home/sigveka/Git/Porto/foreign/fortran/src/softf/entity-module.f90 -o CMakeFiles/softf.dir/entity-module.f90.o /home/sigveka/Git/Porto/foreign/fortran/src/softf/entity-module.f90:18:14:

  procedure, public, pass(self) :: get_id => entity_get_id3
    1

Error: ‘entity_get_id3’ must be a module procedure or an external procedure with an explicit interface at (1) foreign/fortran/src/softf/CMakeFiles/softf.dir/build.make:62: recipe for target 'foreign/fortran/src/softf/CMakeFiles/softf.dir/entity-module.f90.o' failed make[2]: [foreign/fortran/src/softf/CMakeFiles/softf.dir/entity-module.f90.o] Error 1 make[2]: Leaving directory '/home/sigveka/Git/Porto/build' CMakeFiles/Makefile2:1532: recipe for target 'foreign/fortran/src/softf/CMakeFiles/softf.dir/all' failed make[1]: [foreign/fortran/src/softf/CMakeFiles/softf.dir/all] Error 2 make[1]: Leaving directory '/home/sigveka/Git/Porto/build' Makefile:149: recipe for target 'all' failed make: *** [all] Error 2

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/NanoSim/Porto/issues/4, or mute the thread https://github.com/notifications/unsubscribe-auth/AAi_6Z2FMzs0dXE8qjD56gT9mS9NkRvBks5sMzUUgaJpZM4OT6Al .

sigveka commented 7 years ago

Thomas,

This can/should wait until your vacation is over.

I thought that was the case as well, but the error persists and seem to start the first time a test is compiled. I will make a virtual machine and try to reproduce it there.

I have a clean VM based on LUbuntu 16.04 producing the same error. If you wish to make one yourself the exact sequence I followed is outlined below (note that I am only using packaged dependencies).

Packages

sudo apt upgrade
sudo apt install build-essential cmake doxygen git mongodb libbson-dev libmongoc-dev python-dev qt5-default qtscript5-dev

Git repos

[snip]

 cd
 git clone https://github.com/google/googletest.git
 mkdir "~/googletest/build"
 cd "~/googletest/build"
 cmake ..
 cmake --build .
 sudo cmake --build . --target install

[/snip]

[snip]

cd
git clone https://github.com/NanoSim/Porto.git
mkdir "~/Porto/build"
cd "~/Porto/build"
cmake ..
cmake --build .

[/snip]

-- Sigve