Balint Reczey wrote: > On 12/09/2010 12:59 AM, Balint Reczey wrote: >> On 12/08/2010 04:21 AM, Jeff Morriss wrote: >>> On 12/07/2010 01:42 PM, Jeff Morriss wrote: >>>> Balint Reczey wrote: >>>>> On 12/07/2010 04:06 PM, Jeff Morriss wrote: >>>>>> [email protected] wrote: >>>>>>> http://anonsvn.wireshark.org/viewvc/viewvc.cgi?view=rev&revision=35145 >>>>>>> >>>>>>> >>>>>>> User: rbalint >>>>>>> Date: 2010/12/07 05:38 AM >>>>>>> >>>>>>> Log: >>>>>>> Make libtool export only symbols listed in *.def files >>>>>> [...] >>>>>>> Directory: /trunk/wsutil/ >>>>>>> Changes Path Action >>>>>>> +6 -2 Makefile.am Modified >>>>>> Hmmm, libwsutil holds the optional targets (e.g., inet_aton() for >>>>>> systems that don't have it). >>>>>> >>>>>> At least on the MacOS 10.5 buildbots, nmedit complains if libtool >>>>>> asks >>>>>> it to export a symbol that isn't present in the library. I'm not sure >>>>>> of an easy way to fix that (hacking the .def or the .sym file >>>>>> depending >>>>>> on which optional targets are being built doesn't sound fun). Any >>>>>> ideas? Or should we export all symbols from libwsutil? >>>>> I revert the change for /trunk/wsutil/ to make us able to build for >>>>> all platforms. >>>>> >>>>> I will look into other possibilities of hiding some functions: >>>>> http://www.gnu.org/software/hello/manual/gnulib/Exported-Symbols-of-Shared- >>>>> >>>>> >>>>> >>>>> Libraries.html >>>> >>>> Oops, looks like I just beat you to it. >>>> >>>> As mentioned in the commit message, it may not be worth it for >>>> libwsutil: on my system there are only 21 global symbols (including >>>> things like _init, _end, etc.). Since this library's purpose is to >>>> provide utility functions, I suppose we may be able to control what it >>>> exports fairly easily (there hopefully won't be any cases of module A's >>>> symbols being needed by module B where that symbol isn't also needed >>>> outside of the library). >>> >>> There are also optional functions in libwireshark. The Solaris buildbot >>> doesn't have Lua installed so it's failing to link because it can't find >>> wslua_plugin_list... Ideas? Maybe this behavior can only be enabled if >>> the "right" versions of various tools are installed (which ones?)? >> I committed a hack which will filter out wslua_plugin_list from the >> sym file to >> keep the build successful. >> I think this is not the right approach. I think the list of exported >> symbols >> should not depend on configure parameters, because that way we could >> make two >> libraries with the same so version but with different symbol lists. >> In the wslua_plugin_list case we could export it and leave it as NULL. >> I will send my patch after running a few tests. >> >> Cheers, >> Balint > Tests ran faster than expected. > Will commit this tomorrow and revert my last commit if there are no > objections. > The commit implementing filtering could be adapted to wsutil's several > optional symbols, if needed.
Looks like a good idea. :-) One concern: what other optional symbols are out there? Is there an easy way to systematically find them all (before users)? Maybe have one of the (faster) buildbots do a compile --without-<everything> ? ___________________________________________________________________________ Sent via: Wireshark-dev mailing list <[email protected]> Archives: http://www.wireshark.org/lists/wireshark-dev Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev mailto:[email protected]?subject=unsubscribe
