Summary: | x11-libs/cairo-1.10.2-r2 build failed on Prefix MacOSX | ||
---|---|---|---|
Product: | Gentoo/Alt | Reporter: | Naohiro Aota <naota> |
Component: | Prefix Support | Assignee: | Gentoo Prefix <prefix> |
Status: | RESOLVED WORKSFORME | ||
Severity: | normal | CC: | cardoe, spatz, x11 |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
complete build.log
proposed patch Patch some additional makefiles that I needed |
Created attachment 278031 [details]
proposed patch
Maybe libstdc++ is missing??
I was able to build the package (at least on Prefix MacOSX) with the attached patch.
ping. No one has this problem? I've installed using [ebuild UD ] x11-libs/cairo-1.10.2-r1 [1.10.2-r2] USE="X aqua glib qt4 svg -debug (-directfb) -doc (-drm) (-gallium) -opengl (-openvg) -static-libs -xcb" I think this might be caused by the build using gcc, not g++. Apple gcc doesn't like that. (In reply to comment #3) > I think this might be caused by the build using gcc, not g++. Apple gcc > doesn't like that. From generated src/Makefile: > libcairo_cxx_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ > $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ > $(AM_CXXFLAGS) $(CXXFLAGS) $(libcairo_cxx_la_LDFLAGS) \ > $(LDFLAGS) -o $@ (snip) > libcairo_cxx.la: $(libcairo_cxx_la_OBJECTS) $(libcairo_cxx_la_DEPENDENCIES) > $(AM_V_CXXLD)$(libcairo_cxx_la_LINK) $(am_libcairo_cxx_la_rpath) $(libcairo_cxx_la_OBJECTS) $(libcairo_cxx_la_LIBADD) $(LIBS) seems it built with CXX (should be g++)? CXX should be g++, so the build stuff seems right. Odd. It probably barfs because everything is compiled using gcc, and just linked using g++. Since the package is in gx86, you are free to commit this change yourself, if you're confident about it. You could try building everything with g++ (CC=$CXX) and see if that works. Feel free to apply your patch. I think it's related to qt4 USE-flag. (Prefix uses gx86 version directly) (In reply to comment #6) > Feel free to apply your patch. I think it's related to qt4 USE-flag. (Prefix > uses gx86 version directly) Apply to gx86 tree? then CC to cairo maintainers to ask their comments. What is the upstream status of this patch? Created attachment 330914 [details, diff]
Patch some additional makefiles that I needed
With =x11-libs/cairo-1.12.8 on an amd64 prefix, I had to use the enclosed, which augments the original patch with several similar patches, to get it working... this approach kinda feels gross but I can't say I have any better ideas.
|
Created attachment 278029 [details] complete build.log Build fail with the following error CCLD libcairo.la Undefined symbols: "___cxa_rethrow", referenced from: QVector<double>::realloc(int, int)in libcairo_cxx.a(cairo-qt-surface.o) "operator new(unsigned long)", referenced from: _cairo_qt_surface_create_with_qpixmap in libcairo_cxx.a(cairo-qt-surface.o) _cairo_qt_surface_create_with_qpixmap in libcairo_cxx.a(cairo-qt-surface.o) _cairo_qt_surface_acquire_source_image(void*, _cairo_image_surface**, void**)in libcairo_cxx.a(cairo-qt-surface.o) _cairo_qt_surface_create_with_qimage in libcairo_cxx.a(cairo-qt-surface.o) _cairo_qt_surface_create_with_qimage in libcairo_cxx.a(cairo-qt-surface.o) _cairo_qt_surface_acquire_dest_image(void*, _cairo_rectangle_int*, _cairo_image_surface**, _cairo_rectangle_int*, void**)in libcairo_cxx.a(cairo-qt-surface.o) _cairo_qt_surface_acquire_dest_image(void*, _cairo_rectangle_int*, _cairo_image_surface**, _cairo_rectangle_int*, void**)in libcairo_cxx.a(cairo-qt-surface.o) _cairo_qt_surface_acquire_dest_image(void*, _cairo_rectangle_int*, _cairo_image_surface**, _cairo_rectangle_int*, void**)in libcairo_cxx.a(cairo-qt-surface.o) _cairo_qt_surface_acquire_dest_image(void*, _cairo_rectangle_int*, _cairo_image_surface**, _cairo_rectangle_int*, void**)in libcairo_cxx.a(cairo-qt-surface.o) _cairo_qt_surface_composite(_cairo_operator, _cairo_pattern const*, _cairo_pattern const*, void*, int, int, int, int, int, int, unsigned int, unsigned int, _cairo_region*)in libcairo_cxx.a(cairo-qt-surface.o) PatternToBrushConverter::PatternToBrushConverter(_cairo_pattern const*)in libcairo_cxx.a(cairo-qt-surface.o) PatternToBrushConverter::PatternToBrushConverter(_cairo_pattern const*)in libcairo_cxx.a(cairo-qt-surface.o) PatternToBrushConverter::PatternToBrushConverter(_cairo_pattern const*)in libcairo_cxx.a(cairo-qt-surface.o) "typeinfo for std::bad_alloc", referenced from: __ZTISt9bad_alloc$non_lazy_ptr in libcairo_cxx.a(cairo-qt-surface.o) (maybe you meant: __ZTISt9bad_alloc$non_lazy_ptr) "___cxa_end_catch", referenced from: QVector<double>::realloc(int, int)in libcairo_cxx.a(cairo-qt-surface.o) QVector<double>::realloc(int, int)in libcairo_cxx.a(cairo-qt-surface.o) "___gxx_personality_v0", referenced from: ___gxx_personality_v0$non_lazy_ptr in libcairo_cxx.a(cairo-qt-surface.o) (maybe you meant: ___gxx_personality_v0$non_lazy_ptr) "operator delete(void*)", referenced from: _cairo_qt_surface_create_with_qpixmap in libcairo_cxx.a(cairo-qt-surface.o) _cairo_qt_surface_create_with_qpixmap in libcairo_cxx.a(cairo-qt-surface.o) _cairo_qt_surface_acquire_source_image(void*, _cairo_image_surface**, void**)in libcairo_cxx.a(cairo-qt-surface.o) _cairo_qt_surface_finish(void*) in libcairo_cxx.a(cairo-qt-surface.o) _cairo_qt_surface_create_with_qimage in libcairo_cxx.a(cairo-qt-surface.o) _cairo_qt_surface_create_with_qimage in libcairo_cxx.a(cairo-qt-surface.o) _cairo_qt_surface_acquire_dest_image(void*, _cairo_rectangle_int*, _cairo_image_surface**, _cairo_rectangle_int*, void**)in libcairo_cxx.a(cairo-qt-surface.o) _cairo_qt_surface_acquire_dest_image(void*, _cairo_rectangle_int*, _cairo_image_surface**, _cairo_rectangle_int*, void**)in libcairo_cxx.a(cairo-qt-surface.o) _cairo_qt_surface_composite(_cairo_operator, _cairo_pattern const*, _cairo_pattern const*, void*, int, int, int, int, int, int, unsigned int, unsigned int, _cairo_region*)in libcairo_cxx.a(cairo-qt-surface.o) PatternToBrushConverter::PatternToBrushConverter(_cairo_pattern const*)in libcairo_cxx.a(cairo-qt-surface.o) PatternToBrushConverter::PatternToBrushConverter(_cairo_pattern const*)in libcairo_cxx.a(cairo-qt-surface.o) "___cxa_begin_catch", referenced from: QVector<double>::realloc(int, int)in libcairo_cxx.a(cairo-qt-surface.o) ld: symbol(s) not found collect2: ld returned 1 exit status