Am Fri, 10 Oct 2014 14:14:43 +0200 schrieb Thomas Klausner <wiz%NetBSD.org@localhost>: > Try adding 'MAKE_FLAGS+= V=1 VERBOSE=1' in > pkgsrc/graphics/cairo/Makefile. Well, that looks somewhat like this (line breaks added since over 2000 characters may be too much for some software ...): --- any2ppm --- /bin/sh ../libtool --tag=CC --mode=link gcc -O2 -Wno-error -O2 -I/dev/shm/sw-test/system-gcc-4.3.4/pkgsrc/2014Q3/_/include -I/usr/include -I/dev/shm/sw-test/system-gcc-4.3.4/pkgsrc/2014Q3/_/include/libdrm -I/dev/shm/sw-test/system-gcc-4.3.4/pkgsrc/2014Q3/_/include/freetype2 -Wl,--allow-shlib-undefined -L/dev/shm/sw-test/system-gcc-4.3.4/pkgsrc/2014Q3/_/lib -Wl,-R/dev/shm/sw-test/system-gcc-4.3.4/pkgsrc/2014Q3/_/lib -o any2ppm any2ppm-any2ppm.o ../util/cairo-script/libcairo-script-interpreter.la ../src/libcairo.la -lrt -lm libtool: link: gcc -O2 -Wno-error -O2 -I/dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/include -I/dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/include/libdrm -I/dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/include/freetype2 -Wl,--allow-shlib-undefined -Wl,-R/dev/shm/sw-test/system-gcc-4.3.4/pkgsrc/2014Q3/_/lib -o .libs/any2ppm any2ppm-any2ppm.o -L/dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/cairo-1.12.16/src/.libs -L/dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/lib ../util/cairo-script/.libs/libcairo-script-interpreter.so /dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/cairo-1.12.16/src/.libs/libcairo.so /dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/lib/liblzo2.so ../src/.libs/libcairo.so /dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/lib/libpixman-1.so /dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/lib/libfontconfig.so -lexpat /dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/lib/libfreetype.so /dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/lib/libbz2.so /dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/lib/libpng16.so /dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/lib/libxcb-shm.so /dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/lib/libxcb-render.so /dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/lib/libXrender.so /dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/lib/libXext.so /dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/lib/libX11.so /dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/lib/libxcb.so /dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/lib/libXau.so /dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/lib/libXdmcp.so -ldl -lz -lrt -lm -pthread -Wl,-rpath -Wl,/dev/shm/sw-test/system-gcc-4.3.4/pkgsrc/2014Q3/_/lib -Wl,-rpath -Wl,/dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/lib any2ppm-any2ppm.o: In function `_create_image': any2ppm.c:(.text+0x158): undefined reference to `cairo_image_surface_create' This really looks messy ... I see libcairo.so being linked in multiple times. But, well, of course it is a badly built library: sh$ nm -g /dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/cairo-1.12.16/src/.libs/libcairo.so 0000000000201028 B __bss_start w __cxa_finalize@@GLIBC_2.2.5 0000000000201028 D _edata 0000000000201038 B _end 0000000000000718 T _fini w __gmon_start__ 00000000000005c0 T _init w _Jv_RegisterClasses While in a self-built cairo (outside pkgsrc buildinks): sh$ nm -g src/.libs/libcairo.so | wc -l 642 sh$ nm -g src/.libs/libcairo.so | grep cairo_image 0000000000034c90 T cairo_image_surface_create 0000000000034b30 T cairo_image_surface_create_for_data 000000000009d130 T cairo_image_surface_create_from_png 000000000009ce90 T cairo_image_surface_create_from_png_stream 00000000000340b0 T cairo_image_surface_get_data 0000000000034070 T cairo_image_surface_get_format 0000000000033ff0 T cairo_image_surface_get_height 0000000000033fb0 T cairo_image_surface_get_stride 0000000000034030 T cairo_image_surface_get_width Well, I'm trying to trace where things go wrong, starting by dropping the LTO-disabling patch that I needed to make things work with gcc-4.8 on another system. And I'll be damned, of course it works now. That's the bad linking of libcairo.so: libtool: link: gcc -shared -fPIC -DPIC -Wl,-rpath -Wl,/dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/lib -Wl,-rpath -Wl,/dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/lib -L/dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/lib /dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/lib/libpixman-1.so /dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/lib/libfontconfig.so -lexpat /dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/lib/libfreetype.so /dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/lib/libbz2.so /dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/lib/libpng16.so /dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/lib/libxcb-shm.so /dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/lib/libxcb-render.so /dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/lib/libXrender.so /dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/lib/libXext.so /dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/lib/libX11.so /dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/lib/libxcb.so /dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/lib/libXau.so /dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/lib/libXdmcp.so -ldl -lz -lrt -lm -O2 -Wl,-R/dev/shm/sw-test/system-gcc-4.3.4/pkgsrc/2014Q3/_/lib -pthread -Wl,-soname -Wl,libcairo.so.2 -o .libs/libcairo.so.2.11200.16 That's the good one: libtool: link: gcc -shared -fPIC -DPIC .libs/cairo-analysis-surface.o .libs/cairo-arc.o .libs/cairo-array.o .libs/cairo-atomic.o .libs/cairo-base64-stream.o .libs/cairo-base85-stream.o .libs/cairo-bentley-ottmann.o .libs/cairo-bentley-ottmann-rectangular.o .libs/cairo-bentley-ottmann-rectilinear.o .libs/cairo-botor-scan-converter.o .libs/cairo-boxes.o .libs/cairo-boxes-intersect.o .libs/cairo.o .libs/cairo-cache.o .libs/cairo-clip.o .libs/cairo-clip-boxes.o .libs/cairo-clip-polygon.o .libs/cairo-clip-region.o .libs/cairo-clip-surface.o .libs/cairo-color.o .libs/cairo-composite-rectangles.o .libs/cairo-compositor.o .libs/cairo-contour.o .libs/cairo-damage.o .libs/cairo-debug.o .libs/cairo-default-context.o .libs/cairo-device.o .libs/cairo-error.o .libs/cairo-fallback-compositor.o .libs/cairo-fixed.o .libs/cairo-font-face.o .libs/cairo-font-face-twin.o .libs/cairo-font-face-twin-data.o .libs/cairo-font-options.o .libs/cairo-freelist.o .libs/cairo-freed-pool.o .libs/cairo-gstate.o .libs/cairo-hash.o .libs/cairo-hull.o .libs/cairo-image-compositor.o .libs/cairo-image-info.o .libs/cairo-image-source.o .libs/cairo-image-surface.o .libs/cairo-lzw.o .libs/cairo-matrix.o .libs/cairo-mask-compositor.o .libs/cairo-mesh-pattern-rasterizer.o .libs/cairo-mempool.o .libs/cairo-misc.o .libs/cairo-mono-scan-converter.o .libs/cairo-mutex.o .libs/cairo-no-compositor.o .libs/cairo-observer.o .libs/cairo-output-stream.o .libs/cairo-paginated-surface.o .libs/cairo-path-bounds.o .libs/cairo-path.o .libs/cairo-path-fill.o .libs/cairo-path-fixed.o .libs/cairo-path-in-fill.o .libs/cairo-path-stroke.o .libs/cairo-path-stroke-boxes.o .libs/cairo-path-stroke-polygon.o .libs/cairo-path-stroke-traps.o .libs/cairo-path-stroke-tristrip.o .libs/cairo-pattern.o .libs/cairo-pen.o .libs/cairo-polygon.o .libs/cairo-polygon-intersect.o .libs/cairo-polygon-reduce.o .libs/cairo-raster-source-pattern.o .libs/cairo-recording-surface.o .libs/cairo-rectangle.o .libs/cairo-rectangular-scan-converter.o .libs/cairo-region.o .libs/cairo-rtree.o .libs/cairo-scaled-font.o .libs/cairo-shape-mask-compositor.o .libs/cairo-slope.o .libs/cairo-spans.o .libs/cairo-spans-compositor.o .libs/cairo-spline.o .libs/cairo-stroke-dash.o .libs/cairo-stroke-style.o .libs/cairo-surface.o .libs/cairo-surface-clipper.o .libs/cairo-surface-fallback.o .libs/cairo-surface-observer.o .libs/cairo-surface-offset.o .libs/cairo-surface-snapshot.o .libs/cairo-surface-subsurface.o .libs/cairo-surface-wrapper.o .libs/cairo-time.o .libs/cairo-tor-scan-converter.o .libs/cairo-tor22-scan-converter.o .libs/cairo-clip-tor-scan-converter.o .libs/cairo-toy-font-face.o .libs/cairo-traps.o .libs/cairo-tristrip.o .libs/cairo-traps-compositor.o .libs/cairo-unicode.o .libs/cairo-user-font.o .libs/cairo-version.o .libs/cairo-wideint.o .libs/cairo-cff-subset.o .libs/cairo-scaled-font-subsets.o .libs/cairo-truetype-subset.o .libs/cairo-type1-fallback.o .libs/cairo-type1-glyph-names.o .libs/cairo-type1-subset.o .libs/cairo-type3-glyph-surface.o .libs/cairo-pdf-operators.o .libs/cairo-pdf-shading.o .libs/cairo-deflate-stream.o .libs/cairo-xlib-display.o .libs/cairo-xlib-core-compositor.o .libs/cairo-xlib-fallback-compositor.o .libs/cairo-xlib-render-compositor.o .libs/cairo-xlib-screen.o .libs/cairo-xlib-source.o .libs/cairo-xlib-surface.o .libs/cairo-xlib-surface-shm.o .libs/cairo-xlib-visual.o .libs/cairo-xlib-xcb-surface.o .libs/cairo-xcb-connection.o .libs/cairo-xcb-connection-core.o .libs/cairo-xcb-connection-render.o .libs/cairo-xcb-connection-shm.o .libs/cairo-xcb-screen.o .libs/cairo-xcb-shm.o .libs/cairo-xcb-surface.o .libs/cairo-xcb-surface-core.o .libs/cairo-xcb-surface-render.o .libs/cairo-png.o .libs/cairo-script-surface.o .libs/cairo-ft-font.o .libs/cairo-ps-surface.o .libs/cairo-pdf-surface.o .libs/cairo-svg-surface.o .libs/cairo-tee-surface.o -Wl,-rpath -Wl,/dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/lib -Wl,-rpath -Wl,/dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/lib -L/dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/lib /dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/lib/libpixman-1.so /dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/lib/libfontconfig.so -lexpat /dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/lib/libfreetype.so /dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/lib/libbz2.so /dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/lib/libpng16.so /dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/lib/libxcb-shm.so /dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/lib/libxcb-render.so /dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/lib/libXrender.so /dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/lib/libXext.so /dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/lib/libX11.so /dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/lib/libxcb.so /dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/lib/libXau.so /dev/shm/sw-work/work-with-system-gcc-4.3.4/pkgsrc-2014Q3/graphics/cairo/work/.buildlink/lib/libXdmcp.so -ldl -lz -lpthread -lrt -lm -O2 -Wl,-R/dev/shm/sw-test/system-gcc-4.3.4/pkgsrc/2014Q3/_/lib -pthread -pthread -Wl,-soname -Wl,libcairo.so.2 -o .libs/libcairo.so.2.11200.16 Obviously, the patch rips out quite a lot of it. I wonder, though, if this is only a side-effect of re-creating the build cruft: +# Regenerate configure because of patch for --disable-lto. + +USE_TOOLS+= autoconf automake + +pre-configure: + cd ${WRKSRC} && ./autogen.sh I'll try just with that piece ... Hah! That's it! Same issue. Seems like I need to enforce autotools? I see that pkgsrc already does something there because autogen.sh plainly fails on the bare system with configure.ac:17: warning: macro `AM_SILENT_RULES' not found in library autoreconf: running: /usr/bin/autoconf configure.ac:17: error: possibly undefined macro: AM_SILENT_RULES If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation. autoreconf: /usr/bin/autoconf failed with exit status: 1 Well, isn't software fun? OK, so this is my fault for fixing cairo on another system. I guess installing proper autotools from pkgsrc, and enforcing them, should be my first step anyhow ... > > What I really would like is a command for "drop me into an interactive > > shell with the pkgsrc wrappers setup for interactive debugging for > > $RANDOM_ISSUE in the code" instead of poking with special bmake > > invocations. Is there such a command? > > That sounds like a good idea, but I don't think we have that yet. Well, you agreeing that it would be nice is a start;-) I guess some standard target that just starts a shell should do it ... > You seem to have dropped the mailing list cc, so I didn't re-add it. > But there are more people there who can help... That was not by intent. I am accustomed to just replying to mailing list posts and have the reply going to the mailing list by default. Actually, I'm not a fan of getting extra CC from mailing lists as I tend to keep the discussion archived anyway. I need to be more careful on pkgsrc-devel. Alrighty then, Thomas -- Dr. Thomas Orgis Universität Hamburg RRZ / Zentrale Dienste / HPC Schlüterstr. 70 20146 Hamburg Tel.: 040/42838 8826 Fax: 040/428 38 6270
Attachment:
smime.p7s
Description: S/MIME cryptographic signature