From: Ethan M. <merritt@u.washington.edu> - 2018-03-11 07:25:32
|
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 |