Closed NeuroForLunch closed 3 years ago
brew install pothoscomms brew install pothossoapy < only one that doesn't fail brew install pothosflow brew install pothosplotters brew install pothoswidgets
All these fail with:
make
install
make: *** No rule to make target `install'. Stop.
brew install pothospython fails with
PyObjectRef::~PyObjectRef() in PythonProxy.cpp.o
PyObjectRef::operator=(PyObjectRef const&) in PythonHandle.cpp.o
getErrorString() in PythonHandle.cpp.o
PyObjectRef::~PyObjectRef() in PythonHandle.cpp.o
PyObjectRef::~PyObjectRef() in PythonConvert.cpp.o
"__Py_NoneStruct", referenced from:
PythonProxyHandle::call(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Pothos::Proxy const*, unsigned long) in PythonHandle.cpp.o
convertNullToPyNone(std::__1::shared_ptr<Pothos::ProxyEnvironment>, Pothos::NullObject const&) in PythonConvert.cpp.o
"__Py_TrueStruct", referenced from:
convertPyBoolToBool(Pothos::Proxy const&) in PythonConvert.cpp.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]: *** [libPythonSupport.so] Error 1
make[1]: *** [CMakeFiles/PythonSupport.dir/all] Error 2
make: *** [all] Error 2
Same issue here
ld: unknown option: --no-undefined
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [lib/libPothos.0.8.0.dylib] Error 1
make[1]: *** [lib/CMakeFiles/Pothos.dir/all] Error 2
make: *** [all] Error 2
Any fix for this?
@ncorgan https://github.com/pothosware/PothosCore/commit/5ed07e6bc93c5c429ae07a626e92f7e5a73ed3b4
This change makes clang on apple get into this CMAKE_COMPILER_IS_GNUCXX statement, but the linker args arent supported. Maybe this would fix it -Wl,--no-undefined -> -Wl,-undefined,error
MacOS 12
==> Reinstalling pothosware/pothos/soapyuhd
==> cmake .. -DUHD_ROOT='.'
==> make install
Last 15 lines from ~/Library/Logs/Homebrew/soapyuhd/02.make:
res_source_info src_info{res_source_info::USER, instance};
^
/usr/local/include/uhd/rfnoc/res_source_info.hpp:29:5: note: 'res_source_info' has been explicitly marked deleted here
res_source_info() = delete;
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make[2]: *** [CMakeFiles/uhdSupport.dir/SoapyUHDDevice.cpp.o] Error 1
make[1]: *** [CMakeFiles/uhdSupport.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 80%] Linking CXX shared module libsoapySupport.so
/usr/local/Cellar/cmake/3.21.4/bin/cmake -E cmake_link_script CMakeFiles/soapySupport.dir/link.txt --verbose=1
/usr/local/Homebrew/Library/Homebrew/shims/mac/super/clang++ -O3 -DNDEBUG -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk -bundle -Wl,-headerpad_max_install_names -o libsoapySupport.so CMakeFiles/soapySupport.dir/UHDSoapyDevice.cpp.o /usr/local/lib/libuhd.dylib /usr/local/lib/libSoapySDR.0.8.1.dylib /usr/local/lib/libboost_thread-mt.dylib /usr/local/lib/libboost_system-mt.dylib -pthread -flat_namespace
[ 80%] Built target soapySupport
make: *** [all] Error 2
If reporting this issue please do so at (not Homebrew/brew or Homebrew/core):
https://github.com/pothosware/homebrew-pothos/issues
These open issues may also help:
No 'make install' when trying to install soapyuhd on Catalina 10.15.7 https://github.com/pothosware/homebrew-pothos/issues/46
@steinmb Could you please provide the full log file at ~/Library/Logs/Homebrew/soapyuhd/02.make
?
@mbr0wn This last comment looks like a UHD issue, since we don't reference RFNoC directly. The homebrew package uses v4.1.0.4. This output is limited, but does this look familiar? If not, I'll open a UHD issue once I get more information.
Full log of failed build
@mbr0wn Disregard.
@guruofquality This looks like a mismatch between UHD being C++14 and SoapyUHD being C++11. For some reason, I'm not running into it with Clang and the same versions of everything on Ubuntu.
@guruofquality This looks like a mismatch between UHD being C++14 and SoapyUHD being C++11. For some reason, I'm not running into it with Clang and the same versions of everything on Ubuntu.
If im reading this right, If uhd headers are going to require c++14 support, sounds like SoapyUHD should just also require c++14 flags
If im reading this right, If uhd headers are going to require c++14 support, sounds like SoapyUHD should just also require c++14 flags
Well, I might take that back, the project should be using the package file from UHD find_package(UHD NO_MODULE)
. I cant tell from the log though. I might suggest that either uhd cmake development files are missing from the uhd recipe, or uhd cmake development files are not setting a required flag needed because of C++ language features in the public headers. Thoughts?