Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Building cairo fails due to pkg-config error on Fedora 17 #250

Closed
jdm opened this issue Jan 17, 2013 · 13 comments
Closed

Building cairo fails due to pkg-config error on Fedora 17 #250

jdm opened this issue Jan 17, 2013 · 13 comments
Assignees
Labels

Comments

@jdm
Copy link
Member

@jdm jdm commented Jan 17, 2013

Clean linux64 build, strange failure.

/bin/sh ../libtool --tag=CC   --mode=link gcc  -fPIC  -version-info 11202:3:11200 -no-undefined  -fPIC -fPIC -o libcairo.la -rpath /usr/local/lib                                                                             cairo-analysis-surface.lo cairo-arc.lo cairo-array.lo cairo-atomic.lo cairo-base64-stream.lo cairo-base85-stream.lo cairo-bentley-ottmann.lo cairo-bentley-ottmann-rectangular.lo cairo-bentley-ottmann-rectilinear.lo cairo-botor-scan-converter.lo cairo-boxes.lo cairo-boxes-intersect.lo cairo.lo cairo-cache.lo cairo-clip.lo cairo-clip-boxes.lo cairo-clip-polygon.lo cairo-clip-region.lo cairo-clip-surface.lo cairo-color.lo cairo-composite-rectangles.lo cairo-compositor.lo cairo-contour.lo cairo-damage.lo cairo-debug.lo cairo-default-context.lo cairo-device.lo cairo-error.lo cairo-fallback-compositor.lo cairo-fixed.lo cairo-font-face.lo cairo-font-face-twin.lo cairo-font-face-twin-data.lo cairo-font-options.lo cairo-freelist.lo cairo-freed-pool.lo cairo-gstate.lo cairo-hash.lo cairo-hull.lo cairo-image-compositor.lo cairo-image-info.lo cairo-image-source.lo cairo-image-surface.lo cairo-lzw.lo cairo-matrix.lo cairo-mask-compositor.lo cairo-mesh-pattern-rasterizer.lo cairo-misc.lo cairo-mono-scan-converter.lo cairo-mutex.lo cairo-no-compositor.lo cairo-observer.lo cairo-output-stream.lo cairo-paginated-surface.lo cairo-path-bounds.lo cairo-path.lo cairo-path-fill.lo cairo-path-fixed.lo cairo-path-in-fill.lo cairo-path-stroke.lo cairo-path-stroke-boxes.lo cairo-path-stroke-polygon.lo cairo-path-stroke-tristrip.lo cairo-pattern.lo cairo-pen.lo cairo-polygon.lo cairo-polygon-intersect.lo cairo-polygon-reduce.lo cairo-raster-source-pattern.lo cairo-recording-surface.lo cairo-rectangle.lo cairo-rectangular-scan-converter.lo cairo-region.lo cairo-rtree.lo cairo-scaled-font.lo cairo-shape-mask-compositor.lo cairo-slope.lo cairo-spans.lo cairo-spans-compositor.lo cairo-spline.lo cairo-stroke-dash.lo cairo-stroke-style.lo cairo-surface.lo cairo-surface-clipper.lo cairo-surface-fallback.lo cairo-surface-observer.lo cairo-surface-offset.lo cairo-surface-snapshot.lo cairo-surface-subsurface.lo cairo-surface-wrapper.lo cairo-time.lo cairo-tor-scan-converter.lo cairo-tor22-scan-converter.lo cairo-clip-tor-scan-converter.lo cairo-toy-font-face.lo cairo-traps.lo cairo-tristrip.lo cairo-traps-compositor.lo cairo-unicode.lo cairo-user-font.lo cairo-version.lo cairo-wideint.lo cairo-cff-subset.lo cairo-scaled-font-subsets.lo cairo-truetype-subset.lo cairo-type1-fallback.lo cairo-type1-glyph-names.lo cairo-type1-subset.lo cairo-type3-glyph-surface.lo cairo-pdf-operators.lo cairo-pdf-shading.lo cairo-deflate-stream.lo cairo-xlib-display.lo cairo-xlib-core-compositor.lo cairo-xlib-fallback-compositor.lo cairo-xlib-render-compositor.lo cairo-xlib-screen.lo cairo-xlib-source.lo cairo-xlib-surface.lo cairo-xlib-visual.lo cairo-xlib-xcb-surface.lo  cairo-xcb-connection.lo cairo-xcb-connection-core.lo cairo-xcb-connection-render.lo cairo-xcb-connection-shm.lo cairo-xcb-screen.lo cairo-xcb-shm.lo cairo-xcb-surface.lo cairo-xcb-surface-cairo.lo cairo-xcb-surface-core.lo cairo-xcb-surface-render.lo              cairo-png.lo         cairo-script-surface.lo cairo-ft-font.lo  cairo-ps-surface.lo cairo-pdf-surface.lo cairo-svg-surface.lo          -lpthread     \(top_builddir\)/../pixman/pixman/libpixman-1.la      -lfontconfig   -lfreetype    -lpng15   -lxcb-shm -lxcb   -lxcb-render -lxcb   -lXrender -lX11   -lX11              -lz -lz           -lrt  -lm
libtool: link: cannot find the library `(top_builddir)/../pixman/pixman/libpixman-1.la' or unhandled argument `(top_builddir)/../pixman/pixman/libpixman-1.la'

