I'm trying to build the current repositories on FreeBSD as part of updating
the port, and everything is working fine until it tries to link pulseview.
In particular, libserialport, libsigrok, libsigrokdecode and sigrok-cli all
build and install with no issues. "make check" also works for them, though
doesn't appear to run any tests.

"cmake ." for pulseview doesn't report any problems. Make seems to run
clean unitl it gets to this:

[ 54%] Linking CXX executable pulseview

at which point the link fails with a bunch of undefined references (at
end). From the looks of things, libsigrok isn't getting linked in properly.
And possibly some C++ library is missing as well. I can't really debug this
without knowing what command it's make is runnin, and the final comment
about "use -v to see invocation" is no help, as "make -v" just gets a usage
message, and if I knew the command that make was running, I wouldn't need
to see the invocation.

The Pulseview port installs 0.3.0, and doesn't patch anything in the
distribution. That indeed builds and installs fine if I install the
appropriate version of libsigrok. That it fails to compile against the
current version is unsurprising.

At this point, I'd like some guidance on how to figure out what's broken in
the build. I suspect there are other files you need the contents of, but
have no idea what they would be.

Thanks,
Mike

CMakeFiles/pulseview.dir/pv/devicemanager.cpp.o: In function
`pv::DeviceManager::driver_scan(std::__1::shared_ptr<sigrok::Driver>,
std::__1::map<sigrok::ConfigKey const*, Glib::VariantBase,
std::__1::less<sigrok::ConfigKey const*>,
std::__1::allocator<std::__1::pair<sigrok::ConfigKey const* const,
Glib::VariantBase> > >)':
/export/mwm/src/external/pulseview/pv/devicemanager.cpp:98: undefined
reference to `sigrok::Driver::scan(std::__1::map<sigrok::ConfigKey const*,
Glib::VariantBase, std::__1::less<sigrok::ConfigKey const*>,
std::__1::allocator<std::__1::pair<sigrok::ConfigKey const* const,
Glib::VariantBase> > >)'
CMakeFiles/pulseview.dir/pv/session.cpp.o: In function
`pv::Session::set_device(std::__1::shared_ptr<pv::devices::Device>)':
/export/mwm/src/external/pulseview/pv/session.cpp:173: undefined reference
to `sigrok::Session::add_datafeed_callback(std::__1::function<void
()(std::__1::shared_ptr<sigrok::Device>,
std::__1::shared_ptr<sigrok::Packet>)>)'
CMakeFiles/pulseview.dir/pv/storesession.cpp.o: In function
`pv::StoreSession::start()':
/export/mwm/src/external/pulseview/pv/storesession.cpp:191: undefined
reference to
`sigrok::OutputFormat::create_output(std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> >,
std::__1::shared_ptr<sigrok::Device>,
std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> >, Glib::VariantBase,
std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > >,
std::__1::allocator<std::__1::pair<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const,
Glib::VariantBase> > >)'
/export/mwm/src/external/pulseview/pv/storesession.cpp:192: undefined
reference to
`sigrok::Context::create_meta_packet(std::__1::map<sigrok::ConfigKey
const*, Glib::VariantBase, std::__1::less<sigrok::ConfigKey const*>,
std::__1::allocator<std::__1::pair<sigrok::ConfigKey const* const,
Glib::VariantBase> > >)'
/export/mwm/src/external/pulseview/pv/storesession.cpp:195: undefined
reference to `sigrok::Output::receive(std::__1::shared_ptr<sigrok::Packet>)'
CMakeFiles/pulseview.dir/pv/storesession.cpp.o: In function
`pv::StoreSession::store_proc(std::__1::vector<std::__1::shared_ptr<sigrok::Channel>,
std::__1::allocator<std::__1::shared_ptr<sigrok::Channel> > >,
std::__1::vector<std::__1::shared_ptr<pv::data::AnalogSegment>,
std::__1::allocator<std::__1::shared_ptr<pv::data::AnalogSegment> > >,
std::__1::shared_ptr<pv::data::LogicSegment>)':
/export/mwm/src/external/pulseview/pv/storesession.cpp:270: undefined
reference to
`sigrok::Context::create_analog_packet(std::__1::vector<std::__1::shared_ptr<sigrok::Channel>,
std::__1::allocator<std::__1::shared_ptr<sigrok::Channel> > >, float*,
unsigned int, sigrok::Quantity const*, sigrok::Unit const*,
std::__1::vector<sigrok::QuantityFlag const*,
std::__1::allocator<sigrok::QuantityFlag const*> >)'
/export/mwm/src/external/pulseview/pv/storesession.cpp:275: undefined
reference to `sigrok::Output::receive(std::__1::shared_ptr<sigrok::Packet>)'
/export/mwm/src/external/pulseview/pv/storesession.cpp:288: undefined
reference to `sigrok::Output::receive(std::__1::shared_ptr<sigrok::Packet>)'
CMakeFiles/pulseview.dir/pv/devices/hardwaredevice.cpp.o: In function
`pv::devices::HardwareDevice::open()':
/export/mwm/src/external/pulseview/pv/devices/hardwaredevice.cpp:118:
undefined reference to
`sigrok::Session::add_device(std::__1::shared_ptr<sigrok::Device>)'
CMakeFiles/pulseview.dir/pv/devices/inputfile.cpp.o: In function
`pv::devices::InputFile::open()':
/export/mwm/src/external/pulseview/pv/devices/inputfile.cpp:52: undefined
reference to
`sigrok::InputFormat::create_input(std::__1::map<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> >,
Glib::VariantBase, std::__1::less<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > >,
std::__1::allocator<std::__1::pair<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const,
Glib::VariantBase> > >)'
/export/mwm/src/external/pulseview/pv/devices/inputfile.cpp:75: undefined
reference to
`sigrok::Session::add_device(std::__1::shared_ptr<sigrok::Device>)'
CMakeFiles/pulseview.dir/pv/devices/sessionfile.cpp.o: In function
`pv::devices::SessionFile::open()':
/export/mwm/src/external/pulseview/pv/devices/sessionfile.cpp:42: undefined
reference to `sigrok::Context::load_session(std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> >)'
CMakeFiles/pulseview.dir/pv/dialogs/connect.cpp.o: In function
`pv::dialogs::Connect::populate_serials(std::__1::shared_ptr<sigrok::Driver>)':
/export/mwm/src/external/pulseview/pv/dialogs/connect.cpp:178: undefined
reference to
`sigrok::Context::serials(std::__1::shared_ptr<sigrok::Driver>) const'
CMakeFiles/pulseview.dir/pv/view/logicsignal.cpp.o: In function
`pv::view::LogicSignal::modify_trigger()':
/export/mwm/src/external/pulseview/pv/view/logicsignal.cpp:426: undefined
reference to `sigrok::Context::create_trigger(std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> >)'
/export/mwm/src/external/pulseview/pv/view/logicsignal.cpp:440: undefined
reference to
`sigrok::TriggerStage::add_match(std::__1::shared_ptr<sigrok::Channel>,
sigrok::TriggerMatchType const*)'
/export/mwm/src/external/pulseview/pv/view/logicsignal.cpp:452: undefined
reference to
`sigrok::TriggerStage::add_match(std::__1::shared_ptr<sigrok::Channel>,
sigrok::TriggerMatchType const*)'
/export/mwm/src/external/pulseview/pv/view/logicsignal.cpp:455: undefined
reference to
`sigrok::Session::set_trigger(std::__1::shared_ptr<sigrok::Trigger>)'
CMakeFiles/pulseview.dir/pv/view/signal.cpp.o: In function
`pv::view::Signal::set_name(QString)':
/export/mwm/src/external/pulseview/pv/view/signal.cpp:83: undefined
reference to `sigrok::Channel::set_name(std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> >)'
/usr/local/lib/libsigrokcxx.so: undefined reference to `typeinfo for
std::bad_weak_ptr@GLIBCXX_3.4.15'
/usr/local/lib/libsigrokcxx.so: undefined reference to
`std::bad_weak_ptr::~bad_weak_ptr()@GLIBCXX_3.4.15'
/usr/local/lib/libsigrokcxx.so: undefined reference to `vtable for
std::bad_weak_ptr@GLIBCXX_3.4.15'
/usr/local/lib/libsigrokcxx.so: undefined reference to
`std::__throw_bad_function_call()@GLIBCXX_3.4.14'
c++: error: linker command failed with exit code 1 (use -v to see
invocation)
------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
_______________________________________________
sigrok-devel mailing list
sigrok-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sigrok-devel

Reply via email to