[Bug 273339] Build of science/trilinos fails on 14 CURRENT: hidden symbol _ZNSt3__1r sB7v160006IcNS_11char_traitsIcEENS_9allocator IcEEEERNS_13basic_istreamIT_T0_EES9_RNS_12bas ic_stringIS6_S7_T1_EE isn't defined
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 31 Aug 2023 09:00:33 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=273339 --- Comment #4 from Dimitry Andric <dim@FreeBSD.org> --- (In reply to Dimitry Andric from comment #3) FWIW, the problem here was that packages/stk/stk_util/stk_util/util/ci_string.hpp declares a bunch of operators on std::istream and std::ostream, and to be able to do that, it includes <iosfwd>, which is a "light-weight" version of <iostream>, that only contains forward declarations. However, once you get to packages/stk/stk_util/stk_util/util/ci_string.cpp, and you want to _implement_ those operators on std::istream and std::ostream, you actually need the full definitions of the iostream stuff. Hence, you heed to include <iostream> there. I noticed that meanwhile, upstream seems to have fixed this as a byproduct of a huge commit named "STK: Snapshot 05-02-23 13:00 from Sierra 5.13.3-416-g059a4983". That adds separate includes of <ostream> and <istream> instead, which is weird and superfluous, but should also work. You might consider importing a more recent version of Trilinos, which should have this fix already. If that is tricky to do, you can apply the temporary patch I provided here. -- You are receiving this mail because: You are the assignee for the bug.