Bug 156895 - kdelibs-4.0.0 fails to compile: error linking libkjs.so
Summary: kdelibs-4.0.0 fails to compile: error linking libkjs.so
Status: RESOLVED WORKSFORME
Alias: None
Product: kdelibs
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: unspecified
Platform: Gentoo Packages Linux
: NOR normal
Target Milestone: ---
Assignee: kdelibs bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-01-29 06:26 UTC by Phillip Killewald
Modified: 2010-12-19 19:05 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Build log. (173.84 KB, text/plain)
2008-01-29 06:27 UTC, Phillip Killewald
Details
New build log (from 4.0.0-r1, -j3 removed from MAKEOPTS) (159.57 KB, text/plain)
2008-01-29 20:40 UTC, Phillip Killewald
Details
log with CMAKE_COMPILER_VERBOSE=YesPlease (679.49 KB, text/plain)
2008-01-30 18:39 UTC, Phillip Killewald
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Phillip Killewald 2008-01-29 06:26:09 UTC
Version:            (using KDE 4.0.0)
Installed from:    Gentoo Packages
Compiler:          GCC i686-pc-linux-gnu-4.2.2 CFLAGS="-O2 -march=prescott -pipe -fomit-frame-pointer -msse3 -funroll-loops"
OS:                Linux

I have been attempting to compile kdelibs-4.0.0 on my system, and it fails at
the same point with very little debug output.

Reproducible: Always

