| Summary: | Compiled C++ program fails to run with the Undefined symbol error on Clang 10 / FreeBSD 12-STABLE (Clang 10 / 11.4 OK) | ||
|---|---|---|---|
| Product: | Base System | Reporter: | Vedran Miletic <vedran> |
| Component: | bin | Assignee: | freebsd-toolchain (Nobody) <toolchain> |
| Status: | Closed Works As Intended | ||
| Severity: | Affects Some People | CC: | kevans, marklmi26-fbsd, toolchain |
| Priority: | --- | Keywords: | needs-qa, regression |
| Version: | 12.1-STABLE | Flags: | koobs:
mfc-stable12?
|
| Hardware: | Any | ||
| OS: | Any | ||
|
Description
Vedran Miletic
2020-07-23 22:13:34 UTC
Thank you for the report Vedran. 6d99131ef712a27d6637564de75b2b59bbc23619 is a rather large changeset. If you're able to reduce that test case down that should prove handy. A minimal test/reproduction case is going to be the best bet to isolation and resolution here. > tests works fine on FreeBSD 11.4 with Clang 10 and 12.1 with Clang 8 (and also on Linux).
(I assume system-clang/llvm was in use instead of devel/llvm* 's. This wording
presumes that the 11.4 and 12.1-STABLE system clang 10 based rxdock builds were
separate. If not, do the contrasting case implicit below.)
If you copy the rxdock installed materials from 11.4 to 12.1-STABLE, do you see the
problem on 12.1-STABLE? This is different than building rxdock materials on
12.1-STABLE with the 12.1-STABLE's llvm10/clang10 toochain. This is sort of like
upgrading FreeBSD after the rxdock software was installed, without rebuilding the
rxdock software. (That is another way of doing the experiment.)
The alternatives would seem to be:
A) Still works on 12.1-STABLE, so that 12.1-STABLE's toolchain is involved for
the behavioral change in the re-built rxdock.
vs.
B) Fails on 12.1-STABLE, so just other differences in the FreeBSD versions make
the difference, not the toolchain used to do the build (rxdock held
invariant).
So it is just a partial problem-isolation test but it might help limit what
else to explore.
Of course, the suggestion presumes that FreeBSD's backwards compatibility
support has been built and installed in the 12.1-STABLE system, so that
the 12.1-STABLE is supposed to execute 11.x material just fine.
False alarm, everything actually works as intended. I had a conflicting library in a directory in the LD_LIBRARY_PATH and only figured it out today when moving things around. Should have thought of LD_LIBRARY_PATH sooner and checked it, apologies for that. |