Hello, I am able to compile pulseview with glib 2.56.1 and 2.56.2, but not with recent 2.58.0. 2.58.0 is the current version on macOS using homebrew on my host laptop. https://formulae.brew.sh/formula/glib Success with 2.56.1: https://travis-ci.org/strongly-typed/sigrok-macos/builds/429295459 https://api.travis-ci.org/v3/job/429295460/log.txt Success with 2.56.2: https://travis-ci.org/strongly-typed/sigrok-macos/builds/429300760 Fail with 2.58.0: https://travis-ci.org/strongly-typed/sigrok-macos/jobs/429213895#L2011 Linking CXX executable pulseview-test[0m Undefined symbols for architecture x86_64: "Glib::Variant<unsigned long long>::variant_type()", referenced from: Glib::Variant<unsigned long long> Glib::VariantBase::cast_dynamic<Glib::Variant<unsigned long long> >(Glib::VariantBase const&) in device.cpp.o Glib::Variant<unsigned long long> Glib::VariantBase::cast_dynamic<Glib::Variant<unsigned long long> >(Glib::VariantBase const&) in mainbar.cpp.o "Glib::Variant<unsigned long long>::create(unsigned long long)", referenced from: pv::StoreSession::start() in storesession.cpp.o pv::toolbars::MainBar::commit_sample_count() in mainbar.cpp.o pv::toolbars::MainBar::commit_sample_rate() in mainbar.cpp.o "Glib::Variant<unsigned long long>::get() const", referenced from: unsigned long long pv::devices::Device::read_config<unsigned long long>(sigrok::ConfigKey const*, unsigned long long) in device.cpp.o pv::toolbars::MainBar::update_sample_rate_selector_value() in mainbar.cpp.o ld: symbol(s) not found for architecture x86_64 I am using TravisCI to make the build error available and reproducible for everyone (including developers without access to a Mac). https://github.com/strongly-typed/sigrok-macos What is necessary to make pulseview compatible with glib 2.58.0 so it can be compiled with the recent homebrew setup? Side question: Why not use TravisCI to build a real nightly dmg automatically? The current dmg is over a week old although there have been some commits in e.g. libsigrokdecode? Best regards Sascha
The linking also fails with glib 2.58.2 100%] Linking CXX executable pulseview Undefined symbols for architecture x86_64: "Glib::Variant<unsigned long long>::variant_type()", referenced from: Glib::Variant<unsigned long long> Glib::VariantBase::cast_dynamic<Glib::Variant<unsigned long long> >(Glib::VariantBase const&) in device.cpp.o Glib::Variant<unsigned long long> Glib::VariantBase::cast_dynamic<Glib::Variant<unsigned long long> >(Glib::VariantBase const&) in mainbar.cpp.o "Glib::Variant<unsigned long long>::create(unsigned long long)", referenced from: pv::StoreSession::start() in storesession.cpp.o pv::toolbars::MainBar::commit_sample_count() in mainbar.cpp.o pv::toolbars::MainBar::commit_sample_rate() in mainbar.cpp.o "Glib::Variant<unsigned long long>::get() const", referenced from: unsigned long long pv::devices::Device::read_config<unsigned long long>(sigrok::ConfigKey const*, unsigned long long) in device.cpp.o pv::toolbars::MainBar::update_sample_rate_selector_value() in mainbar.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]: *** [pulseview] Error 1 make[1]: *** [CMakeFiles/pulseview.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... [100%] Linking CXX executable pulseview-test Undefined symbols for architecture x86_64: "Glib::Variant<unsigned long long>::variant_type()", referenced from: Glib::Variant<unsigned long long> Glib::VariantBase::cast_dynamic<Glib::Variant<unsigned long long> >(Glib::VariantBase const&) in device.cpp.o Glib::Variant<unsigned long long> Glib::VariantBase::cast_dynamic<Glib::Variant<unsigned long long> >(Glib::VariantBase const&) in mainbar.cpp.o "Glib::Variant<unsigned long long>::create(unsigned long long)", referenced from: pv::StoreSession::start() in storesession.cpp.o pv::toolbars::MainBar::commit_sample_count() in mainbar.cpp.o pv::toolbars::MainBar::commit_sample_rate() in mainbar.cpp.o "Glib::Variant<unsigned long long>::get() const", referenced from: unsigned long long pv::devices::Device::read_config<unsigned long long>(sigrok::ConfigKey const*, unsigned long long) in device.cpp.o pv::toolbars::MainBar::update_sample_rate_selector_value() in mainbar.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)
These are glibmm issues, not glib. Do we know which version of glibmm works and which doesn't?
This is working fine for me on a recent Homebrew setup with glibmm 2.60.0, I'm assuming it was fixed upstream? Can anybody else still reproduce the problem with glibmm 2.60.0?
Just re-tried a full build (glibmm 2.60.0), seems to work fine still, so I'm assuming it was fixed upstream. Closing the issue.