I suspect this comes from the post-processed Cairo makefile:

CAIRO_LIBS =    -lpthread     \$\(top_builddir\)/../pixman/pixman/libpixman-1.la      -lfontconfig   -lfreetype    -lpng15   -lxcb-shm -lxcb   -lxcb-render -lxcb   -lXrender -lX11   -lX11              -lz -lz         
@brson
Copy link
Contributor

@brson brson commented Jan 17, 2013

looking into this

@brson
Copy link
Contributor

@brson brson commented Jan 17, 2013

Does your makefile have the forward slashes? Mine looks like

CAIRO_LIBS =    -lpthread     $(top_builddir)/../pixman/pixman/libpixman-1.la      -lfontconfig ...
@jdm
Copy link
Member Author

@jdm jdm commented Jan 17, 2013

My makefile looks exactly like what I pasted, and the CAIRO_LIBS in every Makefile under cairo/ contained the same problem. Deleting the \s allowed me to build, but I haven't figured out where they come from yet.

@jdm
Copy link
Member Author

@jdm jdm commented Jan 18, 2013

Found it:

[jdm@rosencrantz cairo]$ export PKG_CONFIG_PATH=../pixman
[jdm@rosencrantz cairo]$ pkg-config --cflags "pixman-1 >= 0.22.0"
-I\$\(top_builddir\)/../pixman/pixman  
@jdm
Copy link
Member Author

@jdm jdm commented Jan 18, 2013

PKG_CONFIG_TOP_BUILD_DIR
    A value to set for the magic variable pc_top_builddir which may appear in .pc files. If the environment variable is not set, the default value '$(top_builddir)' will be used. This variable should refer to the top builddir of the Makefile where the compile/link flags reported by pkg-config will be used. This only matters when compiling/linking against a package that hasn't yet been installed. 

Still haven't determined why the output is being escaped.

@jdm
Copy link
Member Author

@jdm jdm commented Jan 18, 2013

Sigh. It's a pkg-config bug, and the release notes for 0.26 mention that $, ( and ) were being erroneously escaped. I ended up installing 0.27 from Rawhide, since no newer version is available for Fedora 17.

@brson
Copy link
Contributor

@brson brson commented Jan 18, 2013

Wow. I'm surprised we're doing something so out of the ordinary here that we hit a bug Fedora didn't bother to patch.

I would add a version check to configure but my Ubuntu 12.10 install is running 0.26 successfully, presumably patched. I'm not sure what to do here but I'll update the title of this bug with more detalis.

@jdm
Copy link
Member Author

@jdm jdm commented Jan 18, 2013

To be clear, the bug was fixed in 0.26, according to http://cgit.freedesktop.org/pkg-config/tree/NEWS?id=pkg-config-0.27.1#n54.

@brson
Copy link
Contributor

@brson brson commented Jan 18, 2013

Oh, great. Then I'll add a version check to configure.

@ghost ghost assigned brson Jan 18, 2013
@ricklyman
Copy link

@ricklyman ricklyman commented Mar 28, 2013

Same bug with Debian GNU/Linux 6.0...

@brson
Copy link
Contributor

@brson brson commented Mar 28, 2013

We're going to remove cairo from the build, hopefully this week or next. Servo will use skia, quartz or direct 2d on our primary architectures.

@ricklyman
Copy link

@ricklyman ricklyman commented Mar 28, 2013

Thanks,

Any comment re: #311?

On Thu, Mar 28, 2013 at 2:21 PM, Brian Anderson notifications@github.comwrote:

We're going to remove cairo http://312 from the build, hopefully this
week or next. Servo will use skia, quartz or direct 2d on our primary
architectures.


Reply to this email directly or view it on GitHubhttps://github.com//issues/250#issuecomment-15605509
.

@metajack
Copy link
Contributor

@metajack metajack commented Apr 5, 2013

Closing since we're removing this from the build.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
4 participants
You can’t perform that action at this time.