Date: Mon, 21 May 2012 14:13:35 -0500 (CDT) From: huver@amgraf.com (Huver) To: office@FreeBSD.org Subject: ICU static lib problem Message-ID: <20120521191730.A887ACF063@mailer.amgraf.com>
next in thread | raw e-mail | index | archive | help
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@amgraf.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120521191730.A887ACF063>