On Thursday, July 17, 2014 13:30:25 Kamil Dudka wrote: > On Thursday, July 17, 2014 12:49:36 Alessandro Ghedini wrote: > > Hi, > > > > I'm having trouble building the NSS variant (both from git and 7.37.1): > > > libtool: link: gcc -O2 -Wno-system-headers -o .libs/curl > > > curl-tool_binmode.o curl-tool_bname.o curl-tool_cb_dbg.o > > > curl-tool_cb_hdr.o curl-tool_cb_prg.o curl-tool_cb_rea.o > > > curl-tool_cb_see.o curl-tool_cb_wrt.o curl-tool_cfgable.o > > > curl-tool_convert.o curl-tool_dirhie.o curl-tool_doswin.o > > > curl-tool_easysrc.o curl-tool_formparse.o curl-tool_getparam.o > > > curl-tool_getpass.o curl-tool_help.o curl-tool_helpers.o > > > curl-tool_homedir.o curl-tool_hugehelp.o curl-tool_libinfo.o > > > curl-tool_main.o curl-tool_metalink.o curl-tool_mfiles.o > > > curl-tool_msgs.o > > > curl-tool_operate.o curl-tool_operhlp.o curl-tool_panykey.o > > > curl-tool_paramhlp.o curl-tool_parsecfg.o curl-tool_setopt.o > > > curl-tool_sleep.o curl-tool_urlglob.o curl-tool_util.o curl-tool_vms.o > > > curl-tool_writeenv.o curl-tool_writeout.o curl-tool_xattr.o > > > ../lib/curl-strtoofft.o ../lib/curl-strdup.o ../lib/curl-rawstr.o > > > ../lib/curl-nonblock.o ../lib/curl-warnless.o ../lib/.libs/libcurl.so > > > -lz /usr/bin/ld: curl-tool_main.o: undefined reference to symbol > > > 'PL_ArenaFinish' //usr/lib/x86_64-linux-gnu/libplds4.so: error adding > > > symbols: DSO missing from command line collect2: error: ld returned 1 > > > exit status > > > > This on Debian with gcc-4.9.
I am unable to reproduce it locally. Are you able to trigger the failure with the upstream distribution of curl? Could you please attach your config.log? Kamil > Thanks for heads up! > > > Manually passing "-lnspr4 -lplds4" (or the output of pkg-config --libs > > nss) > > to the above command resolves the problem. > > > > The configure command is simply "./configure --without-ssl --with-nss". > > Setting "link_all_deplibs" to "yes" for linux in configure works as well, > > but there doesn't seem to be any ./configure option for doing that > > automatically (also it seems overkill, since only the NSS libraries are > > needed). > > I believe the correct fix is to link the curl tool with NSS libs when > compiled against NSS. I remember we hit the same problem when we ported > the metalink support to use NSS for crypto. > > > Maybe the code in the "#ifdef USE_NSS" in src/tool_main.c should be moved > > to Curl_nss_cleanup() to avoid having the curl binary itself link to all > > the $(LIBCURL_LIBS). > > That would break complex programs where curl is not the only user of > NSS/NSPR. PR_Cleanup() needs to be called near the end of the main > function: > > https://developer.mozilla.org/en-US/docs/PR_Cleanup > > Otherwise libcurl could call PR_Cleanup() while another lib is still using > it. > > Kamil > > > There's also the chance that I'm doing something wrong, but the Debian > > package build, which works for previous releases, broke because of this, > > so > > I imagine others may have the same problem as well. > > > > Cheers ------------------------------------------------------------------- List admin: http://cool.haxx.se/list/listinfo/curl-library Etiquette: http://curl.haxx.se/mail/etiquette.html