robotastic / trunk-recorder

Records calls from a Trunked Radio System (P25 & SmartNet)
GNU General Public License v3.0
850 stars 191 forks source link

OSX fails at [100%] Linking CXX executable recorder #370

Closed h00fty closed 4 years ago

h00fty commented 4 years ago

Tried compiling the latest build to be compatible with Broadcastify Calls and it fails on the final step..

attempted Brew and Macports. same issue on both.

[100%] Linking CXX executable recorder Undefined symbols for architecture x86_64: "boost::re_detail_107100::raw_storage::insert(unsigned long, unsigned long)", referenced from: boost::re_detail_107100::basic_regex_parser<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::parse_repeat(unsigned long, unsigned long) in call_uploader.cc.o boost::re_detail_107100::basic_regex_parser<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::parse_alt() in call_uploader.cc.o boost::re_detail_107100::basic_regex_parser<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::parse_perl_extension() in call_uploader.cc.o "boost::re_detail_107100::raw_storage::resize(unsigned long)", referenced from: boost::re_detail_107100::basic_regex_parser<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::parse(char const*, char const*, unsigned int) in call_uploader.cc.o boost::re_detail_107100::basic_regex_parser<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::parse_extended() in call_uploader.cc.o boost::re_detail_107100::basic_regex_parser<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::parse_basic() in call_uploader.cc.o boost::re_detail_107100::basic_regex_creator<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::finalize(char const*, char const*) in call_uploader.cc.o boost::re_detail_107100::basic_regex_parser<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::parse_open_paren() in call_uploader.cc.o boost::re_detail_107100::basic_regex_parser<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::parse_extended_escape() in call_uploader.cc.o boost::re_detail_107100::basic_regex_parser<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::parse_repeat(unsigned long, unsigned long) in call_uploader.cc.o ... "boost::re_detail_107100::get_mem_block()", referenced from: boost::re_detail_107100::perl_matcher<char const*, std::__1::allocator<boost::sub_match<char const*> >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::match_imp() in call_uploader.cc.o boost::re_detail_107100::perl_matcher<char const*, std::__1::allocator<boost::sub_match<char const*> >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::match_all_states() in call_uploader.cc.o boost::re_detail_107100::perl_matcher<char const*, std::__1::allocator<boost::sub_match<char const*> >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::match_startmark() in call_uploader.cc.o boost::re_detail_107100::perl_matcher<char const*, std::__1::allocator<boost::sub_match<char const*> >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::match_alt() in call_uploader.cc.o boost::re_detail_107100::perl_matcher<char const*, std::__1::allocator<boost::sub_match<char const*> >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::match_rep() in call_uploader.cc.o boost::re_detail_107100::perl_matcher<char const*, std::__1::allocator<boost::sub_match<char const*> >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::match_char_repeat() in call_uploader.cc.o boost::re_detail_107100::perl_matcher<char const*, std::__1::allocator<boost::sub_match<char const*> >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::match_set_repeat() in call_uploader.cc.o ... "boost::re_detail_107100::put_mem_block(void*)", referenced from: boost::re_detail_107100::perl_matcher<char const*, std::__1::allocator<boost::sub_match<char const*> >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::match_imp() in call_uploader.cc.o boost::re_detail_107100::perl_matcher<char const*, std::__1::allocator<boost::sub_match<char const*> >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::unwind_extra_block(bool) in call_uploader.cc.o "boost::re_detail_107100::verify_options(unsigned int, boost::regex_constants::_match_flags)", referenced from: boost::re_detail_107100::perl_matcher<char const*, std::__1::allocator<boost::sub_match<char const*> >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::match_imp() in call_uploader.cc.o "boost::re_detail_107100::raise_runtime_error(std::runtime_error const&)", referenced from: boost::re_detail_107100::cpp_regex_traits_implementation<char>::init() in call_uploader.cc.o void boost::re_detail_107100::raise_error<boost::regex_traits_wrapper<boost::regex_traits<char, boost::cpp_regex_traits<char> > > >(boost::regex_traits_wrapper<boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::error_type) in call_uploader.cc.o "boost::re_detail_107100::get_default_error_string(boost::regex_constants::error_type)", referenced from: boost::re_detail_107100::cpp_regex_traits_implementation<char>::init() in call_uploader.cc.o boost::re_detail_107100::cpp_regex_traits_implementation<char>::error_string(boost::regex_constants::error_type) const in call_uploader.cc.o "boost::re_detail_107100::cpp_regex_traits_char_layer<char>::init()", referenced from: boost::re_detail_107100::cpp_regex_traits_implementation<char>::cpp_regex_traits_implementation(boost::re_detail_107100::cpp_regex_traits_base<char> const&) in call_uploader.cc.o "boost::re_detail_107100::lookup_default_collate_name(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from: boost::re_detail_107100::cpp_regex_traits_implementation<char>::lookup_collatename(char const*, char const*) const in call_uploader.cc.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[2]: *** [recorder] Error 1 make[1]: *** [CMakeFiles/recorder.dir/all] Error 2 make: *** [all] Error 2

robotastic commented 4 years ago

Hmm... I just tried on my MacBook using MacPort and it worked fine. Are you sure Boost is installed?

h00fty commented 4 years ago

Yes boost is installed. I followed the procedure again to make sure. Trunk recorder was working and running before I tried recompiling.

