ICU static lib problem
Huver
huver at amgraf.com
Mon May 21 19:22:35 UTC 2012
Hi,
This is regaring problem report 154086: libsicui18n.a contains no symbols.
Actually, several of the static ICU libraries got their symbols removed,
not just libsicui18n.a. And the reason is in the file "source/icudefs.mk.in":
INSTALL-L = $(INSTALL_PROGRAM)
#INSTALL-L = $(INSTALL_DATA)
The INSTALL_PROGRAM gets expanded (by configure) to:
install -s -o root -g wheel -m 555
and that "-s" strips all recognized symbols when a library file is being
installed -- during "make install".
The original "INSTALL-L as INSTALL_DATA" worked, as configure sets it to:
install -c -o root -g wheel -m 444
Since the static libraries, when built, do have symbols in them, this "no-
strip" install will work.
Statically linking with ICU libraries can result in very huge executable file
size (as "-lstdc++" is almost always unavoidable), so I'm not sure how
practical it is. However, since the "build options" include one for static,
it has better make usable libraries, right? ;-)
-huver huver at amgraf.com
More information about the freebsd-office
mailing list