epronk/nmdepend — Issue #1: nmdepend will not compile against boost 1.48
Author: nickbroon
Created: 2012-02-28 18:09:00+00:00
State: open

Boost filesystem has moved from version 2 to version 3 and there have been quite a few deprecations that effect nmdepnd
Details of these are given here: http://www.boost.org/doc/libs/1_49_0/libs/filesystem/v3/doc/deprecated.html
(Version 2 and 3 were available together in 1.46 and 1.47, but as of 1.48 only version 3 is available)
The compiler errors reported are below.
Would it be possible to port nmdpend to newer versions of Boost?

```
nicbrown-mac:nmdepend nicbrown$ make VERBOSE=1 -k
Makefile:547: warning: overriding commands for target `depend'
Makefile:149: warning: ignoring old commands for target `depend'
/opt/local/bin/cmake -H/Users/nicbrown/nmdepend -B/Users/nicbrown/nmdepend --check-build-system CMakeFiles/Makefile.cmake 0
/opt/local/bin/cmake -E cmake_progress_start /Users/nicbrown/nmdepend/CMakeFiles /Users/nicbrown/nmdepend/CMakeFiles/progress.marks
make -f CMakeFiles/Makefile2 all
make -f src/CMakeFiles/core.dir/build.make src/CMakeFiles/core.dir/depend
cd /Users/nicbrown/nmdepend && /opt/local/bin/cmake -E cmake_depends "Unix Makefiles" /Users/nicbrown/nmdepend /Users/nicbrown/nmdepend/src /Users/nicbrown/nmdepend /Users/nicbrown/nmdepend/src /Users/nicbrown/nmdepend/src/CMakeFiles/core.dir/DependInfo.cmake --color=
make -f src/CMakeFiles/core.dir/build.make src/CMakeFiles/core.dir/build
/opt/local/bin/cmake -E cmake_progress_report /Users/nicbrown/nmdepend/CMakeFiles 2
[ 4%] Building CXX object src/CMakeFiles/core.dir/Bfd.o
cd /Users/nicbrown/nmdepend/src && /usr/bin/c++ -Wall -W -O2 -I/Users/nicbrown/nmdepend/src -I/opt/local/include -o CMakeFiles/core.dir/Bfd.o -c /Users/nicbrown/nmdepend/src/Bfd.cpp
In file included from /Users/nicbrown/nmdepend/src/Bfd.cpp:8:
/Users/nicbrown/nmdepend/src/Bfd.h:14: error: redefinition of ‘class Bfd’
/Users/nicbrown/nmdepend/src/bfd.h:15: error: previous definition of ‘class Bfd’
/Users/nicbrown/nmdepend/src/Bfd.cpp: In static member function ‘static const std::string Bfd::packageName(const boost::filesystem3::path&, int)’:
/Users/nicbrown/nmdepend/src/Bfd.cpp:27: error: conversion from ‘const boost::filesystem3::path’ to non-scalar type ‘const std::string’ requested
/Users/nicbrown/nmdepend/src/Bfd.cpp: In member function ‘Entity* Bfd::Read(const boost::filesystem3::path&, int)’:
/Users/nicbrown/nmdepend/src/Bfd.cpp:33: error: ‘bfd_openr’ was not declared in this scope
/Users/nicbrown/nmdepend/src/Bfd.cpp:40: error: conversion from ‘const boost::filesystem3::path’ to non-scalar type ‘std::basic_string, std::allocator >’ requested
/Users/nicbrown/nmdepend/src/Bfd.cpp:42: error: ‘bfd_object’ was not declared in this scope
/Users/nicbrown/nmdepend/src/Bfd.cpp:42: error: ‘bfd_check_format’ was not declared in this scope
/Users/nicbrown/nmdepend/src/Bfd.cpp:53: error: ‘bfd_archive’ was not declared in this scope
/Users/nicbrown/nmdepend/src/Bfd.cpp:53: error: ‘bfd_check_format’ was not declared in this scope
/Users/nicbrown/nmdepend/src/Bfd.cpp:59: error: ‘bfd_get_filename’ was not declared in this scope
/Users/nicbrown/nmdepend/src/Bfd.cpp:61: error: ‘bfd_openr_next_archived_file’ was not declared in this scope
/Users/nicbrown/nmdepend/src/Bfd.cpp: In member function ‘Entity* Bfd::ReadPackage(const boost::filesystem3::path&, int)’:
/Users/nicbrown/nmdepend/src/Bfd.cpp:77: error: ‘bfd_openr’ was not declared in this scope
/Users/nicbrown/nmdepend/src/Bfd.cpp:84: error: conversion from ‘const boost::filesystem3::path’ to non-scalar type ‘std::basic_string, std::allocator >’ requested
/Users/nicbrown/nmdepend/src/Bfd.cpp:86: error: ‘bfd_object’ was not declared in this scope
/Users/nicbrown/nmdepend/src/Bfd.cpp:86: error: ‘bfd_check_format’ was not declared in this scope
/Users/nicbrown/nmdepend/src/Bfd.cpp:91: error: ‘bfd_archive’ was not declared in this scope
/Users/nicbrown/nmdepend/src/Bfd.cpp:91: error: ‘bfd_check_format’ was not declared in this scope
/Users/nicbrown/nmdepend/src/Bfd.cpp:97: error: ‘bfd_get_filename’ was not declared in this scope
/Users/nicbrown/nmdepend/src/Bfd.cpp:100: error: ‘bfd_openr_next_archived_file’ was not declared in this scope
/opt/local/include/boost/system/error_code.hpp: At global scope:
/opt/local/include/boost/system/error_code.hpp:214: warning: ‘boost::system::posix_category’ defined but not used
/opt/local/include/boost/system/error_code.hpp:215: warning: ‘boost::system::errno_ecat’ defined but not used
/opt/local/include/boost/system/error_code.hpp:216: warning: ‘boost::system::native_ecat’ defined but not used
make[2]: *** [src/CMakeFiles/core.dir/Bfd.o] Error 1
/opt/local/bin/cmake -E cmake_progress_report /Users/nicbrown/nmdepend/CMakeFiles 4
[ 8%] Building CXX object src/CMakeFiles/core.dir/Entity.o
cd /Users/nicbrown/nmdepend/src && /usr/bin/c++ -Wall -W -O2 -I/Users/nicbrown/nmdepend/src -I/opt/local/include -o CMakeFiles/core.dir/Entity.o -c /Users/nicbrown/nmdepend/src/Entity.cpp
/usr/include/c++/4.2.1/bits/ostream_insert.h: In function ‘std::basic_ostream<_CharT, _Traits>& std::__ostream_insert(std::basic_ostream<_CharT, _Traits>&, const _CharT*, std::streamsize) [with _CharT = char, _Traits = std::char_traits]’:
/usr/include/c++/4.2.1/bits/basic_string.h:2414: instantiated from ‘std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits = std::char_traits, _Alloc = std::allocator]’
/Users/nicbrown/nmdepend/src/Entity.h:42: instantiated from here
/usr/include/c++/4.2.1/bits/ostream_insert.h:82: error: invalid use of incomplete type ‘struct std::basic_ostream >’
/usr/include/c++/4.2.1/iosfwd:64: error: declaration of ‘struct std::basic_ostream >’
/usr/include/c++/4.2.1/bits/ostream_insert.h:84: error: invalid use of incomplete type ‘struct std::basic_ostream >’
/usr/include/c++/4.2.1/iosfwd:64: error: declaration of ‘struct std::basic_ostream >’
/usr/include/c++/4.2.1/bits/ostream_insert.h:84: error: invalid use of incomplete type ‘struct std::basic_ostream >’
/usr/include/c++/4.2.1/iosfwd:64: error: declaration of ‘struct std::basic_ostream >’
/usr/include/c++/4.2.1/bits/ostream_insert.h:89: error: invalid use of incomplete type ‘struct std::basic_ostream >’
/usr/include/c++/4.2.1/iosfwd:64: error: declaration of ‘struct std::basic_ostream >’
/usr/include/c++/4.2.1/bits/ostream_insert.h:94: error: invalid use of incomplete type ‘struct std::basic_ostream >’
/usr/include/c++/4.2.1/iosfwd:64: error: declaration of ‘struct std::basic_ostream >’
/usr/include/c++/4.2.1/bits/ostream_insert.h:94: error: invalid use of incomplete type ‘struct std::basic_ostream >’
/usr/include/c++/4.2.1/iosfwd:64: error: declaration of ‘struct std::basic_ostream >’
/usr/include/c++/4.2.1/bits/ostream_insert.h:94: error: invalid use of incomplete type ‘struct std::basic_ostream >’
/usr/include/c++/4.2.1/iosfwd:64: error: declaration of ‘struct std::basic_ostream >’
/usr/include/c++/4.2.1/bits/basic_string.h:2414: instantiated from ‘std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits = std::char_traits, _Alloc = std::allocator]’
/Users/nicbrown/nmdepend/src/Entity.h:42: instantiated from here
/usr/include/c++/4.2.1/bits/ostream_insert.h:97: error: invalid use of incomplete type ‘struct std::basic_ostream >’
/usr/include/c++/4.2.1/iosfwd:64: error: declaration of ‘struct std::basic_ostream >’
/usr/include/c++/4.2.1/bits/basic_string.h:2414: instantiated from ‘std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits = std::char_traits, _Alloc = std::allocator]’
/Users/nicbrown/nmdepend/src/Entity.h:42: instantiated from here
/usr/include/c++/4.2.1/bits/ostream_insert.h:99: error: invalid use of incomplete type ‘struct std::basic_ostream >’
/usr/include/c++/4.2.1/iosfwd:64: error: declaration of ‘struct std::basic_ostream >’
/usr/include/c++/4.2.1/bits/ostream_insert.h:104: error: invalid use of incomplete type ‘struct std::basic_ostream >’
/usr/include/c++/4.2.1/iosfwd:64: error: declaration of ‘struct std::basic_ostream >’
/usr/include/c++/4.2.1/bits/ostream_insert.h:107: error: invalid use of incomplete type ‘struct std::basic_ostream >’
/usr/include/c++/4.2.1/iosfwd:64: error: declaration of ‘struct std::basic_ostream >’
/usr/include/c++/4.2.1/bits/ostream_insert.h:107: error: invalid use of incomplete type ‘struct std::basic_ostream >’
/usr/include/c++/4.2.1/iosfwd:64: error: declaration of ‘struct std::basic_ostream >’
/usr/include/c++/4.2.1/bits/ostream_insert.h: In function ‘void std::__ostream_fill(std::basic_ostream<_CharT, _Traits>&, std::streamsize) [with _CharT = char, _Traits = std::char_traits]’:
/usr/include/c++/4.2.1/bits/ostream_insert.h:96: instantiated from ‘std::basic_ostream<_CharT, _Traits>& std::__ostream_insert(std::basic_ostream<_CharT, _Traits>&, const _CharT*, std::streamsize) [with _CharT = char, _Traits = std::char_traits]’
/usr/include/c++/4.2.1/bits/basic_string.h:2414: instantiated from ‘std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits = std::char_traits, _Alloc = std::allocator]’
/Users/nicbrown/nmdepend/src/Entity.h:42: instantiated from here
/usr/include/c++/4.2.1/bits/ostream_insert.h:62: error: invalid use of incomplete type ‘struct std::basic_ostream >’
/usr/include/c++/4.2.1/iosfwd:64: error: declaration of ‘struct std::basic_ostream >’
/usr/include/c++/4.2.1/bits/ostream_insert.h:64: error: invalid use of incomplete type ‘struct std::basic_ostream >’
/usr/include/c++/4.2.1/iosfwd:64: error: declaration of ‘struct std::basic_ostream >’
/usr/include/c++/4.2.1/bits/ostream_insert.h:67: error: invalid use of incomplete type ‘struct std::basic_ostream >’
/usr/include/c++/4.2.1/iosfwd:64: error: declaration of ‘struct std::basic_ostream >’
/usr/include/c++/4.2.1/bits/ostream_insert.h:70: error: invalid use of incomplete type ‘struct std::basic_ostream >’
/usr/include/c++/4.2.1/iosfwd:64: error: declaration of ‘struct std::basic_ostream >’
/usr/include/c++/4.2.1/bits/ostream_insert.h:70: error: invalid use of incomplete type ‘struct std::basic_ostream >’
/usr/include/c++/4.2.1/iosfwd:64: error: declaration of ‘struct std::basic_ostream >’
/usr/include/c++/4.2.1/bits/ostream_insert.h: In function ‘void std::__ostream_write(std::basic_ostream<_CharT, _Traits>&, const _CharT*, std::streamsize) [with _CharT = char, _Traits = std::char_traits]’:
/usr/include/c++/4.2.1/bits/ostream_insert.h:98: instantiated from ‘std::basic_ostream<_CharT, _Traits>& std::__ostream_insert(std::basic_ostream<_CharT, _Traits>&, const _CharT*, std::streamsize) [with _CharT = char, _Traits = std::char_traits]’
/usr/include/c++/4.2.1/bits/basic_string.h:2414: instantiated from ‘std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits = std::char_traits, _Alloc = std::allocator]’
/Users/nicbrown/nmdepend/src/Entity.h:42: instantiated from here
/usr/include/c++/4.2.1/bits/ostream_insert.h:50: error: invalid use of incomplete type ‘struct std::basic_ostream >’
/usr/include/c++/4.2.1/iosfwd:64: error: declaration of ‘struct std::basic_ostream >’
/usr/include/c++/4.2.1/bits/ostream_insert.h:52: error: invalid use of incomplete type ‘struct std::basic_ostream >’
/usr/include/c++/4.2.1/iosfwd:64: error: declaration of ‘struct std::basic_ostream >’
/usr/include/c++/4.2.1/bits/ostream_insert.h:54: error: invalid use of incomplete type ‘struct std::basic_ostream >’
/usr/include/c++/4.2.1/iosfwd:64: error: declaration of ‘struct std::basic_ostream >’
/usr/include/c++/4.2.1/bits/ostream_insert.h:54: error: invalid use of incomplete type ‘struct std::basic_ostream >’
/usr/include/c++/4.2.1/iosfwd:64: error: declaration of ‘struct std::basic_ostream >’
make[2]: *** [src/CMakeFiles/core.dir/Entity.o] Error 1
/opt/local/bin/cmake -E cmake_progress_report /Users/nicbrown/nmdepend/CMakeFiles 6
[ 12%] Building CXX object src/CMakeFiles/core.dir/Graph.o
cd /Users/nicbrown/nmdepend/src && /usr/bin/c++ -Wall -W -O2 -I/Users/nicbrown/nmdepend/src -I/opt/local/include -o CMakeFiles/core.dir/Graph.o -c /Users/nicbrown/nmdepend/src/Graph.cpp
/Users/nicbrown/nmdepend/src/Graph.cpp:6: error: ‘boost::GraphvizDigraph’ has not been declared
make[2]: *** [src/CMakeFiles/core.dir/Graph.o] Error 1
/opt/local/bin/cmake -E cmake_progress_report /Users/nicbrown/nmdepend/CMakeFiles 7
[ 16%] Building CXX object src/CMakeFiles/core.dir/ObjectFile.o
cd /Users/nicbrown/nmdepend/src && /usr/bin/c++ -Wall -W -O2 -I/Users/nicbrown/nmdepend/src -I/opt/local/include -o CMakeFiles/core.dir/ObjectFile.o -c /Users/nicbrown/nmdepend/src/ObjectFile.cpp
/Users/nicbrown/nmdepend/src/ObjectFile.cpp: In member function ‘void ObjectFile::Read(const boost::filesystem3::path&)’:
/Users/nicbrown/nmdepend/src/ObjectFile.cpp:86: error: ‘bfd_openr’ was not declared in this scope
/Users/nicbrown/nmdepend/src/ObjectFile.cpp: In member function ‘void ObjectFile::Read(bfd*)’:
/Users/nicbrown/nmdepend/src/ObjectFile.cpp:94: error: ‘bfd_object’ was not declared in this scope
/Users/nicbrown/nmdepend/src/ObjectFile.cpp:94: error: ‘bfd_check_format’ was not declared in this scope
/Users/nicbrown/nmdepend/src/ObjectFile.cpp:103: error: ‘bfd_boolean’ was not declared in this scope
/Users/nicbrown/nmdepend/src/ObjectFile.cpp:103: error: expected `;' before ‘dynamic’
/Users/nicbrown/nmdepend/src/ObjectFile.cpp:107: error: ‘dynamic’ was not declared in this scope
/Users/nicbrown/nmdepend/src/ObjectFile.cpp:107: error: ‘bfd_read_minisymbols’ was not declared in this scope
/Users/nicbrown/nmdepend/src/ObjectFile.cpp:109: error: ‘asymbol’ was not declared in this scope
/Users/nicbrown/nmdepend/src/ObjectFile.cpp:109: error: ‘store’ was not declared in this scope
/Users/nicbrown/nmdepend/src/ObjectFile.cpp:109: error: ‘bfd_make_empty_symbol’ was not declared in this scope
/Users/nicbrown/nmdepend/src/ObjectFile.cpp:112: error: ‘bfd_byte’ was not declared in this scope
/Users/nicbrown/nmdepend/src/ObjectFile.cpp:112: error: ‘from’ was not declared in this scope
/Users/nicbrown/nmdepend/src/ObjectFile.cpp:112: error: expected type-specifier before ‘bfd_byte’
/Users/nicbrown/nmdepend/src/ObjectFile.cpp:112: error: expected `>' before ‘bfd_byte’
/Users/nicbrown/nmdepend/src/ObjectFile.cpp:112: error: expected `(' before ‘bfd_byte’
/Users/nicbrown/nmdepend/src/ObjectFile.cpp:112: error: expected primary-expression before ‘>’ token
/Users/nicbrown/nmdepend/src/ObjectFile.cpp:112: error: expected `)' before ‘;’ token
/Users/nicbrown/nmdepend/src/ObjectFile.cpp:113: error: ‘fromend’ was not declared in this scope
/Users/nicbrown/nmdepend/src/ObjectFile.cpp:116: error: ‘sym’ was not declared in this scope
/Users/nicbrown/nmdepend/src/ObjectFile.cpp:116: error: ‘bfd_minisymbol_to_symbol’ was not declared in this scope
/Users/nicbrown/nmdepend/src/ObjectFile.cpp:119: error: ‘bfd_asymbol_name’ was not declared in this scope
/Users/nicbrown/nmdepend/src/ObjectFile.cpp:123: error: ‘asection’ was not declared in this scope
/Users/nicbrown/nmdepend/src/ObjectFile.cpp:123: error: ‘section’ was not declared in this scope
/Users/nicbrown/nmdepend/src/ObjectFile.cpp:123: error: ‘bfd_get_section’ was not declared in this scope
/Users/nicbrown/nmdepend/src/ObjectFile.cpp:124: error: ‘bfd_is_und_section’ was not declared in this scope
/Users/nicbrown/nmdepend/src/ObjectFile.cpp:134: error: ‘BSF_FUNCTION’ was not declared in this scope
/Users/nicbrown/nmdepend/src/ObjectFile.cpp:139: error: ‘BSF_OBJECT’ was not declared in this scope
/opt/local/include/boost/system/error_code.hpp: At global scope:
/opt/local/include/boost/system/error_code.hpp:214: warning: ‘boost::system::posix_category’ defined but not used
/opt/local/include/boost/system/error_code.hpp:215: warning: ‘boost::system::errno_ecat’ defined but not used
/opt/local/include/boost/system/error_code.hpp:216: warning: ‘boost::system::native_ecat’ defined but not used
make[2]: *** [src/CMakeFiles/core.dir/ObjectFile.o] Error 1
make[2]: Target `src/CMakeFiles/core.dir/build' not remade because of errors.
make[1]: *** [src/CMakeFiles/core.dir/all] Error 2
make -f depend/CMakeFiles/depend.dir/build.make depend/CMakeFiles/depend.dir/depend
cd /Users/nicbrown/nmdepend && /opt/local/bin/cmake -E cmake_depends "Unix Makefiles" /Users/nicbrown/nmdepend /Users/nicbrown/nmdepend/depend /Users/nicbrown/nmdepend /Users/nicbrown/nmdepend/depend /Users/nicbrown/nmdepend/depend/CMakeFiles/depend.dir/DependInfo.cmake --color=
make -f depend/CMakeFiles/depend.dir/build.make depend/CMakeFiles/depend.dir/build
make[2]: Nothing to be done for `depend/CMakeFiles/depend.dir/build'.
/opt/local/bin/cmake -E cmake_progress_report /Users/nicbrown/nmdepend/CMakeFiles 14 15 16 17
[ 32%] Built target depend
make -f src/test/project1/sub1/CMakeFiles/p1sub1.dir/build.make src/test/project1/sub1/CMakeFiles/p1sub1.dir/depend
cd /Users/nicbrown/nmdepend && /opt/local/bin/cmake -E cmake_depends "Unix Makefiles" /Users/nicbrown/nmdepend /Users/nicbrown/nmdepend/src/test/project1/sub1 /Users/nicbrown/nmdepend /Users/nicbrown/nmdepend/src/test/project1/sub1 /Users/nicbrown/nmdepend/src/test/project1/sub1/CMakeFiles/p1sub1.dir/DependInfo.cmake --color=
make -f src/test/project1/sub1/CMakeFiles/p1sub1.dir/build.make src/test/project1/sub1/CMakeFiles/p1sub1.dir/build
make[2]: Nothing to be done for `src/test/project1/sub1/CMakeFiles/p1sub1.dir/build'.
/opt/local/bin/cmake -E cmake_progress_report /Users/nicbrown/nmdepend/CMakeFiles 20 21 22
[ 44%] Built target p1sub1
make -f src/test/project1/sub2/CMakeFiles/p1sub2.dir/build.make src/test/project1/sub2/CMakeFiles/p1sub2.dir/depend
cd /Users/nicbrown/nmdepend && /opt/local/bin/cmake -E cmake_depends "Unix Makefiles" /Users/nicbrown/nmdepend /Users/nicbrown/nmdepend/src/test/project1/sub2 /Users/nicbrown/nmdepend /Users/nicbrown/nmdepend/src/test/project1/sub2 /Users/nicbrown/nmdepend/src/test/project1/sub2/CMakeFiles/p1sub2.dir/DependInfo.cmake --color=
make -f src/test/project1/sub2/CMakeFiles/p1sub2.dir/build.make src/test/project1/sub2/CMakeFiles/p1sub2.dir/build
make[2]: Nothing to be done for `src/test/project1/sub2/CMakeFiles/p1sub2.dir/build'.
/opt/local/bin/cmake -E cmake_progress_report /Users/nicbrown/nmdepend/CMakeFiles 23 24 25
[ 56%] Built target p1sub2
make -f src/test/project1/app/CMakeFiles/example.dir/build.make src/test/project1/app/CMakeFiles/example.dir/depend
cd /Users/nicbrown/nmdepend && /opt/local/bin/cmake -E cmake_depends "Unix Makefiles" /Users/nicbrown/nmdepend /Users/nicbrown/nmdepend/src/test/project1/app /Users/nicbrown/nmdepend /Users/nicbrown/nmdepend/src/test/project1/app /Users/nicbrown/nmdepend/src/test/project1/app/CMakeFiles/example.dir/DependInfo.cmake --color=
make -f src/test/project1/app/CMakeFiles/example.dir/build.make src/test/project1/app/CMakeFiles/example.dir/build
Linking C executable example
cd /Users/nicbrown/nmdepend/src/test/project1/app && /opt/local/bin/cmake -E cmake_link_script CMakeFiles/example.dir/link.txt --verbose=1
/usr/bin/gcc -Wl,-search_paths_first -Wl,-headerpad_max_install_names CMakeFiles/example.dir/main.o -o example ../sub1/libp1sub1.a ../sub2/libp1sub2.a
Undefined symbols for architecture x86_64:
"_ab", referenced from:
_a in libp1sub1.a(a.o)
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make[2]: *** [src/test/project1/app/example] Error 1
make[2]: Target `src/test/project1/app/CMakeFiles/example.dir/build' not remade because of errors.
make[1]: *** [src/test/project1/app/CMakeFiles/example.dir/all] Error 2
make[1]: Target `all' not remade because of errors.
make: *** [all] Error 2
make: Target `default_target' not remade because of errors.
```