OLD-MBP:~ josh$ sudo port install gnuradio uhd gr-osmosdr
--->  Computing dependencies for gnuradio
--->  Cleaning gnuradio
--->  Computing dependencies for uhd
--->  Cleaning uhd
--->  Computing dependencies for gr-osmosdr
--->  Cleaning gr-osmosdr
--->  Scanning binaries for linking errors
--->  No broken files found.                             
--->  No broken ports found.
OLD-MBP:~ josh$ sudo port install cmake boost uhd libusb cppunit
--->  Computing dependencies for cmake
--->  Cleaning cmake
--->  Computing dependencies for boost
--->  Cleaning boost
--->  Computing dependencies for uhd
--->  Cleaning uhd
--->  Cleaning libusb
--->  Cleaning cppunit
--->  Scanning binaries for linking errors
--->  No broken files found.
--->  No broken ports found.
OLD-MBP:~ josh$ mkdir trunk-build
OLD-MBP:~ josh$ git clone https://github.com/robotastic/trunk-recorder.git
Cloning into 'trunk-recorder'...
remote: Enumerating objects: 101, done.
remote: Counting objects: 100% (101/101), done.
remote: Compressing objects: 100% (73/73), done.
remote: Total 7372 (delta 46), reused 52 (delta 26), pack-reused 7271
Receiving objects: 100% (7372/7372), 3.57 MiB | 1.06 MiB/s, done.
Resolving deltas: 100% (5215/5215), done.
OLD-MBP:~ josh$ cd trunk-build
OLD-MBP:trunk-build josh$ cmake ../trunk-recorder
-- The CXX compiler identification is AppleClang 9.1.0.9020039
-- The C compiler identification is AppleClang 9.1.0.9020039
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ - works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc - works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Build type not specified: defaulting to release.
CMake Warning (dev) at /opt/local/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:272 (message):
  The package name passed to `find_package_handle_standard_args` (PkgConfig)
  does not match the name of the calling package (GnuradioRuntime).  This can
  lead to problems in calling code that expects `find_package` result
  variables (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  /opt/local/share/cmake-3.17/Modules/FindPkgConfig.cmake:45 (find_package_handle_standard_args)
  cmake/Modules/FindGnuradioRuntime.cmake:1 (INCLUDE)
  CMakeLists.txt:69 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found PkgConfig: /opt/local/bin/pkg-config (found version "0.29.2") 
-- Checking for module 'gnuradio-runtime'
--   Found gnuradio-runtime, version 3.7.13.5
CMake Warning (dev) at /opt/local/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:272 (message):
  The package name passed to `find_package_handle_standard_args`
  (GNURADIO_RUNTIME) does not match the name of the calling package
  (GnuradioRuntime).  This can lead to problems in calling code that expects
  `find_package` result variables (e.g., `_FOUND`) to follow a certain
  pattern.
Call Stack (most recent call first):
  cmake/Modules/FindGnuradioRuntime.cmake:35 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:69 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found GNURADIO_RUNTIME: /opt/local/lib/libgnuradio-runtime.dylib  
CMake Warning (dev) at /opt/local/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:272 (message):
  The package name passed to `find_package_handle_standard_args` (PkgConfig)
  does not match the name of the calling package (CppUnit).  This can lead to
  problems in calling code that expects `find_package` result variables
  (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  /opt/local/share/cmake-3.17/Modules/FindPkgConfig.cmake:45 (find_package_handle_standard_args)
  cmake/Modules/FindCppUnit.cmake:12 (INCLUDE)
  CMakeLists.txt:70 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Checking for module 'cppunit'
--   Found cppunit, version 1.15.1
CMake Warning (dev) at /opt/local/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:272 (message):
  The package name passed to `find_package_handle_standard_args` (CPPUNIT)
  does not match the name of the calling package (CppUnit).  This can lead to
  problems in calling code that expects `find_package` result variables
  (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  cmake/Modules/FindCppUnit.cmake:35 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:70 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found CPPUNIT: /opt/local/lib/libcppunit.dylib  
CMake Warning (dev) at /opt/local/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:272 (message):
  The package name passed to `find_package_handle_standard_args` (PkgConfig)
  does not match the name of the calling package (Gnuradio).  This can lead
  to problems in calling code that expects `find_package` result variables
  (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  /opt/local/share/cmake-3.17/Modules/FindPkgConfig.cmake:45 (find_package_handle_standard_args)
  /opt/local/share/cmake/gnuradio/GnuradioConfig.cmake:20 (INCLUDE)
  CMakeLists.txt:85 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

Checking for GNU Radio Module: RUNTIME
 * INCLUDES=/opt/local/include
 * LIBS=/opt/local/lib/libgnuradio-runtime.dylib;/opt/local/lib/libgnuradio-runtime.dylib;/opt/local/lib/libgnuradio-pmt.dylib;/opt/local/lib/liblog4cpp.dylib
CMake Warning (dev) at /opt/local/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:272 (message):
  The package name passed to `find_package_handle_standard_args`
  (GNURADIO_RUNTIME) does not match the name of the calling package
  (Gnuradio).  This can lead to problems in calling code that expects
  `find_package` result variables (e.g., `_FOUND`) to follow a certain
  pattern.
Call Stack (most recent call first):
  /opt/local/share/cmake/gnuradio/GnuradioConfig.cmake:108 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  /opt/local/share/cmake/gnuradio/GnuradioConfig.cmake:121 (GR_MODULE)
  CMakeLists.txt:85 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found GNURADIO_RUNTIME: /opt/local/lib/libgnuradio-runtime.dylib;/opt/local/lib/libgnuradio-runtime.dylib;/opt/local/lib/libgnuradio-pmt.dylib;/opt/local/lib/liblog4cpp.dylib  
GNURADIO_RUNTIME_FOUND = TRUE
Checking for GNU Radio Module: ANALOG
-- Checking for module 'gnuradio-analog'
--   Found gnuradio-analog, version 3.7.13.5
 * INCLUDES=/opt/local/include
 * LIBS=/opt/local/lib/libgnuradio-analog.dylib;/opt/local/lib/libgnuradio-runtime.dylib;/opt/local/lib/libgnuradio-pmt.dylib;/opt/local/lib/liblog4cpp.dylib;/opt/local/lib/libvolk.dylib
CMake Warning (dev) at /opt/local/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:272 (message):
  The package name passed to `find_package_handle_standard_args`
  (GNURADIO_ANALOG) does not match the name of the calling package
  (Gnuradio).  This can lead to problems in calling code that expects
  `find_package` result variables (e.g., `_FOUND`) to follow a certain
  pattern.
Call Stack (most recent call first):
  /opt/local/share/cmake/gnuradio/GnuradioConfig.cmake:108 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  /opt/local/share/cmake/gnuradio/GnuradioConfig.cmake:122 (GR_MODULE)
  CMakeLists.txt:85 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found GNURADIO_ANALOG: /opt/local/lib/libgnuradio-analog.dylib;/opt/local/lib/libgnuradio-runtime.dylib;/opt/local/lib/libgnuradio-pmt.dylib;/opt/local/lib/liblog4cpp.dylib;/opt/local/lib/libvolk.dylib  
GNURADIO_ANALOG_FOUND = TRUE
Checking for GNU Radio Module: BLOCKS
-- Checking for module 'gnuradio-blocks'
--   Found gnuradio-blocks, version 3.7.13.5
 * INCLUDES=/opt/local/include
 * LIBS=/opt/local/lib/libgnuradio-blocks.dylib;/opt/local/lib/libgnuradio-runtime.dylib;/opt/local/lib/libgnuradio-pmt.dylib;/opt/local/lib/liblog4cpp.dylib
CMake Warning (dev) at /opt/local/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:272 (message):
  The package name passed to `find_package_handle_standard_args`
  (GNURADIO_BLOCKS) does not match the name of the calling package
  (Gnuradio).  This can lead to problems in calling code that expects
  `find_package` result variables (e.g., `_FOUND`) to follow a certain
  pattern.
Call Stack (most recent call first):
  /opt/local/share/cmake/gnuradio/GnuradioConfig.cmake:108 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  /opt/local/share/cmake/gnuradio/GnuradioConfig.cmake:125 (GR_MODULE)
  CMakeLists.txt:85 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found GNURADIO_BLOCKS: /opt/local/lib/libgnuradio-blocks.dylib;/opt/local/lib/libgnuradio-runtime.dylib;/opt/local/lib/libgnuradio-pmt.dylib;/opt/local/lib/liblog4cpp.dylib  
GNURADIO_BLOCKS_FOUND = TRUE
Checking for GNU Radio Module: DIGITAL
-- Checking for module 'gnuradio-digital'
--   Found gnuradio-digital, version 3.7.13.5
 * INCLUDES=/opt/local/include
 * LIBS=/opt/local/lib/libgnuradio-digital.dylib;/opt/local/lib/libgnuradio-runtime.dylib;/opt/local/lib/libgnuradio-pmt.dylib;/opt/local/lib/liblog4cpp.dylib
CMake Warning (dev) at /opt/local/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:272 (message):
  The package name passed to `find_package_handle_standard_args`
  (GNURADIO_DIGITAL) does not match the name of the calling package
  (Gnuradio).  This can lead to problems in calling code that expects
  `find_package` result variables (e.g., `_FOUND`) to follow a certain
  pattern.
Call Stack (most recent call first):
  /opt/local/share/cmake/gnuradio/GnuradioConfig.cmake:108 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  /opt/local/share/cmake/gnuradio/GnuradioConfig.cmake:127 (GR_MODULE)
  CMakeLists.txt:85 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found GNURADIO_DIGITAL: /opt/local/lib/libgnuradio-digital.dylib;/opt/local/lib/libgnuradio-runtime.dylib;/opt/local/lib/libgnuradio-pmt.dylib;/opt/local/lib/liblog4cpp.dylib  
GNURADIO_DIGITAL_FOUND = TRUE
Checking for GNU Radio Module: FFT
-- Checking for module 'gnuradio-fft'
--   Found gnuradio-fft, version 3.7.13.5
 * INCLUDES=/opt/local/include
 * LIBS=/opt/local/lib/libgnuradio-fft.dylib;/opt/local/lib/libgnuradio-runtime.dylib;/opt/local/lib/libgnuradio-pmt.dylib;/opt/local/lib/liblog4cpp.dylib
CMake Warning (dev) at /opt/local/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:272 (message):
  The package name passed to `find_package_handle_standard_args`
  (GNURADIO_FFT) does not match the name of the calling package (Gnuradio).
  This can lead to problems in calling code that expects `find_package`
  result variables (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  /opt/local/share/cmake/gnuradio/GnuradioConfig.cmake:108 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  /opt/local/share/cmake/gnuradio/GnuradioConfig.cmake:130 (GR_MODULE)
  CMakeLists.txt:85 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found GNURADIO_FFT: /opt/local/lib/libgnuradio-fft.dylib;/opt/local/lib/libgnuradio-runtime.dylib;/opt/local/lib/libgnuradio-pmt.dylib;/opt/local/lib/liblog4cpp.dylib  
GNURADIO_FFT_FOUND = TRUE
Checking for GNU Radio Module: FILTER
-- Checking for module 'gnuradio-filter'
--   Found gnuradio-filter, version 3.7.13.5
 * INCLUDES=/opt/local/include
 * LIBS=/opt/local/lib/libgnuradio-filter.dylib;/opt/local/lib/libgnuradio-fft.dylib;/opt/local/lib/libgnuradio-runtime.dylib;/opt/local/lib/libgnuradio-pmt.dylib;/opt/local/lib/liblog4cpp.dylib
CMake Warning (dev) at /opt/local/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:272 (message):
  The package name passed to `find_package_handle_standard_args`
  (GNURADIO_FILTER) does not match the name of the calling package
  (Gnuradio).  This can lead to problems in calling code that expects
  `find_package` result variables (e.g., `_FOUND`) to follow a certain
  pattern.
Call Stack (most recent call first):
  /opt/local/share/cmake/gnuradio/GnuradioConfig.cmake:108 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  /opt/local/share/cmake/gnuradio/GnuradioConfig.cmake:131 (GR_MODULE)
  CMakeLists.txt:85 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found GNURADIO_FILTER: /opt/local/lib/libgnuradio-filter.dylib;/opt/local/lib/libgnuradio-fft.dylib;/opt/local/lib/libgnuradio-runtime.dylib;/opt/local/lib/libgnuradio-pmt.dylib;/opt/local/lib/liblog4cpp.dylib  
GNURADIO_FILTER_FOUND = TRUE
Checking for GNU Radio Module: PMT
-- Checking for module 'gnuradio-runtime'
--   Found gnuradio-runtime, version 3.7.13.5
 * INCLUDES=/opt/local/include
 * LIBS=/opt/local/lib/libgnuradio-runtime.dylib;/opt/local/lib/libgnuradio-pmt.dylib;/opt/local/lib/liblog4cpp.dylib
CMake Warning (dev) at /opt/local/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:272 (message):
  The package name passed to `find_package_handle_standard_args`
  (GNURADIO_PMT) does not match the name of the calling package (Gnuradio).
  This can lead to problems in calling code that expects `find_package`
  result variables (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  /opt/local/share/cmake/gnuradio/GnuradioConfig.cmake:108 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  /opt/local/share/cmake/gnuradio/GnuradioConfig.cmake:141 (GR_MODULE)
  CMakeLists.txt:85 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found GNURADIO_PMT: /opt/local/lib/libgnuradio-runtime.dylib;/opt/local/lib/libgnuradio-pmt.dylib;/opt/local/lib/liblog4cpp.dylib  
GNURADIO_PMT_FOUND = TRUE
CMake Warning (dev) at /opt/local/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:272 (message):
  The package name passed to `find_package_handle_standard_args` (PkgConfig)
  does not match the name of the calling package (GnuradioRuntime).  This can
  lead to problems in calling code that expects `find_package` result
  variables (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  /opt/local/share/cmake-3.17/Modules/FindPkgConfig.cmake:45 (find_package_handle_standard_args)
  cmake/Modules/FindGnuradioRuntime.cmake:1 (INCLUDE)
  CMakeLists.txt:86 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at /opt/local/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:272 (message):
  The package name passed to `find_package_handle_standard_args`
  (GNURADIO_RUNTIME) does not match the name of the calling package
  (GnuradioRuntime).  This can lead to problems in calling code that expects
  `find_package` result variables (e.g., `_FOUND`) to follow a certain
  pattern.
Call Stack (most recent call first):
  cmake/Modules/FindGnuradioRuntime.cmake:35 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:86 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found GNURADIO_RUNTIME: /opt/local/lib/libgnuradio-runtime.dylib;/opt/local/lib/libgnuradio-runtime.dylib;/opt/local/lib/libgnuradio-pmt.dylib;/opt/local/lib/liblog4cpp.dylib  
CMake Warning (dev) at /opt/local/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:272 (message):
  The package name passed to `find_package_handle_standard_args` (PkgConfig)
  does not match the name of the calling package (CppUnit).  This can lead to
  problems in calling code that expects `find_package` result variables
  (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  /opt/local/share/cmake-3.17/Modules/FindPkgConfig.cmake:45 (find_package_handle_standard_args)
  /opt/local/share/cmake/gnuradio/FindCppUnit.cmake:12 (INCLUDE)
  CMakeLists.txt:87 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at /opt/local/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:272 (message):
  The package name passed to `find_package_handle_standard_args` (CPPUNIT)
  does not match the name of the calling package (CppUnit).  This can lead to
  problems in calling code that expects `find_package` result variables
  (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  /opt/local/share/cmake/gnuradio/FindCppUnit.cmake:38 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:87 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- GnuRadio Version: 198419
CMake Warning (dev) at /opt/local/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:272 (message):
  The package name passed to `find_package_handle_standard_args` (PkgConfig)
  does not match the name of the calling package (GnuradioUHD).  This can
  lead to problems in calling code that expects `find_package` result
  variables (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  /opt/local/share/cmake-3.17/Modules/FindPkgConfig.cmake:45 (find_package_handle_standard_args)
  cmake/Modules/FindGnuradioUHD.cmake:1 (INCLUDE)
  CMakeLists.txt:104 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Checking for module 'gnuradio-uhd'
--   Found gnuradio-uhd, version 3.7.13.5
-- Found gnuradio-uhd: /opt/local/include, /opt/local/lib/libgnuradio-uhd.dylib
CMake Warning (dev) at /opt/local/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:272 (message):
  The package name passed to `find_package_handle_standard_args`
  (GNURADIO_UHD) does not match the name of the calling package
  (GnuradioUHD).  This can lead to problems in calling code that expects
  `find_package` result variables (e.g., `_FOUND`) to follow a certain
  pattern.
Call Stack (most recent call first):
  cmake/Modules/FindGnuradioUHD.cmake:33 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:104 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found GNURADIO_UHD: /opt/local/lib/libgnuradio-uhd.dylib  
-- Checking for module 'gnuradio-osmosdr'
--   Found gnuradio-osmosdr, version v0.1.x-xxx-xunknown
-- Found GrOsmoSDR: /opt/local/lib/libgnuradio-osmosdr.dylib  
-- Pkg: , , 
-- Vars: /opt/local/include, /opt/local/lib/libgnuradio-osmosdr.dylib
CMake Warning (dev) at /opt/local/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:272 (message):
  The package name passed to `find_package_handle_standard_args` (PkgConfig)
  does not match the name of the calling package (LibHackRF).  This can lead
  to problems in calling code that expects `find_package` result variables
  (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  /opt/local/share/cmake-3.17/Modules/FindPkgConfig.cmake:45 (find_package_handle_standard_args)
  cmake/Modules/FindLibHackRF.cmake:1 (INCLUDE)
  CMakeLists.txt:106 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Checking for module 'libhackrf'
--   Found libhackrf, version 0.5
CMake Warning (dev) at /opt/local/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:272 (message):
  The package name passed to `find_package_handle_standard_args` (LIBHACKRF)
  does not match the name of the calling package (LibHackRF).  This can lead
  to problems in calling code that expects `find_package` result variables
  (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  cmake/Modules/FindLibHackRF.cmake:23 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:106 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found LIBHACKRF: /opt/local/lib/libhackrf.dylib  
CMake Warning (dev) at /opt/local/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:272 (message):
  The package name passed to `find_package_handle_standard_args` (PkgConfig)
  does not match the name of the calling package (UHD).  This can lead to
  problems in calling code that expects `find_package` result variables
  (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  /opt/local/share/cmake-3.17/Modules/FindPkgConfig.cmake:45 (find_package_handle_standard_args)
  /opt/local/share/cmake/uhd/UHDConfig.cmake:42 (include)
  /opt/local/share/cmake/gnuradio/FindUHD.cmake:43 (find_package)
  CMakeLists.txt:107 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found UHD: /opt/local/lib/libuhd.dylib  
-- Found OpenSSL: /opt/local/lib/libcrypto.dylib (found version "1.1.1g")  
-- Found CURL: /opt/local/lib/libcurl.dylib (found version "7.70.0")  
-- Configuring Boost C++ Libraries...
-- Found Boost: /usr/local/lib/cmake/Boost-1.72.0/BoostConfig.cmake (found version "1.72.0") found components: thread system program_options filesystem log_setup log regex random 
-- All libraries:/opt/local/lib/libgnuradio-runtime.dylib/opt/local/lib/libgnuradio-pmt.dylib/opt/local/lib/liblog4cpp.dylib/opt/local/lib/libgnuradio-analog.dylib/opt/local/lib/libvolk.dylib/opt/local/lib/libgnuradio-blocks.dylib/opt/local/lib/libgnuradio-digital.dylib/opt/local/lib/libgnuradio-fft.dylib/opt/local/lib/libgnuradio-filter.dylib
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/josh/trunk-build
OLD-MBP:trunk-build josh$ make
Scanning dependencies of target imbe_vocoder
[  1%] Building CXX object lib/op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/aux_sub.cc.o
[  2%] Building CXX object lib/op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/basicop2.cc.o
[  3%] Building CXX object lib/op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/ch_decode.cc.o
[  4%] Building CXX object lib/op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/ch_encode.cc.o
[  5%] Building CXX object lib/op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/dc_rmv.cc.o
[  6%] Building CXX object lib/op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/decode.cc.o
[  7%] Building CXX object lib/op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/dsp_sub.cc.o
[  8%] Building CXX object lib/op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/encode.cc.o
[  9%] Building CXX object lib/op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/imbe_vocoder.cc.o
[ 10%] Building CXX object lib/op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/math_sub.cc.o
[ 11%] Building CXX object lib/op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/pe_lpf.cc.o
[ 12%] Building CXX object lib/op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/pitch_est.cc.o
[ 13%] Building CXX object lib/op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/pitch_ref.cc.o
[ 14%] Building CXX object lib/op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/qnt_sub.cc.o
[ 15%] Building CXX object lib/op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/rand_gen.cc.o
[ 16%] Building CXX object lib/op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/sa_decode.cc.o
[ 17%] Building CXX object lib/op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/sa_encode.cc.o
[ 18%] Building CXX object lib/op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/sa_enh.cc.o
[ 19%] Building CXX object lib/op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/tbls.cc.o
[ 20%] Building CXX object lib/op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/uv_synt.cc.o
[ 21%] Building CXX object lib/op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/v_synt.cc.o
[ 22%] Building CXX object lib/op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/v_uv_det.cc.o
[ 23%] Linking CXX static library libimbe_vocoder.a
[ 23%] Built target imbe_vocoder
Scanning dependencies of target gnuradio-op25_repeater
[ 24%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/ambe_encoder_sb_impl.cc.o
[ 25%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/dmr_bs_tx_bb_impl.cc.o
[ 26%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/ysf_tx_sb_impl.cc.o
[ 27%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/dstar_tx_sb_impl.cc.o
[ 28%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/vocoder_impl.cc.o
[ 29%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/gardner_costas_cc_impl.cc.o
[ 30%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/p25_frame_assembler_impl.cc.o
[ 31%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/fsk4_demod_ff_impl.cc.o
[ 32%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/fsk4_slicer_fb_impl.cc.o
[ 33%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/bch.cc.o
[ 34%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/rs.cc.o
[ 35%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/p25_framer.cc.o
[ 36%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/p25p1_fdma.cc.o
[ 37%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/p25p1_voice_encode.cc.o
[ 38%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/p25p1_voice_decode.cc.o
[ 39%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/p25p2_framer.cc.o
[ 40%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/p25p2_isch.cc.o
[ 41%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/p25p2_duid.cc.o
[ 42%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/p25p2_sync.cc.o
[ 43%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/p25p2_tdma.cc.o
[ 44%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/p25p2_vf.cc.o
[ 45%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/imbe_decoder.cc.o
[ 46%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/software_imbe_decoder.cc.o
[ 47%] Building C object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/ambe.c.o
[ 48%] Building C object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/mbelib.c.o
[ 50%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/ambe_encoder.cc.o
[ 51%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/rx_sync.cc.o
[ 52%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/hamming.cc.o
[ 53%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/golay2087.cc.o
[ 54%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/bptc19696.cc.o
[ 55%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/trellis.cc.o
[ 56%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/dmr_cai.cc.o
[ 57%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/dmr_slot.cc.o
[ 58%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/op25_audio.cc.o
[ 59%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/op25_timer.cc.o
[ 60%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/CCITTChecksumReverse.cpp.o
[ 61%] Linking CXX shared library libgnuradio-op25_repeater.dylib
[ 61%] Built target gnuradio-op25_repeater
Scanning dependencies of target recorder
[ 62%] Building CXX object CMakeFiles/recorder.dir/trunk-recorder/main.cc.o
[ 63%] Building CXX object CMakeFiles/recorder.dir/trunk-recorder/formatter.cc.o
[ 64%] Building CXX object CMakeFiles/recorder.dir/trunk-recorder/source.cc.o
[ 65%] Building CXX object CMakeFiles/recorder.dir/trunk-recorder/uploaders/uploader.cc.o
[ 66%] Building CXX object CMakeFiles/recorder.dir/trunk-recorder/uploaders/broadcastify_uploader.cc.o
[ 67%] Building CXX object CMakeFiles/recorder.dir/trunk-recorder/uploaders/openmhz_uploader.cc.o
[ 68%] Building CXX object CMakeFiles/recorder.dir/trunk-recorder/uploaders/call_uploader.cc.o
[ 69%] Building CXX object CMakeFiles/recorder.dir/trunk-recorder/uploaders/stat_socket.cc.o
[ 70%] Building CXX object CMakeFiles/recorder.dir/trunk-recorder/call_conventional.cc.o
[ 71%] Building CXX object CMakeFiles/recorder.dir/trunk-recorder/call.cc.o
[ 72%] Building CXX object CMakeFiles/recorder.dir/trunk-recorder/systems/smartnet_trunking.cc.o
[ 73%] Building CXX object CMakeFiles/recorder.dir/trunk-recorder/systems/p25_trunking.cc.o
[ 74%] Building CXX object CMakeFiles/recorder.dir/trunk-recorder/systems/smartnet_parser.cc.o
[ 75%] Building CXX object CMakeFiles/recorder.dir/trunk-recorder/systems/p25_parser.cc.o
[ 76%] Building CXX object CMakeFiles/recorder.dir/trunk-recorder/systems/smartnet_decode.cc.o
[ 77%] Building CXX object CMakeFiles/recorder.dir/trunk-recorder/systems/system.cc.o
[ 78%] Building CXX object CMakeFiles/recorder.dir/trunk-recorder/recorders/recorder.cc.o
[ 79%] Building CXX object CMakeFiles/recorder.dir/trunk-recorder/recorders/debug_recorder.cc.o
[ 80%] Building CXX object CMakeFiles/recorder.dir/trunk-recorder/recorders/sigmf_recorder.cc.o
[ 81%] Building CXX object CMakeFiles/recorder.dir/trunk-recorder/recorders/analog_recorder.cc.o
[ 82%] Building CXX object CMakeFiles/recorder.dir/lib/gr_blocks/nonstop_wavfile_sink_impl.cc.o
[ 83%] Building CXX object CMakeFiles/recorder.dir/lib/gr_blocks/nonstop_wavfile_delayopen_sink_impl.cc.o
[ 84%] Building CXX object CMakeFiles/recorder.dir/trunk-recorder/recorders/p25conventional_recorder.cc.o
[ 85%] Building CXX object CMakeFiles/recorder.dir/trunk-recorder/recorders/p25_recorder.cc.o
[ 86%] Building CXX object CMakeFiles/recorder.dir/trunk-recorder/csv_helper.cc.o
[ 87%] Building CXX object CMakeFiles/recorder.dir/trunk-recorder/talkgroup.cc.o
[ 88%] Building CXX object CMakeFiles/recorder.dir/trunk-recorder/talkgroups.cc.o
[ 89%] Building CXX object CMakeFiles/recorder.dir/trunk-recorder/unit_tag.cc.o
[ 90%] Building CXX object CMakeFiles/recorder.dir/trunk-recorder/unit_tags.cc.o
[ 91%] Building CXX object CMakeFiles/recorder.dir/lib/gr_blocks/freq_xlating_fft_filter.cc.o
[ 92%] Building CXX object CMakeFiles/recorder.dir/lib/lfsr/lfsr.cxx.o
[ 93%] Building CXX object CMakeFiles/recorder.dir/lib/gr_blocks/decoders/fsync_decode.cc.o
[ 94%] Building CXX object CMakeFiles/recorder.dir/lib/gr_blocks/decoders/mdc_decode.cc.o
[ 95%] Building CXX object CMakeFiles/recorder.dir/lib/gr_blocks/decoders/star_decode.cc.o
[ 96%] Building CXX object CMakeFiles/recorder.dir/lib/gr_blocks/decoders/signal_decoder_sink_impl.cc.o
[ 97%] Building CXX object CMakeFiles/recorder.dir/lib/gr_blocks/decoders/tps_decoder_sink_impl.cc.o
[ 98%] Building CXX object CMakeFiles/recorder.dir/lib/gr_blocks/decoder_wrapper_impl.cc.o
[100%] Linking CXX executable recorder
Undefined symbols for architecture x86_64:
  "boost::re_detail_107100::raw_storage::insert(unsigned long, unsigned long)", referenced from:
      boost::re_detail_107100::basic_regex_parser<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::parse_repeat(unsigned long, unsigned long) in call_uploader.cc.o
      boost::re_detail_107100::basic_regex_parser<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::parse_alt() in call_uploader.cc.o
      boost::re_detail_107100::basic_regex_parser<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::parse_perl_extension() in call_uploader.cc.o
  "boost::re_detail_107100::raw_storage::resize(unsigned long)", referenced from:
      boost::re_detail_107100::basic_regex_parser<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::parse(char const*, char const*, unsigned int) in call_uploader.cc.o
      boost::re_detail_107100::basic_regex_parser<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::parse_extended() in call_uploader.cc.o
      boost::re_detail_107100::basic_regex_parser<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::parse_basic() in call_uploader.cc.o
      boost::re_detail_107100::basic_regex_creator<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::finalize(char const*, char const*) in call_uploader.cc.o
      boost::re_detail_107100::basic_regex_parser<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::parse_open_paren() in call_uploader.cc.o
      boost::re_detail_107100::basic_regex_parser<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::parse_extended_escape() in call_uploader.cc.o
      boost::re_detail_107100::basic_regex_parser<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::parse_repeat(unsigned long, unsigned long) in call_uploader.cc.o
      ...
  "boost::re_detail_107100::get_mem_block()", referenced from:
      boost::re_detail_107100::perl_matcher<char const*, std::__1::allocator<boost::sub_match<char const*> >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::match_imp() in call_uploader.cc.o
      boost::re_detail_107100::perl_matcher<char const*, std::__1::allocator<boost::sub_match<char const*> >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::match_all_states() in call_uploader.cc.o
      boost::re_detail_107100::perl_matcher<char const*, std::__1::allocator<boost::sub_match<char const*> >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::match_startmark() in call_uploader.cc.o
      boost::re_detail_107100::perl_matcher<char const*, std::__1::allocator<boost::sub_match<char const*> >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::match_alt() in call_uploader.cc.o
      boost::re_detail_107100::perl_matcher<char const*, std::__1::allocator<boost::sub_match<char const*> >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::match_rep() in call_uploader.cc.o
      boost::re_detail_107100::perl_matcher<char const*, std::__1::allocator<boost::sub_match<char const*> >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::match_char_repeat() in call_uploader.cc.o
      boost::re_detail_107100::perl_matcher<char const*, std::__1::allocator<boost::sub_match<char const*> >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::match_set_repeat() in call_uploader.cc.o
      ...
  "boost::re_detail_107100::put_mem_block(void*)", referenced from:
      boost::re_detail_107100::perl_matcher<char const*, std::__1::allocator<boost::sub_match<char const*> >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::match_imp() in call_uploader.cc.o
      boost::re_detail_107100::perl_matcher<char const*, std::__1::allocator<boost::sub_match<char const*> >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::unwind_extra_block(bool) in call_uploader.cc.o
  "boost::re_detail_107100::verify_options(unsigned int, boost::regex_constants::_match_flags)", referenced from:
      boost::re_detail_107100::perl_matcher<char const*, std::__1::allocator<boost::sub_match<char const*> >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::match_imp() in call_uploader.cc.o
  "boost::re_detail_107100::raise_runtime_error(std::runtime_error const&)", referenced from:
      boost::re_detail_107100::cpp_regex_traits_implementation<char>::init() in call_uploader.cc.o
      void boost::re_detail_107100::raise_error<boost::regex_traits_wrapper<boost::regex_traits<char, boost::cpp_regex_traits<char> > > >(boost::regex_traits_wrapper<boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::error_type) in call_uploader.cc.o
  "boost::re_detail_107100::get_default_error_string(boost::regex_constants::error_type)", referenced from:
      boost::re_detail_107100::cpp_regex_traits_implementation<char>::init() in call_uploader.cc.o
      boost::re_detail_107100::cpp_regex_traits_implementation<char>::error_string(boost::regex_constants::error_type) const in call_uploader.cc.o
  "boost::re_detail_107100::cpp_regex_traits_char_layer<char>::init()", referenced from:
      boost::re_detail_107100::cpp_regex_traits_implementation<char>::cpp_regex_traits_implementation(boost::re_detail_107100::cpp_regex_traits_base<char> const&) in call_uploader.cc.o
  "boost::re_detail_107100::lookup_default_collate_name(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
      boost::re_detail_107100::cpp_regex_traits_implementation<char>::lookup_collatename(char const*, char const*) const in call_uploader.cc.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [recorder] Error 1
make[1]: *** [CMakeFiles/recorder.dir/all] Error 2
make: *** [all] Error 2
blantonl commented 4 years ago

I'm seeing this behavior as well..

blantonl commented 4 years ago

From what I can tell, it looks like a PMT Library linking problem specific to Mac OS X and Gnuradio

@robotastic robotastic - maybe you need to update your macports gnuradio install to reproduce?

For the record, I'm using Brew, and I've also tried to revert to previous pulls/commits to no avail.

robotastic commented 4 years ago

good call - I will do a MacPort update and see if I can reproduce it.

On Jul 18, 2020, at 1:59 PM, Lindsay C Blanton III notifications@github.com wrote:

From what I can tell, it looks like a PMT Library linking problem specific to Mac OS X and Gnuradio

@robotastic https://github.com/robotastic robotastic - maybe you need to update your macports gnuradio install to reproduce?

For the record, I'm using Brew, and I've also tried to revert to previous pulls/commits to no avail.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/robotastic/trunk-recorder/issues/370#issuecomment-660518582, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAA3TXB53S3U6MOVUL7KGN3R4HPHFANCNFSM4N3AASBA.

blantonl commented 4 years ago

So, an update here.

my issue was actually I was missing pkgconfig as a prereq - it's not listed in the prereqs and after installing (brew install pkgconfg) it compiled just fine.

So, I'll see about updating the wiki to reflect that prepreq for mac os x

robotastic commented 4 years ago

Ah cool! yea, I just did a Port update and everything recompiled fine, so this makes sense.

On Jul 18, 2020, at 3:18 PM, Lindsay C Blanton III notifications@github.com wrote:

So, an update here.

my issue was actually I was missing pkgconfig as a prereq - it's not listed in the prereqs and after installing (brew install pkgconfg) it compiled just fine.

So, I'll see about updating the wiki to reflect that prepreq for mac os x

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/robotastic/trunk-recorder/issues/370#issuecomment-660528969, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAA3TXGJVB3YA7TOWNAMIL3R4HYRLANCNFSM4N3AASBA.

NoahJaehnert commented 4 years ago

Issue appears to still exist for brew. Just did a full brew update / brew upgrade and still getting the following:


Scanning dependencies of target imbe_vocoder
[  1%] Building CXX object lib/op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/aux_sub.cc.o
[  2%] Building CXX object lib/op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/basicop2.cc.o
[  3%] Building CXX object lib/op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/ch_decode.cc.o
[  4%] Building CXX object lib/op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/ch_encode.cc.o
[  5%] Building CXX object lib/op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/dc_rmv.cc.o
[  6%] Building CXX object lib/op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/decode.cc.o
[  7%] Building CXX object lib/op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/dsp_sub.cc.o
[  8%] Building CXX object lib/op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/encode.cc.o
[  9%] Building CXX object lib/op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/imbe_vocoder.cc.o
[ 10%] Building CXX object lib/op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/math_sub.cc.o
[ 11%] Building CXX object lib/op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/pe_lpf.cc.o
[ 12%] Building CXX object lib/op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/pitch_est.cc.o
[ 13%] Building CXX object lib/op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/pitch_ref.cc.o
[ 14%] Building CXX object lib/op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/qnt_sub.cc.o
[ 15%] Building CXX object lib/op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/rand_gen.cc.o
[ 16%] Building CXX object lib/op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/sa_decode.cc.o
[ 17%] Building CXX object lib/op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/sa_encode.cc.o
[ 18%] Building CXX object lib/op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/sa_enh.cc.o
[ 19%] Building CXX object lib/op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/tbls.cc.o
[ 20%] Building CXX object lib/op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/uv_synt.cc.o
[ 21%] Building CXX object lib/op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/v_synt.cc.o
[ 22%] Building CXX object lib/op25_repeater/lib/imbe_vocoder/CMakeFiles/imbe_vocoder.dir/v_uv_det.cc.o
[ 23%] Linking CXX static library libimbe_vocoder.a
[ 23%] Built target imbe_vocoder
Scanning dependencies of target gnuradio-op25_repeater
[ 24%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/ambe_encoder_sb_impl.cc.o
[ 25%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/dmr_bs_tx_bb_impl.cc.o
[ 26%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/ysf_tx_sb_impl.cc.o
[ 27%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/dstar_tx_sb_impl.cc.o
[ 28%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/vocoder_impl.cc.o
[ 29%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/gardner_costas_cc_impl.cc.o
[ 30%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/p25_frame_assembler_impl.cc.o
[ 31%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/fsk4_demod_ff_impl.cc.o
[ 32%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/fsk4_slicer_fb_impl.cc.o
[ 33%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/bch.cc.o
[ 34%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/rs.cc.o
[ 35%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/p25_framer.cc.o
[ 36%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/p25p1_fdma.cc.o
[ 37%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/p25p1_voice_encode.cc.o
[ 38%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/p25p1_voice_decode.cc.o
[ 39%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/p25p2_framer.cc.o
[ 40%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/p25p2_isch.cc.o
[ 41%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/p25p2_duid.cc.o
[ 42%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/p25p2_sync.cc.o
[ 43%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/p25p2_tdma.cc.o
[ 44%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/p25p2_vf.cc.o
[ 45%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/imbe_decoder.cc.o
[ 46%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/software_imbe_decoder.cc.o
[ 47%] Building C object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/ambe.c.o
[ 48%] Building C object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/mbelib.c.o
[ 50%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/ambe_encoder.cc.o
[ 51%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/rx_sync.cc.o
[ 52%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/hamming.cc.o
[ 53%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/golay2087.cc.o
[ 54%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/bptc19696.cc.o
[ 55%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/trellis.cc.o
[ 56%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/dmr_cai.cc.o
[ 57%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/dmr_slot.cc.o
[ 58%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/op25_audio.cc.o
[ 59%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/op25_timer.cc.o
[ 60%] Building CXX object lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/CCITTChecksumReverse.cpp.o
[ 61%] Linking CXX shared library libgnuradio-op25_repeater.dylib
Undefined symbols for architecture x86_64:
  "pmt::get_PMT_NIL()", referenced from:
      gr::tag_t::tag_t() in p25_frame_assembler_impl.cc.o
  "pmt::dict_has_key(boost::shared_ptr<pmt::pmt_base> const&, boost::shared_ptr<pmt::pmt_base> const&)", referenced from:
      gr::basic_block::has_msg_port(boost::shared_ptr<pmt::pmt_base>) in ambe_encoder_sb_impl.cc.o
      gr::basic_block::has_msg_port(boost::shared_ptr<pmt::pmt_base>) in dmr_bs_tx_bb_impl.cc.o
      gr::basic_block::has_msg_port(boost::shared_ptr<pmt::pmt_base>) in ysf_tx_sb_impl.cc.o
      gr::basic_block::has_msg_port(boost::shared_ptr<pmt::pmt_base>) in dstar_tx_sb_impl.cc.o
      gr::basic_block::has_msg_port(boost::shared_ptr<pmt::pmt_base>) in vocoder_impl.cc.o
      gr::basic_block::has_msg_port(boost::shared_ptr<pmt::pmt_base>) in gardner_costas_cc_impl.cc.o
      gr::basic_block::has_msg_port(boost::shared_ptr<pmt::pmt_base>) in p25_frame_assembler_impl.cc.o
      ...
  "pmt::eqv(boost::shared_ptr<pmt::pmt_base> const&, boost::shared_ptr<pmt::pmt_base> const&)", referenced from:
      gr::basic_block::has_msg_handler(boost::shared_ptr<pmt::pmt_base>) in ambe_encoder_sb_impl.cc.o
      gr::basic_block::has_msg_port(boost::shared_ptr<pmt::pmt_base>) in ambe_encoder_sb_impl.cc.o
      std::__1::pair<std::__1::__tree_iterator<std::__1::__value_type<boost::shared_ptr<pmt::pmt_base>, boost::function<void (boost::shared_ptr<pmt::pmt_base>)> >, std::__1::__tree_node<std::__1::__value_type<boost::shared_ptr<pmt::pmt_base>, boost::function<void (boost::shared_ptr<pmt::pmt_base>)> >, void*>*, long>, bool> std::__1::__tree<std::__1::__value_type<boost::shared_ptr<pmt::pmt_base>, boost::function<void (boost::shared_ptr<pmt::pmt_base>)> >, std::__1::__map_value_compare<boost::shared_ptr<pmt::pmt_base>, std::__1::__value_type<boost::shared_ptr<pmt::pmt_base>, boost::function<void (boost::shared_ptr<pmt::pmt_base>)> >, pmt::comparator, true>, std::__1::allocator<std::__1::__value_type<boost::shared_ptr<pmt::pmt_base>, boost::function<void (boost::shared_ptr<pmt::pmt_base>)> > > >::__emplace_unique_key_args<boost::shared_ptr<pmt::pmt_base>, std::__1::piecewise_construct_t const&, std::__1::tuple<boost::shared_ptr<pmt::pmt_base> const&>, std::__1::tuple<> >(boost::shared_ptr<pmt::pmt_base> const&, std::__1::piecewise_construct_t const&, std::__1::tuple<boost::shared_ptr<pmt::pmt_base> const&>&&, std::__1::tuple<>&&) in ambe_encoder_sb_impl.cc.o
      gr::basic_block::has_msg_handler(boost::shared_ptr<pmt::pmt_base>) in dmr_bs_tx_bb_impl.cc.o
      gr::basic_block::has_msg_port(boost::shared_ptr<pmt::pmt_base>) in dmr_bs_tx_bb_impl.cc.o
      std::__1::pair<std::__1::__tree_iterator<std::__1::__value_type<boost::shared_ptr<pmt::pmt_base>, boost::function<void (boost::shared_ptr<pmt::pmt_base>)> >, std::__1::__tree_node<std::__1::__value_type<boost::shared_ptr<pmt::pmt_base>, boost::function<void (boost::shared_ptr<pmt::pmt_base>)> >, void*>*, long>, bool> std::__1::__tree<std::__1::__value_type<boost::shared_ptr<pmt::pmt_base>, boost::function<void (boost::shared_ptr<pmt::pmt_base>)> >, std::__1::__map_value_compare<boost::shared_ptr<pmt::pmt_base>, std::__1::__value_type<boost::shared_ptr<pmt::pmt_base>, boost::function<void (boost::shared_ptr<pmt::pmt_base>)> >, pmt::comparator, true>, std::__1::allocator<std::__1::__value_type<boost::shared_ptr<pmt::pmt_base>, boost::function<void (boost::shared_ptr<pmt::pmt_base>)> > > >::__emplace_unique_key_args<boost::shared_ptr<pmt::pmt_base>, std::__1::piecewise_construct_t const&, std::__1::tuple<boost::shared_ptr<pmt::pmt_base> const&>, std::__1::tuple<> >(boost::shared_ptr<pmt::pmt_base> const&, std::__1::piecewise_construct_t const&, std::__1::tuple<boost::shared_ptr<pmt::pmt_base> const&>&&, std::__1::tuple<>&&) in dmr_bs_tx_bb_impl.cc.o
      gr::basic_block::has_msg_handler(boost::shared_ptr<pmt::pmt_base>) in ysf_tx_sb_impl.cc.o
      ...
  "pmt::intern(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
      gr::op25_repeater::p25_frame_assembler_impl::p25_frame_assembler_impl(int, int, char const*, int, int, bool, bool, bool, boost::shared_ptr<gr::msg_queue>, bool, bool, bool) in p25_frame_assembler_impl.cc.o
      gr::op25_repeater::p25_frame_assembler_impl::p25_frame_assembler_impl(int, int, char const*, int, int, bool, bool, bool, boost::shared_ptr<gr::msg_queue>, bool, bool, bool) in p25_frame_assembler_impl.cc.o
  "pmt::from_long(long)", referenced from:
      gr::op25_repeater::p25_frame_assembler_impl::general_work(int, std::__1::vector<int, std::__1::allocator<int> >&, std::__1::vector<void const*, std::__1::allocator<void const*> >&, std::__1::vector<void*, std::__1::allocator<void*> >&) in p25_frame_assembler_impl.cc.o
  "pmt::get_PMT_F()", referenced from:
      gr::tag_t::tag_t() in p25_frame_assembler_impl.cc.o
  "log4cpp::Appender::AppenderMapStorageInitializer::AppenderMapStorageInitializer()", referenced from:
      __GLOBAL__sub_I_ambe_encoder_sb_impl.cc in ambe_encoder_sb_impl.cc.o
      __GLOBAL__sub_I_dmr_bs_tx_bb_impl.cc in dmr_bs_tx_bb_impl.cc.o
      __GLOBAL__sub_I_ysf_tx_sb_impl.cc in ysf_tx_sb_impl.cc.o
      __GLOBAL__sub_I_dstar_tx_sb_impl.cc in dstar_tx_sb_impl.cc.o
      __GLOBAL__sub_I_vocoder_impl.cc in vocoder_impl.cc.o
      __GLOBAL__sub_I_gardner_costas_cc_impl.cc in gardner_costas_cc_impl.cc.o
      __GLOBAL__sub_I_p25_frame_assembler_impl.cc in p25_frame_assembler_impl.cc.o
      ...
  "log4cpp::Appender::AppenderMapStorageInitializer::~AppenderMapStorageInitializer()", referenced from:
      __GLOBAL__sub_I_ambe_encoder_sb_impl.cc in ambe_encoder_sb_impl.cc.o
      __GLOBAL__sub_I_dmr_bs_tx_bb_impl.cc in dmr_bs_tx_bb_impl.cc.o
      __GLOBAL__sub_I_ysf_tx_sb_impl.cc in ysf_tx_sb_impl.cc.o
      __GLOBAL__sub_I_dstar_tx_sb_impl.cc in dstar_tx_sb_impl.cc.o
      __GLOBAL__sub_I_vocoder_impl.cc in vocoder_impl.cc.o
      __GLOBAL__sub_I_gardner_costas_cc_impl.cc in gardner_costas_cc_impl.cc.o
      __GLOBAL__sub_I_p25_frame_assembler_impl.cc in p25_frame_assembler_impl.cc.o
      ...
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [lib/op25_repeater/lib/libgnuradio-op25_repeater.dylib] Error 1
make[1]: *** [lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/all] Error 2
make: *** [all] Error 2```
robotastic commented 4 years ago

I am unable to recreate this. Try doing a full rebuild of all your port packages that can sometimes help. Do you have an old version of Xcode command line tools?

NoahJaehnert commented 4 years ago

Just to clarify I'm using Brew, not MacPorts. So I don't think I can rebuild all port packages.

Also, Xcode details as follows:

$ xcode-select --version xcode-select version 2373.

Last time I ran into this (on my Mac Mini) I switched from Brew to Macports which solved this issue (details here: https://github.com/robotastic/trunk-recorder/issues/277).

On my Mac laptop, I ran brew update 2x and both times it said "Already up-to-date.". Also ran brew doctor, then tried make again and still got the same error as above.

leee commented 4 years ago

I just had this build on the following and it seems to run (other than a lot of DEBUG: writing tag at sample n and empty wavs, but I suppose one problem at a time):

~/src/github.com/robotastic/trunk-recorder(leee-cnv-iterate*) » sw_vers -productVersion
10.15.4
~/src/github.com/robotastic/trunk-recorder(leee-cnv-iterate*) » brew list --versions | grep gnuradio
gnuradio 3.7.13.4_14

You problem usually won't be with homebrew, but potentially your formula, linking, etc.

You could debug further by seeing for example if you even have gnuradio libraries where homebrew usually links libraries:

$ ls -la /usr/local/lib | grep gnuradio

And that should show you symlinks to gnuradio libraries in your Cellar. If there's not much or nothing there, then link the formula:

$ brew link gnuradio

FWIW though, the state of gnuradio in Homebrew is painful for a variety of reasons. I say this as a Homebrew user who intentionally tries to shy away from MacPorts (and my current macOS install doesn't have MacPorts on it... yet), but if for any reason I were forced to use gnuradio on macOS, I would just use either the bundled project (https://github.com/ktemkin/gnuradio-for-mac-without-macports) or MacPorts if I really had to.

NoahJaehnert commented 4 years ago

You could debug further by seeing for example if you even have gnuradio libraries where homebrew usually links libraries: $ ls -la /usr/local/lib | grep gnuradio

Tested and all gnuradio libraries were symlinked correctly.

FWIW though, the state of gnuradio in Homebrew is painful for a variety of reasons. I say this as a Homebrew user who intentionally tries to shy away from MacPorts (and my current macOS install doesn't have MacPorts on it... yet), but if for any reason I were forced to use gnuradio on macOS, I would just use either the bundled project (https://github.com/ktemkin/gnuradio-for-mac-without-macports) or MacPorts if I really had to.

Last time I ran into this similar issue (on my Mac Mini), I ended up switching from Homebrew to Macports and that solved the issue for me (See here: https://github.com/robotastic/trunk-recorder/issues/277#issuecomment-582958492). But due to other work/dependencies, I can't really do that on my Mac laptop.

Appreciate the advice on the full bundled project as well. I may try that route. But I'd really like to get this solved for the Brew side of things, as at least on my machine, the instructions in the Wiki for installing via Homebrew (https://github.com/robotastic/trunk-recorder/wiki/Installation#macos) don't actually work/result in this error :-(

leee commented 4 years ago

Have you make clean'd and freshly cmake && make?

I'm not sure if all and correctedness can be guaranteed here. For reference, I have 42 symlinks to /usr/local/Cellar/gnuradio in /usr/local/lib. Is libgnuradio-pmt.dylib in there?

Additionally, what about /usr/local/opt? What I have on my built recorder:

~/src/github.com/robotastic/trunk-recorder(leee-cnv-iterate*) » objdump -x recorder | grep gnuradio
0000000000000000         *UND*  __ZN8gnuradio6detail10sptr_magic18fetch_initial_sptrEPN2gr11basic_blockE
         name /usr/local/opt/gnuradio/lib/libgnuradio-runtime.3.7.13.4.dylib (offset 24)
         name /usr/local/opt/gnuradio/lib/libgnuradio-pmt.3.7.13.4.dylib (offset 24)
         name /usr/local/opt/gnuradio/lib/libgnuradio-filter.3.7.13.4.dylib (offset 24)
         name /usr/local/opt/gnuradio/lib/libgnuradio-fft.3.7.13.4.dylib (offset 24)
         name /usr/local/opt/gnuradio/lib/libgnuradio-digital.3.7.13.4.dylib (offset 24)
         name /usr/local/opt/gnuradio/lib/libgnuradio-analog.3.7.13.4.dylib (offset 24)
         name /usr/local/opt/gnuradio/lib/libvolk.1.4.dylib (offset 24)
         name /usr/local/opt/gnuradio/lib/libgnuradio-uhd.3.7.13.4.dylib (offset 24)
         name /usr/local/opt/gnuradio/lib/libgnuradio-blocks.3.7.13.4.dylib (offset 24)
         name /usr/local/opt/gr-osmosdr/lib/libgnuradio-osmosdr.0.1.4.dylib (offset 24)
         name @rpath/libgnuradio-op25_repeater.dylib (offset 24)

The instructions might need updating for something (although the question stands as to what that missing factor may be).

Even though the linking failure is related to gnuradio only, the instructions don't explicitly mention installing boost even though that's a depends_on for gnuradio.

robotastic commented 4 years ago

Give it another try - I had previous been building with gr3.7, but when Port upgraded to gr3.8, I got the same error.

NoahJaehnert commented 4 years ago

Give it another try - I had previous been building with gr3.7, but when Port upgraded to gr3.8, I got the same error.

That did it! Thanks much.

leee commented 4 years ago

Nice one! I wonder where you were getting gnuradio 3.8 from as Homebrew currently ships 3.7.13.4 (and was only bumped to 3.8.1.0 in the past few days).

robotastic commented 4 years ago

Awesome! That is weird if you weren't on 3.8. I wonder if some newer versions of Gr3.7 had some changes to libraries. Either way, I will take a win!

NoahJaehnert commented 4 years ago

In my haste to answer this, I forgot that I had removed Brew and installed MacPorts instead (as this is what fixed this problem for me last time, as noted above).

On MacPorts, TR compiles fine.

Reinstalled Brew and the supporting/required prereqs for TR and... same issue still exists. Sorry for the mix up here.

TR compile output below:


Undefined symbols for architecture x86_64:
  "log4cpp::Appender::AppenderMapStorageInitializer::AppenderMapStorageInitializer()", referenced from:
      __GLOBAL__sub_I_ambe_encoder_sb_impl.cc in ambe_encoder_sb_impl.cc.o
      __GLOBAL__sub_I_dmr_bs_tx_bb_impl.cc in dmr_bs_tx_bb_impl.cc.o
      __GLOBAL__sub_I_ysf_tx_sb_impl.cc in ysf_tx_sb_impl.cc.o
      __GLOBAL__sub_I_dstar_tx_sb_impl.cc in dstar_tx_sb_impl.cc.o
      __GLOBAL__sub_I_vocoder_impl.cc in vocoder_impl.cc.o
      __GLOBAL__sub_I_gardner_costas_cc_impl.cc in gardner_costas_cc_impl.cc.o
      __GLOBAL__sub_I_p25_frame_assembler_impl.cc in p25_frame_assembler_impl.cc.o
      ...
  "log4cpp::Appender::AppenderMapStorageInitializer::~AppenderMapStorageInitializer()", referenced from:
      __GLOBAL__sub_I_ambe_encoder_sb_impl.cc in ambe_encoder_sb_impl.cc.o
      __GLOBAL__sub_I_dmr_bs_tx_bb_impl.cc in dmr_bs_tx_bb_impl.cc.o
      __GLOBAL__sub_I_ysf_tx_sb_impl.cc in ysf_tx_sb_impl.cc.o
      __GLOBAL__sub_I_dstar_tx_sb_impl.cc in dstar_tx_sb_impl.cc.o
      __GLOBAL__sub_I_vocoder_impl.cc in vocoder_impl.cc.o
      __GLOBAL__sub_I_gardner_costas_cc_impl.cc in gardner_costas_cc_impl.cc.o
      __GLOBAL__sub_I_p25_frame_assembler_impl.cc in p25_frame_assembler_impl.cc.o
      ...
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [lib/op25_repeater/lib/libgnuradio-op25_repeater.dylib] Error 1
make[1]: *** [lib/op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/all] Error 2
make: *** [all] Error 2```