From: Tatsuro M. <tma...@ya...> - 2018-03-11 00:45:18
|
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' Fontconfig version on Ubuntu 16.04 is 2.11.94. It is rather old but it shoule have FcUcs4ToUtf8. I googled by keywords FcUcs4ToUtf8 fontconfig version and found the page. ftp://ftp.x.org/pub/xorg/X11R7.0/doc/html/FcUcs4ToUtf8.3.html The version is 2.3.2. So this seems not to be version issue but issue configuration fontconfig on Ubuntu 16.04. I will straggle the issue. Tatsuro |
From: Dima K. <gn...@di...> - 2018-03-11 01:55:34
|
Tatsuro 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. |
From: Tatsuro M. <tma...@ya...> - 2018-03-11 05:04:32
Attachments:
config.log.bz2
|
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 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 |
From: sfeam <sf...@us...> - 2018-03-11 06:41:28
|
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 |
From: Tatsuro M. <tma...@ya...> - 2018-03-12 06:07:26
|
I have tested native Ubunutu16.04 with or without your this time fix(3d5154) The results are the same as those on Ubuntu 16.04 on WSL. The fix (3d5154) is really needed for Ubuntu 16.04. (I don't know for 17.10) > 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? sudo apt build-dep gnuplot5 does not enable GTK_LIBS. (config.log says GTK_LIBS is empty) And thus this time fault might occur. In the case of cygwin, I need install GTK_LIB I can build without commit 3d5154. So problem seems to be ubuntu (at least 16.04) specific. Tatsuro |
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 |
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 > |