Hi everyone,

I hope this is the right place to ask, if not, please point me to it :)

I am trying to port the SeqAn bioinformatics library and derived applications to OpenBSD (mainly because my Laptop runs OpenBSD, but I hope it will be useful to others).

Beside other questions regarding OpenMP and -march=native that I asked here previously (and I hope to getback to soon), I am encountering some strange build behaviour of gcc49 that I have never encountered on other platforms:

Some build targets report that there is an error during linking, but curiously there is no error, the linking succeeds. Have any of you encountered something similar when porting software to OpenBSD or do you have recommendations on how to debug this?

HowTo reproduce:

 * checkout master from https://github.com/seqan/seqan
 * install gcc-4.9.3p3
 * cmake path/to/seqan -DCMAKE_CXX_COMPILER=eg++
 * make test_sequence_v2 VERBOSE=1 # see error
 * ls bin # see that binary is there
 * bin/test_sequence_v2 # see that the binary works
* make test_sequence_v2 VERBOSE=1 # nothing to be done, because first make actually did work

Thanks for your help!

Best regards,
Hannes

This is what the (non)error looks like:
collect2: error: /usr/bin/nm returned 1 exit status
*** Error 1 in . (tests/sequence/CMakeFiles/test_sequence_v2.dir/build.make:95 'bin/test_sequence_v2') *** Error 1 in . (CMakeFiles/Makefile2:4191 'tests/sequence/CMakeFiles/test_sequence_v2.dir/all') *** Error 1 in . (CMakeFiles/Makefile2:4203 'tests/sequence/CMakeFiles/test_sequence_v2.dir/rule') *** Error 1 in /home/h4nn3s/devel/seqan-build/release2 (Makefile:1291 'test_sequence_v2')


A full log is attached.
# BUILDING FIRST TIME PRODUCES ERROR DURING LINKING
% make test_sequence_v2 VERBOSE=1
/usr/local/bin/cmake -H/home/h4nn3s/devel/seqan 
-B/home/h4nn3s/devel/seqan-build/release2 --check-build-system 
CMakeFiles/Makefile.cmake 0
make -f CMakeFiles/Makefile2 test_sequence_v2
/usr/local/bin/cmake -H/home/h4nn3s/devel/seqan 
-B/home/h4nn3s/devel/seqan-build/release2 --check-build-system 
CMakeFiles/Makefile.cmake 0
/usr/local/bin/cmake -E cmake_progress_start 
/home/h4nn3s/devel/seqan-build/release2/CMakeFiles 0
make -f CMakeFiles/Makefile2 tests/sequence/CMakeFiles/test_sequence_v2.dir/all
make -f CMakeFiles/seqan_library.dir/build.make 
CMakeFiles/seqan_library.dir/depend
cd /home/h4nn3s/devel/seqan-build/release2 && /usr/local/bin/cmake -E 
cmake_depends "Unix Makefiles" /home/h4nn3s/devel/seqan 
/home/h4nn3s/devel/seqan /home/h4nn3s/devel/seqan-build/release2 
/home/h4nn3s/devel/seqan-build/release2 
/home/h4nn3s/devel/seqan-build/release2/CMakeFiles/seqan_library.dir/DependInfo.cmake
 --color=
make -f CMakeFiles/seqan_library.dir/build.make 
CMakeFiles/seqan_library.dir/build
Built target seqan_library
make -f tests/sequence/CMakeFiles/test_sequence_v2.dir/build.make 
tests/sequence/CMakeFiles/test_sequence_v2.dir/depend
cd /home/h4nn3s/devel/seqan-build/release2 && /usr/local/bin/cmake -E 
cmake_depends "Unix Makefiles" /home/h4nn3s/devel/seqan 
/home/h4nn3s/devel/seqan/tests/sequence /home/h4nn3s/devel/seqan-build/release2 
/home/h4nn3s/devel/seqan-build/release2/tests/sequence 
/home/h4nn3s/devel/seqan-build/release2/tests/sequence/CMakeFiles/test_sequence_v2.dir/DependInfo.cmake
 --color=
