On Fri, Feb 11, 2022 at 09:40:12PM -0700, Kurt Mosiejczuk wrote:
> http://build-failures.rhaalovely.net/sparc64/2022-02-09/multimedia/mkvtoolnix.log

This port uses the following but still fails to resolve <filesystem>
symbols;  Apparently starting with 9, GCC automatically links against
this library when this include is used, but GCC 8 does not.

        # need to add this for gcc
        # revisit when gcc drops it
        EXTRA_ports-gcc=        -lstdc++fs
        LDFLAGS+=               ${EXTRA_${CHOSEN_COMPILER}}

Yet it still (or again?) fails to link:

> FAILED: bin/clazy-standalone 
: && /usr/obj/ports/clazy-1.10/bin/c++ -O2 -pipe -std=c++14 -fno-common 
-Woverloaded-virtual -Wcast-qual -fno-strict-aliasing -pedantic -Wno-long-long 
-Wall -W -Wno-unused-parameter -Wwrite-strings -fno-exceptions -fno-rtti -fPIC 
-DNDEBUG  CMakeFiles/clazy-standalone.dir/src/ClazyStandaloneMain.cpp.o -o 
bin/clazy-standalone -L/usr/local/lib   
-L/usr/obj/ports/clazy-1.10/build-sparc64/lib 
-Wl,-z,origin,-rpath,/usr/obj/ports/clazy-1.10/build-sparc64/lib:  
-lClazyPlugin  -lclang-cpp  -lLLVM-13  -Wl,-rpath-link,/usr/X11R6/lib && :
> /usr/obj/ports/clazy-1.10/build-sparc64/lib/libClazyPlugin.so: undefined 
> reference to `std::filesystem::__cxx11::path::_M_split_cmpts()'
> /usr/obj/ports/clazy-1.10/build-sparc64/lib/libClazyPlugin.so: undefined 
> reference to `std::filesystem::__cxx11::path::_M_find_extension() const'

lang/clazy uses -lstdc++11 on its own and fails the same way:

> http://build-failures.rhaalovely.net/sparc64/2022-02-09/lang/clazy.log

> c++ -fstack-protector-strong -lstdc++fs -L/usr/local/lib -L/usr/X11R6/lib 
> -L/usr/local/lib/qt5 -L/usr/local/lib -Llib/avilib-0.6.10 -Llib/librmff 
> -Lsrc/common -o src/tools/ebml_validator src/tools/ebml_validator.o 
> src/tools/element_info.o -lmtxcommon -L/usr/local/lib -lmatroska 
> -L/usr/local/lib -lebml -lFLAC -logg -lm -lz -L/usr/local/lib -lpugixml 
> -lintl -liconv -lfmt -lQt5Core -lgmp -L/usr/local/lib -lcmark 
> -L/usr/local/lib -ldvdread
> ...
> src/common/libmtxcommon.a(logger.o): In function 
> `mtx::log::file_target_c::log_line(std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&)':
> logger.cpp:(.text+0x694): undefined reference to 
> `std::filesystem::status(std::filesystem::__cxx11::path const&)'
> src/common/libmtxcommon.a(logger.o): In function 
> `mtx::log::file_target_c::file_target_c(std::filesystem::__cxx11::path)':
> logger.cpp:(.text+0xa08): undefined reference to 
> `std::filesystem::__cxx11::path::_M_split_cmpts()'
> ...


Aja: You added the mkvtoolnix fix;  has it worked in the passed?

I don't immediately know how to fix this, hence my open question to the
list instead.

Reply via email to