Open proycon opened 4 months ago
Seeing this error for the conda build of ticcutils as well: https://github.com/conda-forge/ticcutils-feedstock/pull/34/checks?check_run_id=27458299416
Well, I can update the software stack to generally use -std=c++17 I did so for ticcutils, libfolia and ucto
This however leads to problems with the MacOS runners for GitHub actions. (as usual) The clang builds is OK, but the c++12 build fails the 'make check'
Undefined symbols for architecture arm64:
"icu_74::operator<<(std::ostream&, icu_74::UnicodeString const&)", referenced from:
test_unicodehash() in runtest.o
I currently have no clue how to solve this, -licuio IS in the build libs
nevertheless, it would be nice if you all could test the builds on Arch Linux and Conda
Well, probably this due to a mixup between libC++ (clang style, default on MacOS) and libstdc++ (Gnu style, deprecated on MacOS) see this article on Mac, libicuio provides:
0000000000000000 T icu_74::operator<<(std::__1::basic_ostream<char, std::__1::char_traits<char>>&, icu_74::UnicodeString const&)
And the linker searches for :
icu_74::operator<<(std::ostream&, icu_74::UnicodeString const&)
There seems no easy way to solve this
Still seeing the error in a new PR https://github.com/conda-forge/ticcutils-feedstock/pull/35.
@kosloot in your snippets I see icu_74
, shouldn't that be 75?
@egpbos those snippets were to illustrate why building on MacOS using gcc is failing. It should have nothing to do with your problem, which in fact should haven been solved, as we now have switched to std=c++17 generally c++14 should NOT be used anymore.
Ah, that's great (the conda-forge build picked up the previous release still)! Do you plan on making a new versioned release for this soon?
Well, let's say soonish. a few weeks max
@egpbos a new version of Ticcutils is released.
Thanks for the headsup!
On my system (Arch Linux), ticcutils and everything else in the stack refuses to compile because
-std=c++14
is set (by us? by autotools?) and the icu headers no longer compile with that but require at least-std=c++17
.The work around is to just set
export CXXFLAGS="-std=c++17"
before./configure
, but I guess the autoconf process should have figured this out themselves.