make -f tests/sequence/CMakeFiles/test_sequence_v2.dir/build.make 
tests/sequence/CMakeFiles/test_sequence_v2.dir/build
Building CXX object 
tests/sequence/CMakeFiles/test_sequence_v2.dir/test_sequence_v2.cpp.o
cd /home/h4nn3s/devel/seqan-build/release2/tests/sequence && 
/home/h4nn3s/bin/eg++   -DSEQAN_ENABLE_TESTING=1 -DSEQAN_HAS_EXECINFO=1 
-D_FILE_OFFSET_BITS=64 -D_GLIBCXX_USE_C99=1 -D_LARGEFILE_SOURCE 
-I/home/h4nn3s/devel/seqan/include  -std=c++14  -W -Wall -pedantic 
-fstrict-aliasing -Wstrict-aliasing    -DSEQAN_GLOBAL_EXCEPTION_HANDLER=1 -o 
CMakeFiles/test_sequence_v2.dir/test_sequence_v2.cpp.o -c 
/home/h4nn3s/devel/seqan/tests/sequence/test_sequence_v2.cpp
Linking CXX executable ../../bin/test_sequence_v2
cd /home/h4nn3s/devel/seqan-build/release2/tests/sequence && 
/usr/local/bin/cmake -E cmake_link_script 
CMakeFiles/test_sequence_v2.dir/link.txt --verbose=1
/home/h4nn3s/bin/eg++    -std=c++14  -W -Wall -pedantic -fstrict-aliasing 
-Wstrict-aliasing   CMakeFiles/test_sequence_v2.dir/test_sequence_v2.cpp.o  -o 
../../bin/test_sequence_v2  -lpthread -lexecinfo -lelf 
-Wl,-rpath-link,/usr/X11R6/lib 
collect2: error: /usr/bin/nm returned 1 exit status
*** Error 1 in . (tests/sequence/CMakeFiles/test_sequence_v2.dir/build.make:95 
'bin/test_sequence_v2')
*** Error 1 in . (CMakeFiles/Makefile2:4191 
'tests/sequence/CMakeFiles/test_sequence_v2.dir/all')
*** Error 1 in . (CMakeFiles/Makefile2:4203 
'tests/sequence/CMakeFiles/test_sequence_v2.dir/rule')
*** Error 1 in /home/h4nn3s/devel/seqan-build/release2 (Makefile:1291 
'test_sequence_v2')


# BINARYIS IS THERE
% ls bin
test_sequence_v2


# RUNNING THE BINARYWORKS::
% bin/test_sequence_v2
# ...

# BUILDING THE SAME TARGET AGAIN SHOWS THAT THERE IS NOTHING TO BE DONE:
% make test_sequence_v2 VERBOSE=1
/usr/local/bin/cmake -H/home/h4nn3s/devel/seqan 
-B/home/h4nn3s/devel/seqan-build/release2 --check-build-system 
CMakeFiles/Makefile.cmake 0
make -f CMakeFiles/Makefile2 test_sequence_v2
/usr/local/bin/cmake -H/home/h4nn3s/devel/seqan 
-B/home/h4nn3s/devel/seqan-build/release2 --check-build-system 
CMakeFiles/Makefile.cmake 0
/usr/local/bin/cmake -E cmake_progress_start 
/home/h4nn3s/devel/seqan-build/release2/CMakeFiles 0
make -f CMakeFiles/Makefile2 tests/sequence/CMakeFiles/test_sequence_v2.dir/all
make -f CMakeFiles/seqan_library.dir/build.make 
CMakeFiles/seqan_library.dir/depend
cd /home/h4nn3s/devel/seqan-build/release2 && /usr/local/bin/cmake -E 
cmake_depends "Unix Makefiles" /home/h4nn3s/devel/seqan 
/home/h4nn3s/devel/seqan /home/h4nn3s/devel/seqan-build/release2 
/home/h4nn3s/devel/seqan-build/release2 
/home/h4nn3s/devel/seqan-build/release2/CMakeFiles/seqan_library.dir/DependInfo.cmake
 --color=
make -f CMakeFiles/seqan_library.dir/build.make 
CMakeFiles/seqan_library.dir/build
Built target seqan_library
make -f tests/sequence/CMakeFiles/test_sequence_v2.dir/build.make 
tests/sequence/CMakeFiles/test_sequence_v2.dir/depend
cd /home/h4nn3s/devel/seqan-build/release2 && /usr/local/bin/cmake -E 
cmake_depends "Unix Makefiles" /home/h4nn3s/devel/seqan 
/home/h4nn3s/devel/seqan/tests/sequence /home/h4nn3s/devel/seqan-build/release2 
/home/h4nn3s/devel/seqan-build/release2/tests/sequence 
/home/h4nn3s/devel/seqan-build/release2/tests/sequence/CMakeFiles/test_sequence_v2.dir/DependInfo.cmake
 --color=
make -f tests/sequence/CMakeFiles/test_sequence_v2.dir/build.make 
tests/sequence/CMakeFiles/test_sequence_v2.dir/build
Built target test_sequence_v2
/usr/local/bin/cmake -E cmake_progress_start 
/home/h4nn3s/devel/seqan-build/release2/CMakeFiles 0


Reply via email to