I can't use GCC on FreeBSD because gtkmm is built against libc++ but GCC defaults to libstdc++. Also, libstdc++fs shouldn't be necessary since GCC 9. libc++ dropped its equivalent in llvm/llvm-project@cc37af7a3631.
$ c++ --version
FreeBSD clang version 10.0.1 ([email protected]:llvm/llvm-project.git llvmorg-10.0.1-rc2-0-g77d76b71d7d)
Target: x86_64-unknown-freebsd13.0
Thread model: posix
InstalledDir: /usr/bin
$ meson _build && ninja -C _build
[...]
../bar/bar.cc:112:25: error: invalid suffix 'd' on floating constant
if (o >= 0.0d && o <= 1.0d) {
^
../bar/bar.cc:112:38: error: invalid suffix 'd' on floating constant
if (o >= 0.0d && o <= 1.0d) {
^
../dmenu/dmenu.cc:136:25: error: invalid suffix 'd' on floating constant
if (o >= 0.0d && o <= 1.0d) {
^
../dmenu/dmenu.cc:136:38: error: invalid suffix 'd' on floating constant
if (o >= 0.0d && o <= 1.0d) {
^
../grid/grid.cc:115:25: error: invalid suffix 'd' on floating constant
if (o >= 0.0d && o <= 1.0d) {
^
../grid/grid.cc:115:38: error: invalid suffix 'd' on floating constant
if (o >= 0.0d && o <= 1.0d) {
^
ld: error: unable to find library -lstdc++fs
c++: error: linker command failed with exit code 1 (use -v to see invocation)
$ CC=gcc10 CXX=g++10 meson _build && ninja -C _build
/usr/bin/ld: grid/nwggrid.p/grid.cc.o: in function `main':
_build/../grid/grid.cc:301: undefined reference to `Glib::ustring::ustring(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: _build/../grid/grid.cc:301: undefined reference to `Glib::ustring::ustring(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: _build/../grid/grid.cc:311: undefined reference to `Glib::ustring::ustring(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)'
/usr/bin/ld: _build/../grid/grid.cc:319: undefined reference to `Glib::ustring::ustring(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: _build/../grid/grid.cc:319: undefined reference to `Glib::ustring::ustring(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: _build/../grid/grid.cc:330: undefined reference to `Glib::ustring::ustring(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: _build/../grid/grid.cc:347: undefined reference to `Glib::ustring::ustring(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: _build/../grid/grid.cc:347: undefined reference to `Glib::ustring::ustring(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: grid/nwggrid.p/grid.cc.o:/usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:108: more undefined references to `Glib::ustring::ustring(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' follow
/usr/bin/ld: grid/nwggrid.p/grid_tools.cc.o: in function `app_image(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
_build/../grid/grid_tools.cc:283: undefined reference to `Gdk::Pixbuf::create_from_file(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, int, bool)'
/usr/bin/ld: _build/../grid/grid_tools.cc:279: undefined reference to `Gdk::Pixbuf::create_from_file(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, int, bool)'
/usr/bin/ld: _build/../grid/grid_tools.cc:285: undefined reference to `Gdk::Pixbuf::create_from_file(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, int, bool)'
/usr/bin/ld: common/libnwg.a(nwg_classes.cc.o): in function `AppBox::AppBox(Glib::ustring, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, Glib::ustring)':
_build/../common/nwg_classes.cc:44: undefined reference to `Glib::ustring::operator=(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: common/libnwg.a(nwg_classes.cc.o): in function `AppBox::AppBox(Glib::ustring, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, Glib::ustring)':
_build/../common/nwg_classes.cc:44: undefined reference to `Glib::ustring::operator=(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
collect2: error: ld returned 1 exit status