Actual Results:  
<--- snip --->
[  4] Linking CXX shared library ../lib/libkjs.so
[  4%] Building CXX object solid/solid/CMakeFiles/solid.dir/device.o
/var/tmp/portage/kde-base/kdelibs-4.0.0/work/kdelibs-4.0.0/solid/solid/device.cpp:
In member function 'const Solid::DeviceInterface*
Solid::Device::asDeviceInterface(const Solid::DeviceInterface::Type&) const':
/var/tmp/portage/kde-base/kdelibs-4.0.0/work/kdelibs-4.0.0/solid/solid/device.cpp:162:
warning: enumeration value 'Last' not handled in switch
[  5%] Building CXX object solid/solid/CMakeFiles/solid.dir/devicemanager.o
Building CXX object kdecore/CMakeFiles/kdecore.dir/config/kconfigbase.o
[  5%]
/usr/lib/gcc/i686-pc-linux-gnu/4.2.2/../../../../i686-pc-linux-gnu/bin/ld:
warning: creating a DT_TEXTREL in object.
collect2: ld returned 1 exit status
Building CXX object solid/solid/CMakeFiles/solid.dir/deviceinterface.o
make[2]: *** [lib/libkjs.so.4.0.0] Error 1
make[1]: *** [kjs/CMakeFiles/kjs.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
<--- snip --->

<--- snip --->
[ 17%] Building C object kdecore/CMakeFiles/kdecore.dir/fakes.o
Linking CXX shared library ../lib/libkdecore.so
[ 17%] Built target kdecore
make: *** [all] Error 2
 *
 * ERROR: kde-base/kdelibs-4.0.0 failed.
 * Call stack:
 *               ebuild.sh, line   46:  Called src_compile
 *             environment, line 2505:  Called kde4-base_src_compile
 *             environment, line 1804:  Called kde4-base_src_make
 *             environment, line 1834:  Called cmake-utils_src_make
 *             environment, line  637:  Called die
 * The specific snippet of code:
 *           emake "$@" || diefunc "$FUNCNAME" "$LINENO" "$?" "Make failed!";
 *  The die message:
 *   Make failed!
 *
 * If you need support, post the topmost build error, and the call stack if
relevant.
 * A complete build log is located at
'/var/log/portage/kde-base:kdelibs-4.0.0:20080121-142926.log'.
 * The ebuild environment file is located at
'/var/tmp/portage/kde-base/kdelibs-4.0.0/temp/environment'.
 *
<--- snip --->

Expected Results:  
kdelibs should have compiled.
Comment 1 Phillip Killewald 2008-01-29 06:27:27 UTC
Created attachment 23345 [details]
Build log.
Comment 2 Phillip Killewald 2008-01-29 06:28:21 UTC
(Useful for Gentoo debugging, too)

# emerge --info
Portage 2.1.4 (default-linux/x86/2007.0/desktop, gcc-4.2.2, glibc-2.7-r1, 2.6.23-tuxonice-r9 i686)
=================================================================
System uname: 2.6.23-tuxonice-r9 i686 Genuine Intel(R) CPU T2400 @ 1.83GHz
Timestamp of tree: Tue, 29 Jan 2008 04:16:01 +0000
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p33
dev-java/java-config: 1.3.7, 2.1.3
dev-lang/python:     2.4.4-r4, 2.5.1-r5
dev-python/pycrypto: 2.0.1-r6
dev-util/ccache:     2.4-r7
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r1
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1
sys-devel/binutils:  2.18-r1
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.24
virtual/os-headers:  2.6.23-r3
ACCEPT_KEYWORDS="x86 ~x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=prescott -pipe -fomit-frame-pointer -msse3 -funroll-loops"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/splash /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-O2 -march=prescott -pipe -fomit-frame-pointer -msse3 -funroll-loops"
DISTDIR="/usr/portage/distfiles"
FEATURES="ccache distlocks metadata-transfer parallel-fetch prelink sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://mirror.datapipe.net/gentoo http://gentoo.mirrors.tds.net/gentoo ftp://mirror.datapipe.net/gentoo"
LINGUAS="en_US"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/portage/local/layman/musicbrainz /usr/portage/local/layman/liquidx /usr/portage/local/layman/sunrise /usr/local/portage"
SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage"
USE="X aac acl acpi alsa apache2 arts bash-completion berkdb bitmap-fonts bluetooth browserplugin bzip2 cairo cdparanoia cdr cjk cli cpudetection cracklib crypt cups dbus dga divx dri dvb dvd dvdr dvdread eds emboss encode esd evo fam ffmpeg firefox flac fortran gcj gdbm gif glitz gpm gstreamer gtk hal iconv imagemagick ipv6 isdnlog ithreads java javascript jpeg jpeg2k kde kdeenablefinal kerberos krb4 lame ldap libcaca libwww live lm_sensors logrotate lzo mad madwifi midi mikmod mmx mmxext mozbranding mozilla mp3 mp4 mpeg mplayer mudflap mysql mysqli mythtv ncurses nethack nls nptl nptlonly nsplugin ogg opanal openexr opengl openmp oss pam pcre pdf perl png pppd python qt qt3support qt4 quicktime rdesktop readline real realmedia reflection samba sdl session skey skype spell spl sse sse2 ssl svg tcpd tetex theora threads tiff truetype truetype-fonts type1-fonts unicode usb vim visualization vorbis wifi win32codecs wireless x264 x86 xcomposite xine xml xorg xscreensaver xv xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MPMS="worker" ELIBC="glibc" INPUT_DEVICES="keyboard mouse wacom synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en_US" USERLAND="GNU" VIDEO_CARDS="vga i810 vesa i915"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 3 Anne-Marie Mahfouf 2008-01-29 08:58:24 UTC
The bug has been files to Gentoo as well
http://bugs.gentoo.org/show_bug.cgi?id=206871
and they will attach the patch here as it is something we need to fix in KDE code.

Comment 4 Maksim Orlovich 2008-01-29 16:46:01 UTC
Please do a build w/o a -j, so the error messages are in order. (It's not even clear if it fails linking libkjs or libsolid). It doesn't help there isn't an actual link error message there, either --- but the warning suggests you're trying to link a shared library against a static library.
Comment 5 Phillip Killewald 2008-01-29 20:38:28 UTC
After removing the -j3 option, the error is

<-- snip -->
[ 10%] Building CXX object kjs/CMakeFiles/kjs.dir/CommonIdentifiers.o
[ 10%] Building CXX object kjs/CMakeFiles/kjs.dir/semantic_checker.o
Linking CXX shared library ../lib/libkjs.so
/usr/lib/gcc/i686-pc-linux-gnu/4.2.2/../../../../i686-pc-linux-gnu/bin/ld: warning: creating a DT_TEXTREL in object.
collect2: ld returned 1 exit status
make[2]: *** [lib/libkjs.so.4.0.0] Error 1
make[1]: *** [kjs/CMakeFiles/kjs.dir/all] Error 2
make: *** [all] Error 2
<-- snip -->

Will upload the new build log for completeness.
Comment 6 Phillip Killewald 2008-01-29 20:40:44 UTC
Created attachment 23352 [details]
New build log (from 4.0.0-r1, -j3 removed from MAKEOPTS)
Comment 7 Maksim Orlovich 2008-01-30 00:01:35 UTC
Thanks. It'd be awfully helpful of ld if it actually gave the error. 
What happens if you do ls /usr/lib/*pcre* ? 
Comment 8 Phillip Killewald 2008-01-30 00:26:21 UTC
Output from ls /usr/lib/*pcre*

# ls /usr/lib/*pcre*
/usr/lib/libpcre.a         /usr/lib/libpcrecpp.so.0
/usr/lib/libpcre.la        /usr/lib/libpcrecpp.so.0.0.0
/usr/lib/libpcre.so        /usr/lib/libpcreposix.a
/usr/lib/libpcre.so.0      /usr/lib/libpcreposix.la
/usr/lib/libpcre.so.0.0.1  /usr/lib/libpcreposix.so
/usr/lib/libpcrecpp.a      /usr/lib/libpcreposix.so.0
/usr/lib/libpcrecpp.la     /usr/lib/libpcreposix.so.0.0.0
/usr/lib/libpcrecpp.so
Comment 9 Maksim Orlovich 2008-01-30 00:49:52 UTC
are the libpcre.so and libpcreposix.so symlinks right?
Comment 10 Phillip Killewald 2008-01-30 03:37:20 UTC
Looks like everything there is correct.  I will try re-emerging these, just in case.

Output from ls -l /usr/lib/*pcre*

# ls -l /usr/lib/*pcre*
-rw-r--r-- 1 root root 249794 Nov 19 17:27 /usr/lib/libpcre.a
-rw-r--r-- 1 root root    787 Nov 19 17:27 /usr/lib/libpcre.la
lrwxrwxrwx 1 root root     16 Nov 19 17:27 /usr/lib/libpcre.so -> libpcre.so.0.0.1
lrwxrwxrwx 1 root root     16 Nov 19 17:27 /usr/lib/libpcre.so.0 -> libpcre.so.0.0.1
-rwxr-xr-x 1 root root 232032 Nov 19 17:27 /usr/lib/libpcre.so.0.0.1
-rw-r--r-- 1 root root  38028 Nov 19 17:27 /usr/lib/libpcrecpp.a
-rw-r--r-- 1 root root    828 Nov 19 17:27 /usr/lib/libpcrecpp.la
lrwxrwxrwx 1 root root     19 Nov 19 17:27 /usr/lib/libpcrecpp.so -> libpcrecpp.so.0.0.0
lrwxrwxrwx 1 root root     19 Nov 19 17:27 /usr/lib/libpcrecpp.so.0 -> libpcrecpp.so.0.0.0
-rwxr-xr-x 1 root root  38364 Nov 19 17:27 /usr/lib/libpcrecpp.so.0.0.0
-rw-r--r-- 1 root root   4110 Nov 19 17:27 /usr/lib/libpcreposix.a
-rw-r--r-- 1 root root    842 Nov 19 17:27 /usr/lib/libpcreposix.la
lrwxrwxrwx 1 root root     21 Nov 19 17:27 /usr/lib/libpcreposix.so -> libpcreposix.so.0.0.0
lrwxrwxrwx 1 root root     21 Nov 19 17:27 /usr/lib/libpcreposix.so.0 -> libpcreposix.so.0.0.0
-rwxr-xr-x 1 root root  10892 Nov 19 17:27 /usr/lib/libpcreposix.so.0.0.0
Comment 11 Ingmar Vanhassel 2008-01-30 15:19:11 UTC
Run `export CMAKE_COMPILER_VERBOSE=YesPlease` in a terminal, then try to recompile & attach the full build.log. That will show the linker command being used.

I had a discussion with Anne-Marie on irc, where a user of ours hit the same problem compiling kdeedu from current SVN:

Snippet from his log:

cd /var/tmp/portage/kde-base/kdeedu-9999.4/work/kdeedu_build/kalgebra/src/plasmoid && /usr/bin/cmake -P CMakeFiles/kalgebraplasmoid.dir/cmake_clean_target.cmake
cd /var/tmp/portage/kde-base/kdeedu-9999.4/work/kdeedu_build/kalgebra/src/plasmoid && /usr/bin/cmake -E cmake_link_script CMakeFiles/kalgebraplasmoid.dir/link.txt --verbose=1
/usr/bin/i686-pc-linux-gnu-g++  -fPIC -O2 -march=prescott -pipe -fomit-frame-pointer  -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wformat-security -fno-exceptions -fno-check-new -fno-common -Woverloaded-virtual -fvisibility=hidden -fvisibility-inlines-hidden -O2 -DNDEBUG -DQT_NO_DEBUG -Wl,--enable-new-dtags -Wl,--fatal-warnings -Wl,--no-undefined -lc  -shared -Wl,-soname,kalgebraplasmoid.so -o ../../../lib/kalgebraplasmoid.so "CMakeFiles/kalgebraplasmoid.dir/kalgebraplasmoid_automoc.o" "CMakeFiles/kalgebraplasmoid.dir/kalgebraplasma.o" -L/var/tmp/portage/kde-base/kdeedu-9999.4/work/kdeedu_build/lib -L/usr/kde/svn/lib -L/usr/lib/qt4 -lplasma -lQtSvg -lQtCore -lpthread -lkdecore -lSM -lICE -lX11 -lXext -lXft -lXau -lXdmcp -lXpm -lQtGui -lQtXml -lXtst -lXcursor -lXfixes -lkdeui -Wl,-Bstatic -lanalitza -Wl,-Bdynamic -lQtCore -lpthread -lQtXml -lQtCore -lpthread -lQtNetwork -lQtDBus -lQtXml -lz -lbz2 -lresolv-lkdecore -Wl,-rpath,/var/tmp/portage/kde-base/kdeedu-9999.4/work/kdeedu_build/lib:/usr/kde/svn/lib:/usr/lib/qt4
/usr/lib/gcc/i686-pc-linux-gnu/4.2.2/../../../../i686-pc-linux-gnu/bin/ld: warning: creating a DT_TEXTREL in object.
collect2: ld returned 1 exit status
make[2]: *** [lib/kalgebraplasmoid.so] Error 1

I guess the error stems from trying to mix static (analitza) and dynamic libraries?
Comment 12 Phillip Killewald 2008-01-30 18:39:19 UTC
Created attachment 23371 [details]
log with CMAKE_COMPILER_VERBOSE=YesPlease

<-- snip -->
Linking CXX shared library ../lib/libkjs.so
cd /var/tmp/portage/kde-base/kdelibs-4.0.0-r1/work/kdelibs_build/kjs &&
/usr/bin/cmake -P CMakeFiles/kjs.dir/cmake_clean_target.cmake
cd /var/tmp/portage/kde-base/kdelibs-4.0.0-r1/work/kdelibs_build/kjs &&
/usr/bin/cmake -E cmake_link_script CMakeFiles/kjs.dir/link.txt --verbose=1
/usr/bin/i686-pc-linux-gnu-g++	-fPIC -O2 -march=prescott -pipe
-fomit-frame-pointer -msse3 -funroll-loops  -Wnon-virtual-dtor -Wno-long-long
-ansi -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith
-Wformat-security -fno-exceptions -fno-check-new -fno-common
-Woverloaded-virtual -fvisibility=hidden -fvisibility-inlines-hidden -O2
-DNDEBUG -DQT_NO_DEBUG -Wl,--enable-new-dtags -Wl,--fatal-warnings
-Wl,--no-undefined -lc	-shared -Wl,-soname,libkjs.so.4 -o
../lib/libkjs.so.4.0.0 "CMakeFiles/kjs.dir/kjs_automoc.o"
"CMakeFiles/kjs.dir/ustring.o" "CMakeFiles/kjs.dir/date_object.o"
"CMakeFiles/kjs.dir/collector.o" "CMakeFiles/kjs.dir/nodes.o"
"CMakeFiles/kjs.dir/grammar.o" "CMakeFiles/kjs.dir/lexer.o"
"CMakeFiles/kjs.dir/lookup.o" "CMakeFiles/kjs.dir/operations.o"
"CMakeFiles/kjs.dir/regexp.o" "CMakeFiles/kjs.dir/function_object.o"
"CMakeFiles/kjs.dir/string_object.o" "CMakeFiles/kjs.dir/bool_object.o"
"CMakeFiles/kjs.dir/number_object.o" "CMakeFiles/kjs.dir/internal.o"
"CMakeFiles/kjs.dir/Context.o" "CMakeFiles/kjs.dir/ExecState.o"
"CMakeFiles/kjs.dir/Parser.o" "CMakeFiles/kjs.dir/array_object.o"
"CMakeFiles/kjs.dir/math_object.o" "CMakeFiles/kjs.dir/object_object.o"
"CMakeFiles/kjs.dir/regexp_object.o" "CMakeFiles/kjs.dir/error_object.o"
"CMakeFiles/kjs.dir/function.o" "CMakeFiles/kjs.dir/debugger.o"
"CMakeFiles/kjs.dir/value.o" "CMakeFiles/kjs.dir/list.o"
"CMakeFiles/kjs.dir/object.o" "CMakeFiles/kjs.dir/interpreter.o"
"CMakeFiles/kjs.dir/package.o" "CMakeFiles/kjs.dir/property_map.o"
"CMakeFiles/kjs.dir/property_slot.o" "CMakeFiles/kjs.dir/nodes2string.o"
"CMakeFiles/kjs.dir/identifier.o" "CMakeFiles/kjs.dir/scope_chain.o"
"CMakeFiles/kjs.dir/dtoa.o" "CMakeFiles/kjs.dir/fpconst.o"
"CMakeFiles/kjs.dir/JSLock.o" "CMakeFiles/kjs.dir/JSImmediate.o"
"CMakeFiles/kjs.dir/PropertyNameArray.o" "CMakeFiles/kjs.dir/JSWrapperObject.o"
"CMakeFiles/kjs.dir/CommonIdentifiers.o"
"CMakeFiles/kjs.dir/semantic_checker.o" -lpthread -lm -Wl,-Bstatic -lpcre
-Wl,-Bdynamic -lpcreposix
/usr/lib/gcc/i686-pc-linux-gnu/4.2.2/../../../../i686-pc-linux-gnu/bin/ld:
warning: creating a DT_TEXTREL in object.
collect2: ld returned 1 exit status
make[2]: *** [lib/libkjs.so.4.0.0] Error 1
make[2]: Leaving directory
`/var/tmp/portage/kde-base/kdelibs-4.0.0-r1/work/kdelibs_build'
make[1]: *** [kjs/CMakeFiles/kjs.dir/all] Error 2
make[1]: Leaving directory
`/var/tmp/portage/kde-base/kdelibs-4.0.0-r1/work/kdelibs_build'
make: *** [all] Error 2
<-- snip -->
Comment 13 Maksim Orlovich 2008-01-30 18:52:44 UTC
-Wl,-Bstatic -lpcre -Wl,-Bdynamic -lpcreposix

what in the world is that -Bstatic for?

Comment 14 Phillip Killewald 2008-01-30 22:00:11 UTC
From the man page for ld:

       -Bstatic
       -dn
       -non_shared
       -static
           Do  not  link against shared libraries.  This is only meaningful on
           platforms for which shared libraries are supported.  The  different
           variants of this option are for compatibility with various systems.
           You may use this option multiple times  on  the  command  line:  it
           affects  library  searching  for  -l options which follow it.  This
           option also implies --unresolved-symbols=report-all.   This  option
           can  be used with -shared.  Doing so means that a shared library is
           being created but that all of  the  library's  external  references
           must be resolved by pulling in entries from static libraries.

Should I do something about this?
Comment 15 Phillip Killewald 2008-01-31 02:02:40 UTC
Progress:  it seems when I change -Bstatic to -Bdynamic in kjs/CMakeFiles/kjs.dir/link.txt, linking of libkjs.so works, but then I get the same error when it tries to link ktranscript.so.

I am going to try first rebuilding libpcre, and failing that, I will try changing all the -Bstatic to -Bdynamic in all the link.txt files.
Comment 16 Phillip Killewald 2008-01-31 03:49:50 UTC
When I remove -Bstatic from before the -lpcre flags in all the link.txt files, kdelibs builds without incident.  I removed the offending flags with the following command after running configure but before running make:

find ./ -name link.txt -type f -print0 | xargs -0 perl -pi -w -e 's/-Bstatic -lpcre/-lpcre/g;'

I will try to emerge without the USE flag "pcre" and see if that works, too.
Comment 17 Phillip Killewald 2008-01-31 04:03:41 UTC
Fixed, not resolved: Gentoo's handling of the USE flag "pcre" seems to want to link libpcre as static, not shared.  I don't know how to make a patch to fix this.
Comment 18 Maksim Orlovich 2008-01-31 04:12:43 UTC
That's probably for our cmake guys, will have to figure who does it. I don't get why you even have a static version of pcre though --- it's pretty useless except in some special case..
Comment 19 Michael Pyne 2008-01-31 04:39:57 UTC
Does seem like a CMake issue.  The -Wl,-Bstatic stuff is added automatically by CMake to try to force linking to the static version of libpcre.  I believe this behavior has just changed in CMake CVS, but not for this reason.  It may still be interesting to try using CMake CVS to see if it builds correctly.
Comment 20 Anne-Marie Mahfouf 2008-01-31 11:41:53 UTC
libanalitza is now a shared library so that should be fixed!
see http://lists.kde.org/?l=kde-commits&m=120172713306397&w=2
Thanks Aleix!
Comment 21 Phillip Killewald 2008-02-09 00:38:15 UTC
As of kdelibs-4.0.1, the pcre USE flag in Gentoo has been removed.  It is now required that kdelibs be built against libpcre, thereby defeating my "fix".  Something needs to be done, probably to CMake, to get everything to work again.  Until then, it is back to gnome for me.
Comment 22 Phillip Killewald 2008-02-12 04:22:28 UTC
A new "solution" that seems to work:  move the files libpcre.a and libpcre.la from /usr/lib/ to some other directory not in the $LD_LIBRARY_PATH (like /root/).  Build works because cmake can't find the static version of libpcre, so it is forced to link dynamically.

This is clearly a problem with cmake, but I'm wondering if I even need the static versions of these libraries...
Comment 23 Alexander Neundorf 2008-02-12 19:01:39 UTC
So find_package(PCRE) found the static versions of the library, right ?
Please post the output of "grep PCRE CMakeCache.txt" in the kdelibs build directory.
If you don't mind please join kde-buildsystem@kde.org so we can discuss it there, which is easier.

Alex
Comment 24 Phillip Killewald 2008-02-13 03:08:34 UTC
# grep PCRE CMakeCache.txt
//Force building of KJS without PCRE. Doing this will result in
KJS_FORCE_DISABLE_PCRE:BOOL=OFF
PCRE_INCLUDE_DIR:PATH=/usr/include
//The libraries needed to use PCRE
PCRE_LIBRARIES:STRING=/lib/libpcre.a;/usr/lib/libpcreposix.so
PCRE_PCREPOSIX_LIBRARY:FILEPATH=/usr/lib/libpcreposix.so
PCRE_PCRE_LIBRARY:FILEPATH=/lib/libpcre.a
//Have symbol PCRE_CONFIG_STACKRECURSE
HAVE_PCRE_STACK:INTERNAL=1
//Have symbol PCRE_CONFIG_UTF8
HAVE_PCRE_UTF8:INTERNAL=1
//Advanced flag for variable: PCRE_INCLUDE_DIR
PCRE_INCLUDE_DIR-ADVANCED:INTERNAL=1
//Advanced flag for variable: PCRE_LIBRARIES
PCRE_LIBRARIES-ADVANCED:INTERNAL=1
//Advanced flag for variable: PCRE_PCREPOSIX_LIBRARY
PCRE_PCREPOSIX_LIBRARY-ADVANCED:INTERNAL=1
//Advanced flag for variable: PCRE_PCRE_LIBRARY
PCRE_PCRE_LIBRARY-ADVANCED:INTERNAL=1
Comment 25 Phillip Killewald 2008-02-13 04:18:12 UTC
From my last post, it was obvious that I had an extra copy of libpcre.a hanging around in /lib, not /usr/lib.  I deleted /lib/libpcre.a (keeping /usr/lib/libpcre.a) and everything built properly.