In trying to compile the kdevelop svn version I ran across this error, which is apparently known to KDE (they say it's a gentoo problem) but it's not on gentoo's bugzilla so I'm putting it on. Error is as follows: [ 49%] Built target gdbtest_automoc Linking CXX executable gdbtest /usr/lib/gcc/i686-pc-linux-gnu/4.3.3/../../../../i686-pc-linux-gnu/bin/ld: cannot find -lKDE4Workspace__processui collect2: ld returned 1 exit status make[2]: *** [debuggers/gdb/gdbtest] Error 1 make[1]: *** [debuggers/gdb/CMakeFiles/gdbtest.dir/all] Error 2 make: *** [all] Error 2 I'm afraid I don't know the kde/cmake/gentoo build system enough to solve the problem myself, but I did narrow it down to /usr/kde/4.2/lib/cmake/KDE4Workspace-4.2.4 Reproducible: Always Steps to Reproduce: 1. install kdevplatform and attempt to install kdevelop as stated at http://www.kdevelop.org:80/mediawiki/index.php/KDevelop_4/compiling 2. 3. Actual Results: Looking for a library (KDE4Workspace__processui) which doesn't exist. emerge --info Portage 2.1.6.13 (default/linux/x86/2008.0/desktop, gcc-4.3.3, glibc-2.10.1-r0, 2.6.28-gentoo-r2 i686) ================================================================= System uname: Linux-2.6.28-gentoo-r2-i686-Intel-R-_Pentium-R-_M_processor_2.00GHz-with-gentoo-2.0.1 Timestamp of tree: Fri, 05 Jun 2009 02:30:01 +0000 distcc 3.1 i686-pc-linux-gnu [disabled] app-shells/bash: 4.0_p24 dev-java/java-config: 1.3.7-r1, 2.1.8 dev-lang/python: 2.4.4-r13, 2.5.4-r2, 2.6.2-r1 dev-python/pycrypto: 2.0.1-r8 dev-util/cmake: 2.6.4 sys-apps/baselayout: 2.0.1 sys-apps/openrc: 0.4.3-r2 sys-apps/sandbox: 2.0 sys-devel/autoconf: 2.13, 2.63-r1 sys-devel/automake: 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2, 1.11 sys-devel/binutils: 2.19.1-r1 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.6a virtual/os-headers: 2.6.29 ACCEPT_KEYWORDS="x86 ~x86" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -pipe -march=i686" 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/kde/4.2/env /usr/kde/4.2/share/config /usr/kde/4.2/shutdown /usr/share/config" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c /etc/udev/rules.d" CXXFLAGS="-O2 -pipe -march=i686" DISTDIR="/usr/portage/distfiles" FEATURES="distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://gentoo.netnitco.net http://mirror.csclub.uwaterloo.ca/gentoo-distfiles/ http://osmirrors.cerias.purdue.edu/pub/gentoo/ http://gentoo.mirrors.tera-byte.com/" LDFLAGS="-Wl,-O1" MAKEOPTS="-j5" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="3dnowex 3ds 7zip X Xaw3d aalib accessibility acl acpi allegro alsa amarok ansi apache2 aqua_theme asterisk autoipd avahi bash-completion berkdb bindist blender-game bluetooth bochs-debugger bonjour branding bzip2 cairo cdparanoia cdr cgi cli consolekit contrib cracklib crypt cscope ctype cups curl dba dbus deprecated dga dillo discouraged doc dpms dri dvd dvdr dvdread dvi eds embedded emboss encode esd etwin evo examples expat fam fastbuild fax festival ffmpeg filter firefox fltk fluidsynth fmod fortran freetype fs ftp gadu gcj gd gdb gdbm gif gimpgimpprint glade glib glitz gnome gnuplot gpm grammar groupwise gtalk gtk hal hash haskell html htmlhandbook iconv icu idl imagemagick ipv6 isdnlog jabber jack jack-tmpfs jadetex java java6 joystick jpeg jpeg2k jumpplay kcal kde kde4 kdebuild kdeprefix kdm kmid ktts laptop ldap libnotify libv4l2 libvisual libwww lirc mad maps mbrola mdnsresponder-compat meanwhile memlimit midi mikmod mng moonlightmp2 mp3 mpeg mpeg4 msn mudflap music mysql ncurses network nls nodrm nptl nptlonly nsplugin ode offensive ofx ogg ogre openal openexr opengl openmp oscar otr pam pascal pcre pdf pdo pear-db perl php pic player png portaudio povray ppds pppd python qq qt3 qt3support qt4 quicktime quotes radeon readline reflection regexrtc ruby samba screen sdk sdl server session simplexml slp sockets source spamassassin speech speex spell spl ssl startup-notification stencil-buffer suexec svg sysfs sysvipc tcpd tetex threads tidy tiff timidity tokenizer tomsfastmath tools transcode truetype tv type1 unicode usb vfat vhosts videos vim vim-with-x visual visualization vlm voice vorbis webkit webpresence win32codecs winpopup wlm wma wmp wordperfect wxgtk1 wxwin wxwindows x86 xcb xext xfs xine xinerama xinetd xlockrc xml xmlwriter xorg xscreensaver xsl xulrunner xv yahoo zeroconf 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 mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard synaptics mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="nv nvidia vesa" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Use kdevelop-9999 ebuild from kde-testing overlay. You're reporting bug - compilation problem - but *not* using ebuild - this bug is invalid to me, please report bugs only in *Gentoo packages*. KDE4Workspace__ thing is something we need to explicitly override because it breaks our split-ebuilds rule. Should be closed as WONTFIX. src_prepare() { # Remove this and the ksysguard dep after libprocessui moved into kdelibs sed -i -e 's/${KDE4WORKSPACE_PROCESSUI_LIBS}/processui/g' \ debuggers/gdb/CMakeLists.txt \ || die "Failed to patch CMake files" } If you're interested how to make it compile outside of Gentoo.
Thanks for the help, but now it gives me undefined reference. I don't think the fix was correct. I would be happier building it within gentoo but I don't have an ebuild for it, and if I can't build it buy hand, I don't know how it would work better remotely. And I've never had luck building my own ebuilds.
I have just tried to compile kdevelop using the latest kdevelop-9999 ebuild form the kde-testing overlay and although I no longer the error about KDE4Workspace__processui, the compile fails later because the KsysGuard libraries are not being linked to: [ 48%] Building CXX object tools/grepview/CMakeFiles/kdevgrepview.dir/grepoutputmodel.o CMakeFiles/kdevgdb.dir/processselection.o: In function `GDBDebugger::ProcessSelectionDialog::pidSelected()': processselection.cpp:(.text+0xce): undefined reference to `KSysGuardProcessList::selectedProcesses() const' CMakeFiles/kdevgdb.dir/processselection.o: In function `GDBDebugger::ProcessSelectionDialog::ProcessSelectionDialog(QWidget*)': processselection.cpp:(.text+0x1c9): undefined reference to `KSysGuardProcessList::KSysGuardProcessList(QWidget*, QString const&)' Any idea how to fix this? TIA
(In reply to comment #1) > Use kdevelop-9999 ebuild from kde-testing overlay. > > You're reporting bug - compilation problem - but *not* using ebuild - this bug > is invalid to me, please report bugs only in *Gentoo packages*. > > KDE4Workspace__ thing is something we need to explicitly override because it > breaks our split-ebuilds rule. > > Should be closed as WONTFIX. Why exactly? It should still be possible to use a Gentoo machine to build custom software against the installed libs. For example if someone wishes to contribute to kdevelop it is useful to be able to build it manually outside of an ebuild.
(In reply to comment #4) > (In reply to comment #1) > > Use kdevelop-9999 ebuild from kde-testing overlay. > > > > You're reporting bug - compilation problem - but *not* using ebuild - this bug > > is invalid to me, please report bugs only in *Gentoo packages*. > > > > KDE4Workspace__ thing is something we need to explicitly override because it > > breaks our split-ebuilds rule. > > > > Should be closed as WONTFIX. > Why exactly? It should still be possible to use a Gentoo machine to build > custom software against the installed libs. > > For example if someone wishes to contribute to kdevelop it is useful to be able > to build it manually outside of an ebuild. It might be useful to provide feedback to upstream about kdevelop, but it certainly is not a Gentoo bug. The Gentoo KDE team provides ebuilds to build KDE packages for Gentoo - including ebuilds for tracking upstream live tree. When someone chooses to ignore them and to build software manually, then one gets the responsibility of picking up the pieces when stuff breaks.
If I may suggest a warning during the build of kdebase-workspace libs (I think they're called libkworspace now) telling to do a sed on the CMakeLists.txt file if you try to compile stuff by hand and have this issue would save a lot of people some lost time, I also ran into this with kdevelop but probably there are other packages suffering from the same problem.
Certainly Gentoo's bugzilla is not the place to report issues of your own development/packaging attempts with <your-favourite-IDE> as we can't be responsible what you put in your own CMakeLists.txt (or similar)
The reason I posted this in the first place is that the problem occurred due to the way gentoo was building kde. Upstream wouldn't look at it saying that because gentoo was building kde with a strange library layout (slots I guess) they weren't interested in fixing it. So if upstream won't fix due to gentoo bug, and gentoo won't fix due to upstream where should I be going? (I no longer have this problem BTW)