From owner-freebsd-ports@freebsd.org Tue Jul 12 16:35:02 2016 Return-Path: Delivered-To: freebsd-ports@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D9A5EB83597 for ; Tue, 12 Jul 2016 16:35:01 +0000 (UTC) (envelope-from mwm@mired.org) Received: from mail-io0-x232.google.com (mail-io0-x232.google.com [IPv6:2607:f8b0:4001:c06::232]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 966E71866 for ; Tue, 12 Jul 2016 16:35:01 +0000 (UTC) (envelope-from mwm@mired.org) Received: by mail-io0-x232.google.com with SMTP id 38so21634272iol.0 for ; Tue, 12 Jul 2016 09:35:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mired-org.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to; bh=JIbaSDh1mDXzMvBdfOgy5HsunLFuD6BT1ISUdYsD0LI=; b=adw0MR5hvXe2HWcrupRi9cGaLbgqydbYSyi0mVnOK0wMCSqSQfuF4ty9HH90i/lRM2 DHUEcxJUAr6G+2LfYnEh3TkqY1KmSIiB0QvbELIyuKIV93QPnQQiTrhD2apmGJMKq0/j yep7cjjWvGQCY7h7EfHyqp9aFEEHCmVN7Hmh/1UT2sO2NDirVUetNmL8jHp0G7EkwN4f RjtzGgjOBoCh4MShYBQyOjH7/mDUa0BmlgpIN6DXNrdAosPWILHRaZ7RjxPvOHkRqn/C wA9uopaLzGPD6rTaV0qd6NdtyJFwNEoVbh25+GdJevUlK83/Dvn0IDOX0vpgU40leuNy j18g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=JIbaSDh1mDXzMvBdfOgy5HsunLFuD6BT1ISUdYsD0LI=; b=BtcYc5mHvNQUsG7uBBoBAsmNjbUy9YXR86OiLG4LY0yveIgBDfaCpjXQ+kYhrGxbOj i6bkqoBR2+XWbHa/206rpK0cWy//igaEhnKvW5Xo/v74QGMJDP6dsUdGA7+RDxWPzR0Z XQzkWI1mPRysI6+75n4l8G2fKoKNxT69Jcw2d+NziRi3Fk+4aToRHunDGId/vIEwKrGX VGHqbnEDGTPbnXmOtw2GRHTBQDjD92LgKtXUky9kOxTuzxSvgz32+M+CIWw1dcx5Klh1 5WIM1/I/d9PbpKXx9WeH3Hw9AKJfm+RkXgI7wn4ykYFy0IVfw5Ba9rpDFLxL+fp3jSHh s03w== X-Gm-Message-State: ALyK8tK06OH+hw3ozKznRjsX6LJILxJO8d7LUUQhJjY6FJW76++GgbK6H5OxcUfhuD77/lLQwtyaibJgsYMg8w== X-Received: by 10.107.186.132 with SMTP id k126mr4445496iof.119.1468341299975; Tue, 12 Jul 2016 09:34:59 -0700 (PDT) MIME-Version: 1.0 Received: by 10.107.12.152 with HTTP; Tue, 12 Jul 2016 09:34:30 -0700 (PDT) X-Originating-IP: [98.22.167.223] From: Mike Meyer Date: Tue, 12 Jul 2016 11:34:30 -0500 Message-ID: Subject: pulseview 0.4.0 not linking. Help with Qt5 app build? To: freebsd-ports@freebsd.org Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.22 X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jul 2016 16:35:02 -0000 I'm working on new versions of the sigrok ports (libserialport, libsigrok, libsigrokdecode and pulseview being the critical bits). While the C things all build and seem to work with little problem, the GUI package - pulseview - fails to link with a bunch of references to undefined variables. Those seem to be not only things from the sigrok libraries, but some standard parts of C++ as well. I'm don't generally do much C++ or Qt work, so am out of my depth. Figures that the thing that doesn't work is the thing I have the least ability to fix. Anyway, here's the link command and the errors it generates. There were no errors before that during the build. If someone can provide a clue as to what might be missing, or what to tell cmake, to get this to work, I'd appreciate it. The old 0.3.0 port does build, but examining it hasn't turned up anything that works. Plugging in C++ libraries, using -pthread, and trying different ways to get to the clang c++ compiler all result in linker errors. Please leave my address in the Cc: list, as I'm not subscribed. /usr/bin/CC -fPIC -O2 -g -DNDEBUG CMakeFiles/pulseview.dir/main.cpp.o CMakeFiles/pulseview.dir/pv/application.cpp.o CMakeFiles/pulseview.dir/pv/devicemanager.cpp.o CMakeFiles/pulseview.dir/pv/mainwindow.cpp.o CMakeFiles/pulseview.dir/pv/session.cpp.o CMakeFiles/pulseview.dir/pv/storesession.cpp.o CMakeFiles/pulseview.dir/pv/util.cpp.o CMakeFiles/pulseview.dir/pv/binding/binding.cpp.o CMakeFiles/pulseview.dir/pv/binding/inputoutput.cpp.o CMakeFiles/pulseview.dir/pv/binding/device.cpp.o CMakeFiles/pulseview.dir/pv/data/analog.cpp.o CMakeFiles/pulseview.dir/pv/data/analogsegment.cpp.o CMakeFiles/pulseview.dir/pv/data/logic.cpp.o CMakeFiles/pulseview.dir/pv/data/logicsegment.cpp.o CMakeFiles/pulseview.dir/pv/data/signaldata.cpp.o CMakeFiles/pulseview.dir/pv/data/segment.cpp.o CMakeFiles/pulseview.dir/pv/devices/device.cpp.o CMakeFiles/pulseview.dir/pv/devices/file.cpp.o CMakeFiles/pulseview.dir/pv/devices/hardwaredevice.cpp.o CMakeFiles/pulseview.dir/pv/devices/inputfile.cpp.o CMakeFiles/pulseview.dir/pv/devices/sessionfile.cpp.o CMakeFiles/pulseview.dir/pv/dialogs/about.cpp.o CMakeFiles/pulseview.dir/pv/dialogs/connect.cpp.o CMakeFiles/pulseview.dir/pv/dialogs/inputoutputoptions.cpp.o CMakeFiles/pulseview.dir/pv/dialogs/storeprogress.cpp.o CMakeFiles/pulseview.dir/pv/popups/deviceoptions.cpp.o CMakeFiles/pulseview.dir/pv/popups/channels.cpp.o CMakeFiles/pulseview.dir/pv/prop/bool.cpp.o CMakeFiles/pulseview.dir/pv/prop/double.cpp.o CMakeFiles/pulseview.dir/pv/prop/enum.cpp.o CMakeFiles/pulseview.dir/pv/prop/int.cpp.o CMakeFiles/pulseview.dir/pv/prop/property.cpp.o CMakeFiles/pulseview.dir/pv/prop/string.cpp.o CMakeFiles/pulseview.dir/pv/toolbars/mainbar.cpp.o CMakeFiles/pulseview.dir/pv/view/analogsignal.cpp.o CMakeFiles/pulseview.dir/pv/view/cursor.cpp.o CMakeFiles/pulseview.dir/pv/view/cursorpair.cpp.o CMakeFiles/pulseview.dir/pv/view/flag.cpp.o CMakeFiles/pulseview.dir/pv/view/header.cpp.o CMakeFiles/pulseview.dir/pv/view/marginwidget.cpp.o CMakeFiles/pulseview.dir/pv/view/logicsignal.cpp.o CMakeFiles/pulseview.dir/pv/view/rowitem.cpp.o CMakeFiles/pulseview.dir/pv/view/ruler.cpp.o CMakeFiles/pulseview.dir/pv/view/signal.cpp.o CMakeFiles/pulseview.dir/pv/view/signalscalehandle.cpp.o CMakeFiles/pulseview.dir/pv/view/timeitem.cpp.o CMakeFiles/pulseview.dir/pv/view/timemarker.cpp.o CMakeFiles/pulseview.dir/pv/view/trace.cpp.o CMakeFiles/pulseview.dir/pv/view/tracegroup.cpp.o CMakeFiles/pulseview.dir/pv/view/tracepalette.cpp.o CMakeFiles/pulseview.dir/pv/view/tracetreeitem.cpp.o CMakeFiles/pulseview.dir/pv/view/tracetreeitemowner.cpp.o CMakeFiles/pulseview.dir/pv/view/triggermarker.cpp.o CMakeFiles/pulseview.dir/pv/view/view.cpp.o CMakeFiles/pulseview.dir/pv/view/viewitem.cpp.o CMakeFiles/pulseview.dir/pv/view/viewitemowner.cpp.o CMakeFiles/pulseview.dir/pv/view/viewitempaintparams.cpp.o CMakeFiles/pulseview.dir/pv/view/viewport.cpp.o CMakeFiles/pulseview.dir/pv/view/viewwidget.cpp.o CMakeFiles/pulseview.dir/pv/widgets/colourbutton.cpp.o CMakeFiles/pulseview.dir/pv/widgets/colourpopup.cpp.o CMakeFiles/pulseview.dir/pv/widgets/devicetoolbutton.cpp.o CMakeFiles/pulseview.dir/pv/widgets/exportmenu.cpp.o CMakeFiles/pulseview.dir/pv/widgets/hidingmenubar.cpp.o CMakeFiles/pulseview.dir/pv/widgets/importmenu.cpp.o CMakeFiles/pulseview.dir/pv/widgets/popup.cpp.o CMakeFiles/pulseview.dir/pv/widgets/popuptoolbutton.cpp.o CMakeFiles/pulseview.dir/pv/widgets/sweeptimingwidget.cpp.o CMakeFiles/pulseview.dir/pv/widgets/timestampspinbox.cpp.o CMakeFiles/pulseview.dir/pv/widgets/wellarray.cpp.o CMakeFiles/pulseview.dir/signalhandler.cpp.o CMakeFiles/pulseview.dir/pv/binding/decoder.cpp.o CMakeFiles/pulseview.dir/pv/data/decoderstack.cpp.o CMakeFiles/pulseview.dir/pv/data/decode/annotation.cpp.o CMakeFiles/pulseview.dir/pv/data/decode/decoder.cpp.o CMakeFiles/pulseview.dir/pv/data/decode/row.cpp.o CMakeFiles/pulseview.dir/pv/data/decode/rowdata.cpp.o CMakeFiles/pulseview.dir/pv/view/decodetrace.cpp.o CMakeFiles/pulseview.dir/pv/widgets/decodergroupbox.cpp.o CMakeFiles/pulseview.dir/pv/widgets/decodermenu.cpp.o CMakeFiles/pulseview.dir/pv/moc_mainwindow.cpp.o CMakeFiles/pulseview.dir/pv/moc_session.cpp.o CMakeFiles/pulseview.dir/pv/moc_storesession.cpp.o CMakeFiles/pulseview.dir/pv/binding/moc_device.cpp.o CMakeFiles/pulseview.dir/pv/dialogs/moc_about.cpp.o CMakeFiles/pulseview.dir/pv/dialogs/moc_connect.cpp.o CMakeFiles/pulseview.dir/pv/dialogs/moc_inputoutputoptions.cpp.o CMakeFiles/pulseview.dir/pv/dialogs/moc_storeprogress.cpp.o CMakeFiles/pulseview.dir/pv/popups/moc_channels.cpp.o CMakeFiles/pulseview.dir/pv/popups/moc_deviceoptions.cpp.o CMakeFiles/pulseview.dir/pv/prop/moc_bool.cpp.o CMakeFiles/pulseview.dir/pv/prop/moc_double.cpp.o CMakeFiles/pulseview.dir/pv/prop/moc_enum.cpp.o CMakeFiles/pulseview.dir/pv/prop/moc_int.cpp.o CMakeFiles/pulseview.dir/pv/prop/moc_property.cpp.o CMakeFiles/pulseview.dir/pv/prop/moc_string.cpp.o CMakeFiles/pulseview.dir/pv/toolbars/moc_mainbar.cpp.o CMakeFiles/pulseview.dir/pv/view/moc_analogsignal.cpp.o CMakeFiles/pulseview.dir/pv/view/moc_cursor.cpp.o CMakeFiles/pulseview.dir/pv/view/moc_flag.cpp.o CMakeFiles/pulseview.dir/pv/view/moc_header.cpp.o CMakeFiles/pulseview.dir/pv/view/moc_logicsignal.cpp.o CMakeFiles/pulseview.dir/pv/view/moc_marginwidget.cpp.o CMakeFiles/pulseview.dir/pv/view/moc_rowitem.cpp.o CMakeFiles/pulseview.dir/pv/view/moc_ruler.cpp.o CMakeFiles/pulseview.dir/pv/view/moc_signal.cpp.o CMakeFiles/pulseview.dir/pv/view/moc_signalscalehandle.cpp.o CMakeFiles/pulseview.dir/pv/view/moc_timeitem.cpp.o CMakeFiles/pulseview.dir/pv/view/moc_timemarker.cpp.o CMakeFiles/pulseview.dir/pv/view/moc_trace.cpp.o CMakeFiles/pulseview.dir/pv/view/moc_tracegroup.cpp.o CMakeFiles/pulseview.dir/pv/view/moc_tracetreeitem.cpp.o CMakeFiles/pulseview.dir/pv/view/moc_triggermarker.cpp.o CMakeFiles/pulseview.dir/pv/view/moc_view.cpp.o CMakeFiles/pulseview.dir/pv/view/moc_viewitem.cpp.o CMakeFiles/pulseview.dir/pv/view/moc_viewport.cpp.o CMakeFiles/pulseview.dir/pv/view/moc_viewwidget.cpp.o CMakeFiles/pulseview.dir/pv/widgets/moc_colourbutton.cpp.o CMakeFiles/pulseview.dir/pv/widgets/moc_colourpopup.cpp.o CMakeFiles/pulseview.dir/pv/widgets/moc_devicetoolbutton.cpp.o CMakeFiles/pulseview.dir/pv/widgets/moc_exportmenu.cpp.o CMakeFiles/pulseview.dir/pv/widgets/moc_hidingmenubar.cpp.o CMakeFiles/pulseview.dir/pv/widgets/moc_importmenu.cpp.o CMakeFiles/pulseview.dir/pv/widgets/moc_popup.cpp.o CMakeFiles/pulseview.dir/pv/widgets/moc_popuptoolbutton.cpp.o CMakeFiles/pulseview.dir/pv/widgets/moc_sweeptimingwidget.cpp.o CMakeFiles/pulseview.dir/pv/widgets/moc_timestampspinbox.cpp.o CMakeFiles/pulseview.dir/pv/widgets/moc_wellarray.cpp.o CMakeFiles/pulseview.dir/moc_signalhandler.cpp.o CMakeFiles/pulseview.dir/pv/data/moc_decoderstack.cpp.o CMakeFiles/pulseview.dir/pv/view/moc_decodetrace.cpp.o CMakeFiles/pulseview.dir/pv/widgets/moc_decodergroupbox.cpp.o CMakeFiles/pulseview.dir/pv/widgets/moc_decodermenu.cpp.o CMakeFiles/pulseview.dir/qrc_pulseview.cpp.o -o pulseview -L/usr/local/lib /usr/local/lib/libboost_filesystem.so /usr/local/lib/libboost_system.so /usr/local/lib/libboost_thread.so /usr/local/lib/libboost_unit_test_framework.so /usr/local/lib/libQt5Svg.so.5.5.1 -lpthread -lsigrokcxx -lsigrok -lglibmm-2.4 -lgobject-2.0 -lsigc-2.0 -lsigrokdecode -lglib-2.0 -lintl /usr/local/lib/libQt5Widgets.so.5.5.1 /usr/local/lib/libQt5Gui.so.5.5.1 /usr/local/lib/libQt5Core.so.5.5.1 -Wl,-rpath,/usr/local/lib: -Wl,-rpath-link,/usr/local/lib CMakeFiles/pulseview.dir/pv/devicemanager.cpp.o: In function `pv::DeviceManager::driver_scan(std::__1::shared_ptr, std::__1::map, std::__1::allocator > >)': /export/mwm/src/external/pulseview/pv/devicemanager.cpp:98: undefined reference to `sigrok::Driver::scan(std::__1::map, std::__1::allocator > >)' CMakeFiles/pulseview.dir/pv/session.cpp.o: In function `pv::Session::set_device(std::__1::shared_ptr)': /export/mwm/src/external/pulseview/pv/session.cpp:173: undefined reference to `sigrok::Session::add_datafeed_callback(std::__1::function, std::__1::shared_ptr)>)' 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, std::__1::allocator >, std::__1::shared_ptr, std::__1::map, std::__1::allocator >, Glib::VariantBase, std::__1::less, std::__1::allocator > >, std::__1::allocator, std::__1::allocator > const, Glib::VariantBase> > >)' /export/mwm/src/external/pulseview/pv/storesession.cpp:192: undefined reference to `sigrok::Context::create_meta_packet(std::__1::map, std::__1::allocator > >)' /export/mwm/src/external/pulseview/pv/storesession.cpp:195: undefined reference to `sigrok::Output::receive(std::__1::shared_ptr)' CMakeFiles/pulseview.dir/pv/storesession.cpp.o: In function `pv::StoreSession::store_proc(std::__1::vector, std::__1::allocator > >, std::__1::vector, std::__1::allocator > >, std::__1::shared_ptr)': /export/mwm/src/external/pulseview/pv/storesession.cpp:270: undefined reference to `sigrok::Context::create_analog_packet(std::__1::vector, std::__1::allocator > >, float*, unsigned int, sigrok::Quantity const*, sigrok::Unit const*, std::__1::vector >)' /export/mwm/src/external/pulseview/pv/storesession.cpp:275: undefined reference to `sigrok::Output::receive(std::__1::shared_ptr)' /export/mwm/src/external/pulseview/pv/storesession.cpp:288: undefined reference to `sigrok::Output::receive(std::__1::shared_ptr)' 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)' 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::allocator >, Glib::VariantBase, std::__1::less, std::__1::allocator > >, std::__1::allocator, std::__1::allocator > const, Glib::VariantBase> > >)' /export/mwm/src/external/pulseview/pv/devices/inputfile.cpp:75: undefined reference to `sigrok::Session::add_device(std::__1::shared_ptr)' 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, std::__1::allocator >)' CMakeFiles/pulseview.dir/pv/dialogs/connect.cpp.o: In function `pv::dialogs::Connect::populate_serials(std::__1::shared_ptr)': /export/mwm/src/external/pulseview/pv/dialogs/connect.cpp:178: undefined reference to `sigrok::Context::serials(std::__1::shared_ptr) 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, std::__1::allocator >)' /export/mwm/src/external/pulseview/pv/view/logicsignal.cpp:440: undefined reference to `sigrok::TriggerStage::add_match(std::__1::shared_ptr, 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::TriggerMatchType const*)' /export/mwm/src/external/pulseview/pv/view/logicsignal.cpp:455: undefined reference to `sigrok::Session::set_trigger(std::__1::shared_ptr)' 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, std::__1::allocator >)' /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) *** Error code 1 Stop. make[2]: stopped in /export/mwm/src/external/pulseview *** Error code 1 Stop. make[1]: stopped in /export/mwm/src/external/pulseview *** Error code 1 Stop. make: stopped in /export/mwm/src/external/pulseview