Bug 168649 - emerge kde-base/kdelibs-3.5.6-r2 fails with media-libs/libart_lgpl-2.3.1{8,9} but succeeds with media-libs/libart_lgpl-2.3.17
|
Bug#:
168649
|
Product: Gentoo Linux
|
Version: unspecified
|
Platform: All
|
|
OS/Version: Linux
|
Status: RESOLVED
|
Severity: normal
|
Priority: P2
|
|
Resolution: FIXED
|
Assigned To: kde@gentoo.org
|
Reported By: zeekec@mad.scientist.com
|
|
Component: KDE
|
|
|
URL:
|
|
Summary: emerge kde-base/kdelibs-3.5.6-r2 fails with media-libs/libart_lgpl-2.3.1{8,9} but succeeds with media-libs/libart_lgpl-2.3.17
|
|
Keywords:
|
|
Status Whiteboard:
|
|
Opened: 2007-02-27 22:33 0000
|
Kdelibs fails with undefined references with the latest libart_lgpl.
Revdep-rebuild does _not_ pick up any issues and KDE runs just fine.
/bin/sh ../libtool --silent --tag=CXX --mode=link i686-pc-linux-gnu-g++
-Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align
-Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -DNDEBUG -DNO_DEBUG -O2
-O2 -mtune=prescott -march=prescott -pipe -Wformat-security
-Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new
-fno-common -fvisibility=hidden -fvisibility-inlines-hidden
-DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT
-DQT_NO_TRANSLATION -Wl,-O1 -Wl,--sort-common -o libkdecore.la -rpath
/usr/kde/3.5/lib -L/usr/qt/3/lib -R /usr/kde/3.5/lib -R /usr/kde/3.5/lib -R
/usr/qt/3/lib -R /usr/lib -L/usr/lib -version-info 6:0:2 -no-undefined
-Wl,--no-undefined -Wl,--allow-shlib-undefined fakes.lo vsnprintf.lo
libkdecore_la.all_cpp.lo malloc/libklmalloc.la network/libkdecorenetwork.la
svgicons/libkdesvgicons.la ../dcop/libDCOP.la ../libltdl/libltdlc.la -lXext
-lresolv -lutil -L/usr/lib -lart_lgpl_2 -lm -lidn ../kdefx/libkdefx.la
svgicons/.libs/libkdesvgicons.a(libkdesvgicons_la.all_cpp.o): In function
`KSVGIconPainter::setClippingRect(int, int, int, int)':
libkdesvgicons_la.all_cpp.cpp:(.text+0x47b): undefined reference to
`art_alloc(unsigned int)'
libkdesvgicons_la.all_cpp.cpp:(.text+0x525): undefined reference to
`art_free(void*)'
svgicons/.libs/libkdesvgicons.a(libkdesvgicons_la.all_cpp.o): In function
`KSVGIconPainter::drawPolyline(QPointArray, int)':
libkdesvgicons_la.all_cpp.cpp:(.text+0x6039): undefined reference to
`art_alloc(unsigned int)'
libkdesvgicons_la.all_cpp.cpp:(.text+0x615f): undefined reference to
`art_free(void*)'
svgicons/.libs/libkdesvgicons.a(libkdesvgicons_la.all_cpp.o): In function
`KSVGIconPainter::drawEllipse(double, double, double, double)':
libkdesvgicons_la.all_cpp.cpp:(.text+0x624b): undefined reference to
`art_alloc(unsigned int)'
libkdesvgicons_la.all_cpp.cpp:(.text+0x63c6): undefined reference to
`art_alloc(unsigned int)'
libkdesvgicons_la.all_cpp.cpp:(.text+0x640c): undefined reference to
`art_realloc(void*, unsigned int)'
svgicons/.libs/libkdesvgicons.a(libkdesvgicons_la.all_cpp.o): In function
`.L2611':
libkdesvgicons_la.all_cpp.cpp:(.text+0x6491): undefined reference to
`art_free(void*)'
libkdesvgicons_la.all_cpp.cpp:(.text+0x64bb): undefined reference to
`art_free(void*)'
svgicons/.libs/libkdesvgicons.a(libkdesvgicons_la.all_cpp.o): In function
`.L2559':
libkdesvgicons_la.all_cpp.cpp:(.text+0x66ac): undefined reference to
`art_alloc(unsigned int)'
svgicons/.libs/libkdesvgicons.a(libkdesvgicons_la.all_cpp.o): In function
`.L2636':
libkdesvgicons_la.all_cpp.cpp:(.text+0x72ff): undefined reference to
`art_alloc(unsigned int)'
libkdesvgicons_la.all_cpp.cpp:(.text+0x734b): undefined reference to
`art_realloc(void*, unsigned int)'
svgicons/.libs/libkdesvgicons.a(libkdesvgicons_la.all_cpp.o): In function
`.L3211':
libkdesvgicons_la.all_cpp.cpp:(.text+0x763e): undefined reference to
`art_free(void*)'
svgicons/.libs/libkdesvgicons.a(libkdesvgicons_la.all_cpp.o): In function
`.L3215':
libkdesvgicons_la.all_cpp.cpp:(.text+0x8ea2): undefined reference to
`art_alloc(unsigned int)'
svgicons/.libs/libkdesvgicons.a(libkdesvgicons_la.all_cpp.o): In function
`KSVGIconPainter::drawLine(double, double, double, double)':
libkdesvgicons_la.all_cpp.cpp:(.text+0xa560): undefined reference to
`art_alloc(unsigned int)'
libkdesvgicons_la.all_cpp.cpp:(.text+0xa5dd): undefined reference to
`art_free(void*)'
svgicons/.libs/libkdesvgicons.a(libkdesvgicons_la.all_cpp.o): In function
`KSVGIconPainter::drawRectangle(double, double, double, double, double,
double)':
libkdesvgicons_la.all_cpp.cpp:(.text+0xa66b): undefined reference to
`art_alloc(unsigned int)'
libkdesvgicons_la.all_cpp.cpp:(.text+0xa734): undefined reference to
`art_free(void*)'
libkdesvgicons_la.all_cpp.cpp:(.text+0xa785): undefined reference to
`art_alloc(unsigned int)'
libkdesvgicons_la.all_cpp.cpp:(.text+0xa9cb): undefined reference to
`art_alloc(unsigned int)'
libkdesvgicons_la.all_cpp.cpp:(.text+0xaa0b): undefined reference to
`art_realloc(void*, unsigned int)'
svgicons/.libs/libkdesvgicons.a(libkdesvgicons_la.all_cpp.o): In function
`.L3360':
libkdesvgicons_la.all_cpp.cpp:(.text+0xaa94): undefined reference to
`art_free(void*)'
libkdesvgicons_la.all_cpp.cpp:(.text+0xaaf2): undefined reference to
`art_free(void*)'
svgicons/.libs/libkdesvgicons.a(libkdesvgicons_la.all_cpp.o): In function
`.L3364':
libkdesvgicons_la.all_cpp.cpp:(.text+0xafae): undefined reference to
`art_alloc(unsigned int)'
svgicons/.libs/libkdesvgicons.a(libkdesvgicons_la.all_cpp.o): In function
`KSVGIconPainter::drawPolygon(QPointArray)':
libkdesvgicons_la.all_cpp.cpp:(.text+0xb2d7): undefined reference to
`art_alloc(unsigned int)'
libkdesvgicons_la.all_cpp.cpp:(.text+0xb45c): undefined reference to
`art_free(void*)'
svgicons/.libs/libkdesvgicons.a(libkdesvgicons_la.all_cpp.o): In function
`KSVGIconPainterHelper::KSVGIconPainterHelper(int, int, KSVGIconPainter*)':
libkdesvgicons_la.all_cpp.cpp:(.text._ZN21KSVGIconPainterHelperC1EiiP15KSVGIconPainter[KSVGIconPainterHelper::KSVGIconPainterHelper(int,
int, KSVGIconPainter*)]+0x221): undefined reference to `art_alloc(unsigned
int)'
svgicons/.libs/libkdesvgicons.a(libkdesvgicons_la.all_cpp.o): In function
`KSVGIconPainterHelper::~KSVGIconPainterHelper()':
libkdesvgicons_la.all_cpp.cpp:(.text._ZN21KSVGIconPainterHelperD1Ev[KSVGIconPainterHelper::~KSVGIconPainterHelper()]+0x2f):
undefined reference to `art_free(void*)'
svgicons/.libs/libkdesvgicons.a(libkdesvgicons_la.all_cpp.o): In function
`KSVGIconPainterHelper::drawPathInternal(_ArtVpath*, double*)':
libkdesvgicons_la.all_cpp.cpp:(.text._ZN21KSVGIconPainterHelper16drawPathInternalEP9_ArtVpathPd[KSVGIconPainterHelper::drawPathInternal(_ArtVpath*,
double*)]+0x61a): undefined reference to `art_free(void*)'
libkdesvgicons_la.all_cpp.cpp:(.text._ZN21KSVGIconPainterHelper16drawPathInternalEP9_ArtVpathPd[KSVGIconPainterHelper::drawPathInternal(_ArtVpath*,
double*)]+0x68b): undefined reference to `art_free(void*)'
libkdesvgicons_la.all_cpp.cpp:(.text._ZN21KSVGIconPainterHelper16drawPathInternalEP9_ArtVpathPd[KSVGIconPainterHelper::drawPathInternal(_ArtVpath*,
double*)]+0xa2c): undefined reference to `art_free(void*)'
libkdesvgicons_la.all_cpp.cpp:(.text._ZN21KSVGIconPainterHelper16drawPathInternalEP9_ArtVpathPd[KSVGIconPainterHelper::drawPathInternal(_ArtVpath*,
double*)]+0xa85): undefined reference to `art_alloc(unsigned int)'
collect2: ld returned 1 exit status
make[4]: *** [libkdecore.la] Error 1
make[4]: Leaving directory
`/tmp/portage/kde-base/kdelibs-3.5.6-r2/work/kdelibs-3.5.6/kdecore'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory
`/tmp/portage/kde-base/kdelibs-3.5.6-r2/work/kdelibs-3.5.6/kdecore'
make[2]: *** [all] Error 2
make[2]: Leaving directory
`/tmp/portage/kde-base/kdelibs-3.5.6-r2/work/kdelibs-3.5.6/kdecore'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
`/tmp/portage/kde-base/kdelibs-3.5.6-r2/work/kdelibs-3.5.6'
make: *** [all] Error 2
P.S. I have the xeffects overlay installed, but this is occurring with the
mainline kdelibs.
Okay, I've bumped to 2.3.18-r1 with what I believe to be a fix for this. I
don't have kde; can one of you try this?
Cancel that; upstream released 2.3.19 with the same fix; I'll bump to that.
Okay, 2.3.19 is in the tree, and supposed to fix this. Please re-open if it's
still broken.
Sorry Daniel,
libart_lgpl-2.3.19 doesn't fix it for me.
Please re-open. Thanx.
(In reply to comment #8)
libart_lgpl-2.3.19 was in the tree after I did an "emerge --sync". Try
re-synccing again and then re-emerging libart_lgpl.
It's not working for me either, but the functions seem to be in the library.
nm --dynamic /usr/lib/libart_lgpl_2.so.2.3.19
00002989 T art_affine_equal
00002a0a T art_affine_expansion
000027a8 T art_affine_flip
000028ca T art_affine_identity
00002735 T art_affine_invert
00002835 T art_affine_multiply
00002700 T art_affine_point
0000292d T art_affine_rectilinear
00002a70 T art_affine_rotate
000028e9 T art_affine_scale
00002a23 T art_affine_shear
00002d17 T art_affine_to_string
0000290a T art_affine_translate
00003511 T art_alloc
00002f84 T art_alphagamma_free
00002fa7 T art_alphagamma_new
00011ed4 T art_bezier_to_vec
0001237c T art_bez_path_to_vec
000030f0 T art_bpath_affine_transform
000035a6 T art_die
00003534 T art_dprint
00003b6b T art_drect_affine_transform
00003a2e T art_drect_copy
00003a9a T art_drect_empty
00003a4f T art_drect_intersect
00003d98 T art_drect_svp
00003e38 T art_drect_svp_union
00003d3f T art_drect_to_irect
00003ac3 T art_drect_union
000034ee T art_free
000032f4 T art_gray_svp_aa
00003910 T art_irect_copy
00003971 T art_irect_empty
00003931 T art_irect_intersect
00003993 T art_irect_union
000037d2 T art_pixbuf_duplicate
0000389d T art_pixbuf_free
0000387a T art_pixbuf_free_shallow
0000378a T art_pixbuf_new_const_rgb
00003695 T art_pixbuf_new_const_rgba
00003740 T art_pixbuf_new_rgb
0000364b T art_pixbuf_new_rgba
000035e8 T art_pixbuf_new_rgba_dnotify
000036dd T art_pixbuf_new_rgb_dnotify
000034c4 T art_realloc
00003e80 T art_rect_list_from_uta
00005680 T art_render_add_image_source
000058f6 T art_render_add_mask_source
000041e0 T art_render_clear
00014330 D art_render_clear_16_obj
00014328 D art_render_clear_8_obj
00005747 T art_render_clear_rgb
00014320 D art_render_clear_rgb8_obj
00014340 D art_render_composite_8_obj
00014348 D art_render_composite_8_opt1_obj
00014350 D art_render_composite_8_opt2_obj
00014338 D art_render_composite_obj
00005f73 T art_render_gradient_linear
00005eb0 T art_render_gradient_radial
000056bc T art_render_image_solid
00005970 T art_render_invoke
00005152 T art_render_invoke_callbacks
00007110 T art_render_mask
0000519b T art_render_mask_solid
000057bf T art_render_new
0000733e T art_render_svp
000089f0 T art_rgb_a_affine
00007e1c T art_rgb_affine
00007fa0 T art_rgb_affine_run
00008dbe T art_rgba_fill_run
00008c90 T art_rgba_rgba_composite
00008df6 T art_rgba_run_alpha
00008238 T art_rgb_bitmap_affine
00007cbf T art_rgb_fill_run
00008678 T art_rgb_pixbuf_affine
000087a0 T art_rgb_rgba_affine
00007c34 T art_rgb_run_alpha
00009074 T art_rgb_svp_aa
00008f40 T art_rgb_svp_alpha
00009bce T art_svp_add_segment
0000b926 T art_svp_diff
00009b80 T art_svp_free
0000cc2b T art_svp_from_vpath
0000b97d T art_svp_intersect
0000b07e T art_svp_intersector
0000b882 T art_svp_minus
0000bb52 T art_svp_point_dist
0000ba2c T art_svp_point_wind
0000cb25 T art_svp_render_aa
0000ca73 T art_svp_render_aa_iter
0000bcc0 T art_svp_render_aa_iter_done
0000bd1c T art_svp_render_aa_iter_step
0000e50c T art_svp_rewind_uncrossed
00009ae4 T art_svp_seg_compare
0000f8ce T art_svp_uncross
0000b9d4 T art_svp_union
0000e248 T art_svp_vpath_stroke
0000dbbf T art_svp_vpath_stroke_raw
00009def T art_svp_writer_rewind_new
0000a094 T art_svp_writer_rewind_reap
00010d84 T art_uta_add_line
00010758 T art_uta_free
00010aa0 T art_uta_from_irect
0001194c T art_uta_from_svp
00011762 T art_uta_from_vpath
00010788 T art_uta_new
00010800 T art_uta_new_coords
00010850 T art_uta_union
00011e46 T art_vpath_add_point
00011a25 T art_vpath_affine_transform
0001198c T art_vpath_bbox_drect
00011ce8 T art_vpath_bbox_irect
000124f0 T art_vpath_dash
0001298e T art_vpath_from_svp
00011d23 T art_vpath_new_circle
00011b1d T art_vpath_perturb
0000356d T art_warn
U __assert_fail
U atan2
00014590 A __bss_start
U ceil
U cos
w __cxa_finalize
00014590 A _edata
00014598 A _end
U exit
00012d54 T _fini
U floor
U free
U fwrite
w __gmon_start__
U hypot
00002194 T _init
w _Jv_RegisterClasses
000132f4 R libart_major_version
000132fc R libart_micro_version
000132f8 R libart_minor_version
00012d11 T libart_postinit
00012d0c T libart_preinit
0001458c D libart_version
U malloc
U memcpy
U memmove
U memset
U pow
U printf
U puts
U qsort
U rand
U realloc
U sin
U sprintf
U sqrt
U stderr
U tan
U vfprintf
*** Bug 168827 has been marked as a duplicate of this bug. ***
Okay, I have a real fix now. Thanks, flameeyes for pointing it out.
(In reply to comment #13)
> Okay, I have a real fix now. Thanks, flameeyes for pointing it out.
>
When can I expect this fix in the portage-tree? I still get these undefined
references when I try to build kdelibs(-3.5.6-r2).
This seems to have fixed it. Thanks!
For those of us interested in more details, here's the fix:
diff --exclude-from=/home/dang/bin/scripts/diffrc -up -ruN
libart_lgpl-2.3.19.orig/art_misc.h libart_lgpl-2.3.19/art_misc.h
--- libart_lgpl-2.3.19.orig/art_misc.h 2007-01-01 18:59:22.000000000 -0500
+++ libart_lgpl-2.3.19/art_misc.h 2007-03-01 11:35:47.000000000 -0500
@@ -34,9 +34,15 @@
#include <libart_lgpl/art_config.h>
#endif
+#ifdef __cplusplus
+extern "C" {
+#endif
void *art_alloc(size_t size);
void art_free(void *ptr);
void *art_realloc(void *ptr, size_t size);
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
/* These aren't, strictly speaking, configuration macros, but they're
damn handy to have around, and may be worth playing with for
*** Bug 170061 has been marked as a duplicate of this bug. ***