SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
If I do a full install of Slackware 14.1/14.2 RRDtool installs without issue.
In the past I just installed X, however, this time I have space restrictions on the host and have skipped these sets while installing:
X
Xap
KDE
KDEi
XFCE
I have installed the X libraries set.
Error thrown by the configure script:
Quote:
./configure
***SNIPPED***
checking whether strerror_r is declared... yes
checking for strerror_r... yes
checking whether strerror_r returns char *... yes
***SNIPPED***
Find 3rd-Party Libraries
checking dbi/dbi.h usability... no
checking dbi/dbi.h presence... no
checking for dbi/dbi.h... no
checking rados/librados.h usability... no
checking rados/librados.h presence... no
checking for rados/librados.h... no
checking tcpd.h usability... yes
checking tcpd.h presence... yes
checking for tcpd.h... yes
checking for hosts_access... no
checking for hosts_access in -lwrap... no
checking for glib_check_version in -lglib-2.0... yes
checking glib.h usability... no
checking glib.h presence... no
checking for glib.h... no
checking for pkg-config... pkg-config
checking for glib_check_version in -lglib-2.0... yes
checking glib.h usability... yes
checking glib.h presence... yes
checking for glib.h... yes
checking for g_regex_new... yes
checking for png_access_version_number in -lpng... yes
checking png.h usability... yes
checking png.h presence... yes
checking for png.h... yes
checking for pango_cairo_context_set_font_options in -lpangocairo-1.0... no
checking for pkg-config... (cached) pkg-config
configure: WARNING:
----------------------------------------------------------------------------
* I found a copy of pkgconfig, but there is no pangocairo.pc file around.
You may want to set the PKG_CONFIG_PATH variable to point to its
location.
----------------------------------------------------------------------------
configure: WARNING:
----------------------------------------------------------------------------
* I could not find a working copy of pangocairo. Check config.log for hints on why
this is the case. Maybe you need to set LDFLAGS and CPPFLAGS appropriately
so that compiler and the linker can find libpangocairo-1.0 and its header files. If
you have not installed pangocairo, you can get it either from its original home on
checking for pango_font_map_create_context... no
checking for xmlParseFile in -lxml2... yes
checking libxml/parser.h usability... no
checking libxml/parser.h presence... no
checking for libxml/parser.h... no
checking for pkg-config... (cached) pkg-config
checking for xmlParseFile in -lxml2... yes
checking libxml/parser.h usability... yes
checking libxml/parser.h presence... yes
checking for libxml/parser.h... yes
configure: error: Please fix the library issues listed above and try again.
This error is common and Googling for solutions bring up other distros requiring packages like cairo-devel.
Under docs/rrdbuild.txt the author cites issues with cairo.pc incorrectly requiring xrender and proposes a fix for OpenSolaris, which has applied to Slackware in the past.
Quote:
OpenSolaris 2008.05
Just add a compiler and the gnome development package:
There is a problem with cairo.pc on OpenSolaris. It suggests that
xrender is required for compilation with cairo. This is not true and
also bad since OpenSolaris does not include an xrender.pc file. Use
Perl to fix this:
Here's the relevant snippet from configure's config.log:
It's huge and the entire config.log is at http://paste.ubuntu.com/18287100/
Quote:
^
configure:20450: $? = 0
configure:20459: result: yes
configure:20463: checking png.h usability
configure:20463: gcc -c -g -O2 -D_GNU_SOURCE -fno-strict-aliasing -Wall -std=gnu99 -pedantic -Wundef -Wshadow -Wpointer-arith -Wcast-align -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Winline -Wold-style-definition -W -
configure:20463: $? = 0
configure:20463: result: yes
configure:20463: checking png.h presence
configure:20463: gcc -E -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include conftest.c
configure:20463: $? = 0
configure:20463: result: yes
configure:20463: checking for png.h
configure:20463: result: yes
configure:20659: checking for pango_cairo_context_set_font_options in -lpangocairo-1.0
configure:20684: gcc -o conftest -g -O2 -D_GNU_SOURCE -fno-strict-aliasing -Wall -std=gnu99 -pedantic -Wundef -Wshadow -Wpointer-arith -Wcast-align -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Winline -Wold-style-definit
conftest.c: In function 'main':
conftest.c:136:1: warning: old-style function definition [-Wold-style-definition]
main ()
^
/usr/lib64/gcc/x86_64-slackware-linux/5.3.0/../../../../x86_64-slackware-linux/bin/ld: warning: libpixman-1.so.0, needed by /usr/lib64/gcc/x86_64-slackware-linux/5.3.0/../../../../lib64/libpangocairo-1.0.so, not found (try using -rpath o
/usr/lib64/gcc/x86_64-slackware-linux/5.3.0/../../../../x86_64-slackware-linux/bin/ld: warning: libEGL.so.1, needed by /usr/lib64/gcc/x86_64-slackware-linux/5.3.0/../../../../lib64/libpangocairo-1.0.so, not found (try using -rpath or -rp
/usr/lib64/../lib64/libcairo.so.2: undefined reference to `xcb_render_create_picture'
/usr/lib64/../lib64/libcairo.so.2: undefined reference to `xcb_render_composite_glyphs_32'
/usr/lib64/../lib64/libcairo.so.2: undefined reference to `xcb_render_pictscreen_next'
/usr/lib64/../lib64/libcairo.so.2: undefined reference to `pixman_image_composite32'
/usr/lib64/../lib64/libcairo.so.2: undefined reference to `XQueryColors'
/usr/lib64/../lib64/libcairo.so.2: undefined reference to `XRenderFindVisualFormat'
/usr/lib64/../lib64/libcairo.so.2: undefined reference to `pixman_region32_equal'
/usr/lib64/../lib64/libcairo.so.2: undefined reference to `xcb_render_free_picture'
/usr/lib64/../lib64/libcairo.so.2: undefined reference to `FcPatternDestroy'
/usr/lib64/../lib64/libcairo.so.2: undefined reference to `eglChooseConfig'
/usr/lib64/../lib64/libcairo.so.2: undefined reference to `xcb_depth_next'
collect2: error: ld returned 1 exit status
configure:20684: $? = 1
configure: failed program was:
| /* confdefs.h */
I also tried installing these packages:
fontconfig-2.11.1-i486-2.txz
libXdmcp-1.1.2-i586-2.txz
libXxf86vm-1.1.4-i586-2.txz
libXdamage-1.1.4-i586-2.txz
libXrender-0.9.9-i586-1.txz
libXau-1.0.8-i586-2.txz
libXfixes-5.0.2-i586-1.txz
libxcb-1.11.1-i586-1.txz
libX11-1.6.3-i586-2.txz
libXext-1.3.3-i586-2.txz
libdrm-2.4.68-i586-1.txz
xcb-util-cursor-0.1.2-i586-2.txz
xcb-util-renderutil-0.3.9-i586-2.txz
xcb-util-errors-1.0-i586-1.txz
xcb-util-wm-0.4.1-i586-2.txz
xcb-proto-1.11-i586-2.txz
xcb-util-image-0.4.0-i586-2.txz
xcb-util-0.4.0-i586-2.txz
xcb-util-keysyms-0.4.0-i586-2.txz
pixman-0.34.0-i586-1.txz.1
mesa-11.2.2-i586-1.txz
If cairo doesn't depend on xrender, I assume it's a package that's installed with X/Xap that rrdtool and pango work with.
I'm lost at this point and don't have the option to install X on the host.
Be aware that depfinder does not look for Perl dependencies, that I didn't attempt to find Python dependencies and that, more generally, there is no guarantee of accuracy. I hope this helps, though
Last edited by Didier Spaier; 07-04-2016 at 04:10 AM.
Does that error stop the configure script? Sometimes "fatal errors" during the configuration steps are not really so fatal. Anyway, it looks like gcc knows to look in /usr/include but not /usr/include/pango-1.0. You could edit the CFLAGS= line in the script (before the ./configure line) to look like this:
Code:
CFLAGS="$SLKCFLAGS -I/usr/include/pango-1.0" \
This should get you past that step in the configure script, but if you are having the same problem as the OP, I don't think it will solve that.
Thanks. It helped, but only for configure stage.
Now, its like compilator cannot find cairo.h
Code:
Making all in po
make[1]: Entering directory '/tmp/SBo/rrdtool-1.6.0/po'
make[1]: Leaving directory '/tmp/SBo/rrdtool-1.6.0/po'
Making all in src
make[1]: Entering directory '/tmp/SBo/rrdtool-1.6.0/src'
make all-am
make[2]: Entering directory '/tmp/SBo/rrdtool-1.6.0/src'
CC librrd_la-rrd_version.lo
CC librrd_la-rrd_last.lo
CC librrd_la-rrd_lastupdate.lo
CC librrd_la-rrd_first.lo
CC librrd_la-rrd_dump.lo
CC librrd_la-rrd_flushcached.lo
CC librrd_la-rrd_fetch.lo
CC librrd_la-rrd_fetch_cb.lo
CC librrd_la-rrd_resize.lo
CC librrd_la-rrd_tune.lo
CC librrd_la-rrd_graph.lo
In file included from rrd_graph.c:53:0:
rrd_graph.h:12:19: fatal error: cairo.h: No such file or directory
compilation terminated.
Makefile:865: recipe for target 'librrd_la-rrd_graph.lo' failed
make[2]: *** [librrd_la-rrd_graph.lo] Error 1
make[2]: Leaving directory '/tmp/SBo/rrdtool-1.6.0/src'
Makefile:552: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/tmp/SBo/rrdtool-1.6.0/src'
Makefile:557: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1
But I have Perl package installed. Packages in kde directory shouldn't be necessary.
Maybe if I want to make rrdtool package, I should install all Slackware packages? Great.
Ugh... I just can't justify installing X and associated libs just for rrdtool on my Linode. For this reason, I still run v1.0.50. Still gets the job done and has a tiny footprint.
It is possible that you are missing something for pangocairo. I remember something similar happening to me long time ago and I learned a trick. ldd /usr/lib/libpango.... (I don't really remember the library name.). Configure tests libraries and features by trying to use them. For example, when it is checking for pango_cairo_context_set_font_options in -lpangocairo-1.0, it tries to compile a small test program which uses that feature. If you are missing a library which pango depends, this will fail.
I think rrdtool use pkgconfig with pangocairo to get libraries paths.
Just use the command below and install the packages required ( dependencies ) if the command fail:
Tobias Oetiker did indeed use pkg-config, but that's a red herring.
When you're compiling dependencies, the order of compilation is important.
You must configure/compile/install Cairo BEFORE you configure/compile/install Pango.
The Pango configure adds the pangocairo portion to the configuration iff it detects the cairo lib.
I think rrdtool use pkgconfig with pangocairo to get libraries paths.
Just use the command below and install the packages required ( dependencies ) if the command fail:
pkg-config --cflags pangocairo
That is 100% correct. In my case, in addition to all the stuff listed above by Strykar, it also needed a bunch of junk revealed by pkg-config. The complete list of stuff I needed on a system not previously having X was:
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.