https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=274927

            Bug ID: 274927
           Summary: Toolchain fails on the __sync_val_compare_and_swap
                    function without -march=native (port biology/seqwish)
           Product: Base System
           Version: 13.2-STABLE
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: bin
          Assignee: [email protected]
          Reporter: [email protected]

The port biology/seqwish fails when -march=native is removed.

I couldn't reproduce this on a smaller example.

Un-commenting CMAKE_ARGS=-DEXTRA_FLAGS="" in the port's makefile causes removal
of -march=native in the cmake script, which triggers this build failure:

ld: error: undefined symbol: __sync_val_compare_and_swap_16
>>> referenced by transclosure.cpp
>>>               
>>> CMakeFiles/seqwish.dir/src/transclosure.cpp.o:(std::__1::__function::__func<seqwish::compute_transitive_closures(seqwish::seqindex_t
>>>  const&, mmmulti::iitree<unsigned long, unsigned long>&, 
>>> std::__1::basic_string<char, std::__1::char_traits<char>, 
>>> std::__1::allocator<char>> const&, mmmulti::iitree<unsigned long, unsigned 
>>> long>&, mmmulti::iitree<unsigned long, unsigned long>&, unsigned long, 
>>> unsigned long, unsigned long, bool, unsigned long, 
>>> std::__1::chrono::time_point<std::__1::chrono::steady_clock, 
>>> std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l>>> 
>>> const&)::$_5, 
>>> std::__1::allocator<seqwish::compute_transitive_closures(seqwish::seqindex_t
>>>  const&, mmmulti::iitree<unsigned long, unsigned long>&, 
>>> std::__1::basic_string<char, std::__1::char_traits<char>, 
>>> std::__1::allocator<char>> const&, mmmulti::iitree<unsigned long, unsigned 
>>> long>&, mmmulti::iitree<unsigned long, unsigned long>&, unsigned long, 
>>> unsigned long, unsigned long, bool, unsigned long, 
>>> std::__1::chrono::time_point<std::__1::chrono::steady_clock, 
>>> std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l>>> 
>>> const&)::$_5>, void (unsigned long)>::operator()(unsigned long&&))
>>> referenced by transclosure.cpp
>>>               
>>> CMakeFiles/seqwish.dir/src/transclosure.cpp.o:(seqwish::DisjointSets::unite(unsigned
>>>  long, unsigned long))
>>> referenced by transclosure.cpp
>>>               
>>> CMakeFiles/seqwish.dir/src/transclosure.cpp.o:(seqwish::DisjointSets::unite(unsigned
>>>  long, unsigned long))
>>> referenced 2 more times
c++: error: linker command failed with exit code 1 (use -v to see invocation)

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to