This is on Slackware 64-current with X installed in /opt/xorg. Building master branch. Configured with: ./autogen.sh --prefix=/opt/xorg Make dies in test/ directory as it looks for library in the wrong place: make[4]: Entering directory `/mnt/vol1/src/x-xorg/xorg/src-more/cairo/test' CCLD any2ppm libtool: link: cannot find the library `/usr/lib64/libcairo.la' or unhandled argument `/usr/lib64/libcairo.la' Per git bisect, this was introduced in b8f43617a98aeb6c10d554ed11b48a83fc9b5129. Make completes successfully if the added line in test/Makefile.am is commented out before configuring.
Did you try building the test suite on an earlier commit? (make -C test cairo-test-suite) That commit only makes it build the test suite by default, while previously one had to ask for it. Could you try again with "make V=1" and get us the output? Perhaps also grepping config.log for libcairo.la? If I were to guess, one of $POPPLER_LIBS, $LIBRSVG_LIBS or $LIBSPECTRE_LIBS introduced that link against the installed (or not...?) version of cairo.
> Did you try building the test suite on an earlier commit? (make -C test > cairo-test-suite) > That commit only makes it build the test suite by default, while previously one > had to ask for it. Makes sense. With the last good commit 54ae2e1619ba2f1039c8e652b2f24d7a72ab8395, make (no args) was successful, then make -C test cairo-test-suite failed with the same error as before. So the issue was there, but masked. > Could you try again with "make V=1" and get us the output? gcc -DHAVE_CONFIG_H -I. -I.. -I. -I./pdiff -I../boilerplate -I../util/cairo-script -I../src -I../src -D_REENTRANT -I/opt/xorg/include/pixman-1 -I/opt/xorg/include -I/usr/include/freetype2 -I/usr/include/libpng14 -I/opt/xorg/include -I/opt/xorg/include -I/opt/xorg/include -I/opt/xorg/include -Wall -Wextra -Wold-style-definition -Wdeclaration-after-statement -Wmissing-declarations -Werror-implicit-function-declaration -Wnested-externs -Wpointer-arith -Wwrite-strings -Wsign-compare -Wstrict-prototypes -Wmissing-prototypes -Wpacked -Wswitch-enum -Wmissing-format-attribute -Wbad-function-cast -Wvolatile-register-var -Wstrict-aliasing=2 -Winit-self -Wunsafe-loop-optimizations -Wno-missing-field-initializers -Wno-unused-parameter -Wno-attributes -Wno-long-long -Winline -fno-strict-aliasing -fno-common -flto -Wp,-D_FORTIFY_SOURCE=2 -DXCB_GENERIC_ERROR_HAS_MAJOR_MINOR_CODES -pthread -I/opt/xorg/include/cairo -I/opt/xorg/include/pixman-1 -I/opt/xorg/include -I/usr/include/poppler/glib -I/usr/include/poppler -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/freetype2 -I/usr/include/libpng14 -I/usr/include/pango-1.0 -pthread -I/opt/xorg/include/cairo -I/opt/xorg/include/pixman-1 -I/opt/xorg/include -I/usr/include/librsvg-2.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng14 -I/usr/include/freetype2 -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/pango-1.0 -g -O2 -MT any2ppm-any2ppm.o -MD -MP -MF .deps/any2ppm-any2ppm.Tpo -c -o any2ppm-any2ppm.o `test -f 'any2ppm.c' || echo './'`any2ppm.c any2ppm.c: In function ‘write_ppm’: any2ppm.c:182:5: warning: enumeration value ‘CAIRO_FORMAT_RGB30’ not handled in switch mv -f .deps/any2ppm-any2ppm.Tpo .deps/any2ppm-any2ppm.Po /bin/sh ../libtool --tag=CC --mode=link gcc -pthread -I/opt/xorg/include/cairo -I/opt/xorg/include/pixman-1 -I/opt/xorg/include -I/usr/include/poppler/glib -I/usr/include/poppler -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/freetype2 -I/usr/include/libpng14 -I/usr/include/pango-1.0 -pthread -I/opt/xorg/include/cairo -I/opt/xorg/include/pixman-1 -I/opt/xorg/include -I/usr/include/librsvg-2.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng14 -I/usr/include/freetype2 -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/pango-1.0 -g -O2 -Wl,--allow-shlib-undefined -o any2ppm any2ppm-any2ppm.o ../util/cairo-script/libcairo-script-interpreter.la ../src/libcairo.la -pthread -L/opt/xorg/lib -lpoppler-glib -lgdk-x11-2.0 -lpoppler -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lm -lpango-1.0 -lcairo -lgmodule-2.0 -lgobject-2.0 -lgthread-2.0 -lrt -lglib-2.0 -pthread -L/opt/xorg/lib -lrsvg-2 -lgio-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lm -lpango-1.0 -lcairo -lgmodule-2.0 -lgobject-2.0 -lgthread-2.0 -lrt -lglib-2.0 -lspectre -lm libtool: link: cannot find the library `/usr/lib64/libcairo.la' or unhandled argument `/usr/lib64/libcairo.la' > Perhaps also > grepping config.log for libcairo.la? Nothing there. > If I were to guess, one of $POPPLER_LIBS, $LIBRSVG_LIBS or $LIBSPECTRE_LIBS > introduced that link against the installed (or not...?) version of cairo. Good guess there. To make a very long story short, after grepping around for a while with no results, I ran libtool with shell tracing and this clarified things. + case $1 in + . /usr/lib64/libpoppler-glib.la # this file is from Slack 64 poppler package ... ++ dependency_libs=' /usr/lib64/libpoppler.la /usr/lib64/liblcms.la /usr/lib64/libjpeg.la /usr/lib64/libpng14.la /usr/lib64/libxml2.la /usr/lib64/libgdk-x11-2.0.la /usr/lib64/libpangocairo-1.0.la /usr/lib64/libcairo.la /usr/lib64/libpangoft2-1.0.la /usr/lib64/../lib64/libstdc++.la /usr/lib64/libpango-1.0.la /usr/lib64/libgdk_pixbuf-2.0.la /usr/lib64/libgio-2.0.la -lresolv /usr/lib64/libpango-1.0.la /usr/lib64/libgobject-2.0.la /usr/lib64/libgmodule-2.0.la /usr/lib64/libcairo.la /usr/lib64/libpixman-1.la /usr/lib64/libfontconfig.la /usr/lib64/libpng14.la /usr/lib64/libXrender.la /usr/lib64/libX11.la /usr/lib64/libxcb.la /usr/lib64/libXau.la /usr/lib64/libXdmcp.la /usr/lib64/libgmodule-2.0.la -ldl /usr/lib64/libgobject-2.0.la /usr/lib64/libgthread-2.0.la /usr/lib64/libgthread-2.0.la -lpthread /usr/lib64/libglib-2.0.la /usr/lib64/libglib-2.0.la -lrt /usr/lib64/libfreetype.la /usr/lib64/libfontconfig.la /usr/lib64/libfreetype.la /usr/lib64/libexpat.la -lz /usr/lib64/../lib64/libstdc++.la' All told, dependency_libs with /usr/lib64/libcairo.la were included from: /usr/lib64/libpangocairo-1.0.la /usr/lib64/libpoppler-glib.la /usr/lib64/librsvg-2.la Given all that, is it fair to say the issue is with the distro's packages rather than cairo?
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/cairo/cairo/issues/186.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.