tags 469454 wontfix forwarded 469454 http://bugs.icu-project.org/trac/ticket/6332 thanks
Samuel Thibault <[EMAIL PROTECTED]> wrote: >> Look into this a little bit, it appears that all the static libraries (sorry -- I meant t say "Looking into this a little bit...") >> are called libs* and all the dynamic ones are named the same without >> the s. So if you want to link statically, you have to link with >> -lsicuuc insead of -licuuc. > > That's what I had understood from the icu packaging yes, but what this > bug report is about is that it's not what people usually do, because > this is a burden to achieve in the configure/Makefile. Usually people > just provide a libfoo.so and libfoo.a, so that you can choose to link > statically just by adding -static to the link command line. Having to > know for each library how they call their static version would be really > far from convenient. That's why I suggested to provide libicuuc.a, and > for backward compatibility, provide libsicuuc.a too, etc. I agree that this is not the usual convention, at least for UNIX libraries. I've dug into their documentation and looked into this a bit further. It appears that, on Windows, in order to use the static libraries, you have to define U_STATIC_IMPLEMENTATION at compile time. This has to do with DLL issues. Because of the odd ways in which ICU data is handled (it can be compiled in, loaded at runtime, or linked as a shared library), I can also see that they may want to separate the shared from the static libraries to allow people to mix and match, such as statically linking some things while dynamically linking others (having the data be replaceable at runtime, for example), though this is a speculation. No matter what the reasons, I won't deviate from upstream on this issue since that would make it too easy for debian users to accidentally create software that uses ICU and doesn't build properly on other systems. I have submitted a ticket to the upstream bug tracking system suggesting that, on UNIX platforms, the more usual static library convention is also followed. You can read the ticket (referenced above) for details. Feel free to add your comments to it. I'll leave the bug open pending a resolution from upstream. -- Jay Berkenbilt <[EMAIL PROTECTED]> -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

