From: Tatsuro M. <tma...@ya...> - 2018-03-11 10:08:57
|
Ethan With new source, I can build gnuplot 5.3 without workaround. Thank for your quick fix!! Tatsuro ----- Original Message ----- > From: Ethan Merritt <merritt@u.washington.edu> > To: gnu...@li... > Cc: Tatsuro MATSUOKA <tma...@ya...> > Date: 2018/3/11, Sun 16:24 > Subject: Re: Link fails on Ubuntu 16.04 (on WSL) due to undefined reference to symbol 'FcUcs4ToUtf8' > > Never mind. I see I have horribly mangled the configure call to > AC_SEARCH_LIBS. I'll try to fix it. As I said before, I am not > very good at modifying the autoconf scripts. > > Please try again with the repaired configure.ac > > sorry for the mess > > Ethan > > > On Saturday, 10 March 2018 22:40:43 sfeam via gnuplot-beta wrote: >> On Sunday, 11 March 2018 14:04:19 Tatsuro MATSUOKA wrote: >> > Sorry I forgot to reply to beta-list >> > >> > ----- Original Message ----- >> > >> > > From: Dima Kogan >> > > To: gnuplot-beta >> > > Cc: >> > > Date: 2018/3/11, Sun 10:55 >> > > Subject: Re: Link fails on Ubuntu 16.04 (on WSL) due to undefined > reference to symbol 'FcUcs4ToUtf8' >> > > >> > >T atsuro MATSUOKA <tma...@ya...> writes: >> > > >> > >> I pull the recent git repository and tried to build on > Ubuntu 16.04 on >> > >> WSL. >> > >> >> > >> In linking gnuplot executable I see >> > >> >> > >> undefined reference to symbol 'FcUcs4ToUtf8' >> > > >> > > You're either not linking with the libfontconfig library, or > you have >> > > the wrong library, or something. Send over the full build log if > you >> > > want help debugging. >> > > >> > > > ------------------------------------------------------------------------------ >> > > Check out the vibrant tech community on one of the world's > most >> > > engaging tech sites, Slashdot.org! http://sdm.link/slashdot >> > >> > >> > You are right. In link stage, -lfontconfig is missing. >> > >> > c++ >> > -g -O2 -I/usr/lib/x86_64-linux-gnu/wx/include/gtk2-unicode-3.0 >> > -I/usr/include/wx-3.0 -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXGTK__ >> > -pthread -I/opt/fontconfig-2.12.93/include -I/usr/include/pango-1.0 >> > -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/cairo >> > -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include >> > -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 >> > -I/usr/include/libpng12 -DWXT_MONOTHREADED -fPIC -lcerf -o gnuplot >> > alloc.o axis.o breaders.o boundary.o color.o command.o contour.o >> > datablock.o datafile.o dynarray.o eval.o external.o fit.o gadgets.o >> > getcolor.o graph3d.o graphics.o help.o hidden3d.o history.o internal.o > >> > interpol.o jitter.o libcerf.o matrix.o misc.o mouse.o multiplot.o >> > parse.o plot.o plot2d.o plot3d.o pm3d.o readline.o save.o scanner.o >> > set.o show.o specfun.o standard.o stats.o stdfn.o tables.o tabulate.o >> > term.o time.o unset.o util.o util3d.o variable.o version.o >> > wxterminal/wxt_gui.o wxterminal/gp_cairo.o >> > wxterminal/gp_cairo_helpers.o qtterminal/qt_term.o -lreadline >> > -lncurses -lz -lgd -lgd -llua5.3 -lcaca -L/usr/lib/x86_64-linux-gnu >> > -pthread -lwx_gtk2u_xrc-3.0 -lwx_gtk2u_html-3.0 -lwx_gtk2u_qa-3.0 >> > -lwx_gtk2u_adv-3.0 -lwx_gtk2u_core-3.0 -lwx_baseu_xml-3.0 >> > -lwx_baseu_net-3.0 -lwx_baseu-3.0 -lpangocairo-1.0 -lpango-1.0 >> > -lgobject-2.0 -lglib-2.0 -lcairo -lX11 -lQt5Network -lQt5Svg >> > -lQt5PrintSupport -lQt5Widgets -lQt5Gui -lQt5Core -lcaca -ldl -lm >> > -lcerf -lz -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 -lcairo >> > -lglib-2.0 >> > >> > Adding manually -lfontcondig to the above, link is successful. >> > >> > Compressed config.log.bz2 is attached. >> > >> > Workaround is to add LIBS='-lfontconfig' to configure flag. >> >> >> I do not understand why the configure script is not doing that >> already. It tests for the library using this command: >> >> AC_SEARCH_LIBS(foo, fontconfig, , >> AC_DEFINE(HAVE_LIBFONTCONFIG,1,[ used for unicode codepoint->utf8 > conversion ]),,) >> >> The documentation for AC_SEARCH_LIBS says that it will >> >> Search for a library defining function if it's not already available. >> [...] >> Prepend -llibrary to LIBS for the first library found to contain > function, >> and run action-if-found. If the function is not found, run > action-if-not-found. >> >> It must have found the function (since your code is trying to use it >> inside a conditional for HAVE_LIBFONTCONFIG), so it should have added >> -lfontconfig to the definition of LIBS. Why did it not? >> >> But also I do not understand for a second reason. >> As you say, libfontconfig is already used by various support libraries >> that gnuplot already uses (cairo pango-ft gdlib qt ...). >> So it must surely be linked in already because of the library dependencies >> for various terminals. I wonder that is not true on your machine. >> >> When I run ./configure it adds -lfontconfig to both TERM_LIBS >> and GTK_LIBS. Does this not happen on your setup? >> >> I am not very good at using or modifying the autoconf tools. >> I hope someone else can help explain or fix this. >> >> Ethan >> >> >> >> > >> > >> > I think that gnuplot so far uses fontconfig via external libraries > (e.g. cairo, pango). >> > Is this Commit [7ecbe3] first event to use fontconfig directory. >> > Gnuplot check libfontconfig add -lfontconfig in library flag. >> > >> > Tatsuro >> > >> > >> > If it is in the case, libconfig >> > >> > Tatsuro >> >> >> > ------------------------------------------------------------------------------ >> Check out the vibrant tech community on one of the world's most >> engaging tech sites, Slashdot.org! http://sdm.link/slashdot >> _______________________________________________ >> gnuplot-beta mailing list >> gnu...@li... >> Membership management via: > https://lists.sourceforge.net/lists/listinfo/gnuplot-beta > > -- > Ethan A Merritt, Dept of Biochemistry > Biomolecular Structure Center, K-428 Health Sciences Bldg > MS 357742, University of Washington, Seattle 98195-7742 > |