/usr/ports/devel/icu isnatlls both synamic and static versions of it's libraries into /usr/local/lib - the static ones being prefixed with 's' compared to the dymanic ones. The latest version of icu - icu-4.6 - will not link staticly. Upon investigation the problem is the static version of i18n - libsicui18n. If 'nm' is applied to this, it claims that all the object files cntain no symbols. If an application is linked against the dynamic version of the library it works, but linking against the static version fails. The problem does not apply to the other static versions of the libraries. They work fine. Fix: There is no workaround which will allow static linking that I have found. How-To-Repeat: Write some code using ICU - change the -licui18n option at link time to -lsicui18n and observer that it no longer links, failing with multiple "undefined reference" errors.
Responsible Changed From-To: freebsd-ports-bugs->bapt Fix synopsis and assign.
For me it seems to be fixed with the 4.6.1 upgrade, can you confirm? regards, Bapt
> For me it seems to be fixed with the 4.6.1 upgrade, can you confirm? That hasn't hit my portsnap server yet - will try peridicly and lety you know. Thanks.... -pete.
> For me it seems to be fixed with the 4.6.1 upgrade, can you confirm? I just downloaded this by hand, but am still having problems with the specific 18n library. Do you have a poece of example code which works for you using the 18n library and creating a static executable ? If it seems to be fixed for you then I would like to compare your linker arguments with mine...
Responsible Changed From-To: bapt->office Over to the office team
Following the icu guide on how to properly statically build with icu just worked for me. Can you confirm?
I had been using a hand compiled copy of icu since originally reporting this bug, so I do have a working ICU using the instructions provided, just that it has to live outside of the ports tree. I just tried again with the one in the post tree, and that still will not link staticly for me I am afraid.
Fixed in ports r422711.