[Bug 258740] Link fails with 'ld: error: undefined hidden symbol' for no apparent reason

From: <bugzilla-noreply_at_freebsd.org>
Date: Mon, 27 Sep 2021 05:28:39 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=258740

            Bug ID: 258740
           Summary: Link fails with 'ld: error: undefined hidden symbol'
                    for no apparent reason
           Product: Base System
           Version: 13.0-STABLE
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: misc
          Assignee: bugs@FreeBSD.org
          Reporter: yuri@freebsd.org

I am trying to update the port math/rumur to 2021.08.28:
1. Change VERSION in /usr/ports/math/rumur/Makefile to 2021.08.28
2. make makesum
3. make

This fails with:
> ld: error: undefined hidden symbol: rumur::parse(std::__1::basic_istream<char, std::__1::char_traits<char> >&)
> >>> referenced by main.cc
> >>>               murphi2murphi/CMakeFiles/murphi2murphi.dir/src/main.cc.o:(main)
> 
> ld: error: undefined hidden symbol: rumur::resolve_symbols(rumur::Model&)
> >>> referenced by main.cc
> >>>               murphi2murphi/CMakeFiles/murphi2murphi.dir/src/main.cc.o:(main)
> 
> ld: error: undefined hidden symbol: rumur::validate(rumur::Node const&)
> >>> referenced by main.cc
> >>>               murphi2murphi/CMakeFiles/murphi2murphi.dir/src/main.cc.o:(main)
> c++: error: linker command failed with exit code 1 (use -v to see invocation)

The 'resolve_symbols' symbol is in the library:
> $ nm work/.build/librumur/librumur.so | grep resolve_symbols | c++filt
> 0000000000079b70 T rumur::resolve_symbols(rumur::Model&)

It's unclear what do error messages mean.

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