Looks like kgraphviewer wasn't ready for the recent upgrade of GraphViz from 2.28.0 to 2.34.0. PkgConfig fails to find the GraphViz libraries. Reproducible: Always Actual Results: -- checking for modules 'libgvc;libcdt;libgraph;libpathplan' -- package 'libgraph' not found CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:108 (message): Could NOT find GraphViz (missing: graphviz_LIBRARIES) Call Stack (most recent call first): /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:315 (_FPHSA_FAILURE_MESSAGE) cmake/FindGraphViz.cmake:165 (find_package_handle_standard_args) CMakeLists.txt:18 (find_package) Expected Results: Successful configure (find the libraries). Portage 2.2.7 (default/linux/amd64/13.0/desktop/kde, gcc-4.7.3, glibc-2.15-r3, 3.11.3-gentoo x86_64) ================================================================= System Settings ================================================================= System uname: Linux-3.11.3-gentoo-x86_64-Intel-R-_Core-TM-_i5_CPU_M_580_@_2.67GHz-with-gentoo-2.2 KiB Mem: 7954136 total, 346972 free KiB Swap: 4095996 total, 2815660 free Timestamp of tree: Tue, 19 Nov 2013 23:45:01 +0000 ld GNU ld (GNU Binutils) 2.23.1 app-shells/bash: 4.2_p45 dev-java/java-config: 2.1.12-r1 dev-lang/python: 2.7.5-r3, 3.2.5-r3 dev-util/cmake: 2.8.11.2 dev-util/pkgconfig: 0.28 sys-apps/baselayout: 2.2 sys-apps/openrc: 0.11.8 sys-apps/sandbox: 2.6-r1 sys-devel/autoconf: 2.13, 2.69 sys-devel/automake: 1.11.6, 1.12.6, 1.13.4 sys-devel/binutils: 2.23.1 sys-devel/gcc: 4.7.3-r1, 4.8.2 sys-devel/gcc-config: 1.7.3 sys-devel/libtool: 2.4.2 sys-devel/make: 3.82-r4 sys-kernel/linux-headers: 3.11 (virtual/os-headers) sys-libs/glibc: 2.15-r3 Repositories: gentoo x11 seden sunrise dmol kde lisp mv java science local ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="* -@EULA Google-TOS google-talkplugin google-chrome FAH-EULA-2009 skype-4.0.0.7-copyright" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -pipe -w -march=native" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/themes/oxygen-gtk/gtk-2.0" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /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" CXXFLAGS="-O2 -pipe -w -march=native" DISTDIR="/var/tmp/distfiles" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch parallel-install preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="http://ftp.iinet.net.au/pub/Gentoo http://ftp.swin.edu.au/gentoo" LANG="en_AU.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j4" PKGDIR="/var/tmp/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/var/lib/layman/x11 /var/lib/layman/seden /var/lib/layman/sunrise /var/lib/layman/dmol /var/lib/layman/kde /var/lib/layman/lisp /var/lib/layman/mv /var/lib/layman/java /var/lib/layman/science /usr/local/portage" SYNC="rsync://rsync.au.gentoo.org/gentoo-portage" USE="X a52 aac aalib acl acpi alsa amd64 ao avahi bash-completion berkdb blas bluetooth branding bzip2 c++0x cairo caps cdda cddb cli consolekit cracklib crypt css cups curl cxx dbus declarative djvu dri dts dv dvd dvdr emboss encode exif expat fam ffmpeg fftw flac fontconfig fortran gd gdbm geoip gif gmp gnuplot gnutls gphoto2 gpm graphviz gsl gsm gtk iconv icu idn ieee1394 imagemagick imlib ipod ipv6 java java6 javascript jpeg jpeg2k kde kipi ladspa lame lapack laptop latex lcms ldap libnotify libsamplerate lzma lzo mad matroska mmap mmx mng modules mp3 mp4 mpeg mpi mtp mudflap multilib mysql mysqli ncurses nls nptl nsplugin ntfs offensive ogg openal openexr opengl openmp pam pango pch pcre pdf phonon php plasma plotutils png policykit postscript ppds python qt3support qt4 readline samba scanner sdl semantic-desktop session sharedmem smp sndfile sox speex spell sqlite sqlite3 sse sse2 sse3 ssl startup-notification subversion svg syslog szip taglib tcpd theora threads tiff truetype udev udisks unicode upnp upower usb vcd vnc vorbis wavpack wifi wmf wxwidgets x264 xcb xcomposite xinerama xml xpm xscreensaver xv xvid zeroconf zlib" ABI_X86="64" ALSA_CARDS="hda-intel" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon 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 deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en_AU en_GB" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_2" RUBY_TARGETS="ruby19 ruby18" USERLAND="GNU" VIDEO_CARDS="intel" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Created attachment 363638 [details] build.log: Configure fails trying to find libraries.
This is libgraph vs libcgraph. Not really interested, but I've googled this: https://git.reviewboard.kde.org/r/113119/, so there might be something being done upstream.
There's no word from upstream, so this package will probably be treecleaned.
I finally had time to look into this. Here are my (lightly tested) patches: http://mail.kde.org/pipermail/kgraphviewer-devel/2014-March/date.html Will also attach them here. I admit it is unfortunate that upstream is dead. I would potentially consider taking it over if that is indeed the case, even though I will not be able to fix more than trivial issues and I would still have to figure out the process to do that. Would you consider keeping it under these conditions? It seems a few nice tools like massif-visualizer depend on it.
Created attachment 371528 [details, diff] More robust parser Not completely sure at which point this became necessary, it seems unrelated to the graph vs. cgraph issue, but it doesn't work properly without.
Created attachment 371530 [details, diff] cgraph support Actual cgraph support patch. Works for me on a Gentoo system, but I really don't like or understand cmake, so those parts sure could use the eye of an expert. Well, actually the code changes could use that too, though they are fairly simple.
Thanks for working on this! Due to the size of the patch, it would be ideal to integrate it upstream first, and we can then package a snapshot. While upstream is dead, there is still a number of active KDE developers marked as part of the project. If there is no response to your post on the mailing list, I can assist with integrating upstream if required.
this was part of kde3 and a popular software, my friend from work asked if this could be saved, so if possible... and the patch works, please don't remove it light heartedly
(In reply to Samuli Suominen from comment #8) > this was part of kde3 and a popular software, my friend from work asked if > this could be saved, so if possible... and the patch works, please don't > remove it light heartedly We won't be removing it, as per previous comments.
Just a little status update: I got into contact with the maintainer. While he has little time for development, he is still using the program, but was not aware of the issues due to using a less up-to-date distribution. We will try to get access to the repository for me (it seems to be a bit stuck at KDE developer application currently - which as far as I can tell is necessary), he probably intends to do a release then later. So things are progressing slowly but at least so far it seems like it should work out.
(In reply to Reimar Döffinger from comment #10) > Just a little status update: > I got into contact with the maintainer. While he has little time for > development, he is still using the program, but was not aware of the issues > due to using a less up-to-date distribution. Thanks for the update! > We will try to get access to the repository for me (it seems to be a bit > stuck at KDE developer application currently - which as far as I can tell is > necessary), Yep, with your KDE developer account comes write access to almost every repo >he probably intends to do a release then later. > So things are progressing slowly but at least so far it seems like it should > work out. Even if he does not make a release soon, we can fix this in Gentoo by packaging a snapshot once everything's committed.
The two patches are now in the upstream git repository. However due to time constraints there was no further code review (though I asked a few people to start testing at least), so use with care.
Thanks again for working on this. I suggest we do a snapshot in portage - is there a particular point commit you prefer or is just master fine?
If you are fine with not just a minimal compile fix I'd suggest current master. It contains quite a few memleak, crash and UI (broken auto-layout causing issues with larger system font sizes) fixes on top of it, and I have now fixed everything I could find for the moment. Unfortunately graphviz itself causes quite some issues, it has loads of memleaks all over the place and crashes if you use it in a multithreaded context and I could only work around the latter. The disadvantage is though that I also removed a lot of deprecated KDE feature use, which means that programs like massif-visualizer need one-line changes from KLibFactory *factory = KLibLoader::self()->factory("kgraphviewerpart"); to KPluginFactory *factory = KPluginLoader("kgraphviewerpart").factory(); to work with it. I have not yet made contact with those projects.
Sounds like it would be great if we could get a git-master (i.e. -9999) ebuild into the KDE overlay to start with. I presume that would be easier than getting something into the Gentoo overlay.
I rolled a snapshot and it seems to be working fine. If someone can confirm that everything appears correct, I will unmask the package. + 31 Mar 2014; Michael Palimaka <kensington@gentoo.org> + +kgraphviewer-2.1.1_p20140331.ebuild: + Add upstream snapshot wrt bug #491760.
Your snapshot works fine for me at least. Though it wouldn't hurt if someone else were to test as well. I have a minor nit about the ebuild though: Why is kde-apps.org set as homepage? It isn't really the homepage and has a bit too much advertisement for my taste. I admit the "proper" homepage (http://extragear.kde.org/apps/kgraphviewer/) is a bit bland (not even a screenshot), but http://www.kde.org/applications/graphics/kgraphviewer/ is official, ad-free, looks fine (IMHO) and links to both the other pages.
Michael, there is a CMake warning: CMake Warning (dev) in src/part/CMakeLists.txt: Policy CMP0022 is not set: INTERFACE_LINK_LIBRARIES defines the link interface. Run "cmake --help-policy CMP0022" for policy details. Use the cmake_policy command to set the policy and suppress this warning. Target "kgraphviewerlib" has an INTERFACE_LINK_LIBRARIES property which differs from its LINK_INTERFACE_LIBRARIES properties. INTERFACE_LINK_LIBRARIES: Qt4::QtSvg;KDE4__kio;gvc;cgraph;cdt;cgraph;cdt;pathplan LINK_INTERFACE_LIBRARIES: This warning is for project developers. Use -Wno-dev to suppress it. Also, graphs don't render correctly for me: nodes are filled in black when they shouldn't be and wrong font is used. But it compiles and runs. :)
Thanks everyone, this is unmasked now. (In reply to Reimar Döffinger from comment #17) > I have a minor nit about the ebuild though: Why is kde-apps.org set as > homepage? > It isn't really the homepage and has a bit too much advertisement for my > taste. > I admit the "proper" homepage (http://extragear.kde.org/apps/kgraphviewer/) > is a bit bland (not even a screenshot), but > http://www.kde.org/applications/graphics/kgraphviewer/ is official, ad-free, > looks fine (IMHO) and links to both the other pages. Good point, I have updated that appropriately. (In reply to Jeremy Murphy from comment #18) > Michael, there is a CMake warning: > > CMake Warning (dev) in src/part/CMakeLists.txt: > Policy CMP0022 is not set: INTERFACE_LINK_LIBRARIES defines the link > interface. Run "cmake --help-policy CMP0022" for policy details. Use the > cmake_policy command to set the policy and suppress this warning. > > Target "kgraphviewerlib" has an INTERFACE_LINK_LIBRARIES property which > differs from its LINK_INTERFACE_LIBRARIES properties. > > INTERFACE_LINK_LIBRARIES: > > Qt4::QtSvg;KDE4__kio;gvc;cgraph;cdt;cgraph;cdt;pathplan > > LINK_INTERFACE_LIBRARIES: > > > > This warning is for project developers. Use -Wno-dev to suppress it. > > > Also, graphs don't render correctly for me: nodes are filled in black when > they shouldn't be and wrong font is used. But it compiles and runs. :) I suggest to report this upstream. FWIW I tested with graphviz-2.36.0.
> I suggest to report this upstream. Yes, please do. Preferable on the KDE bugtracker, but via email is fine as well. I've never seen that issue, so any additional information would help, things like graphviz version, what graphs it happens with (e.g. even with http://www.graphviz.org/content/hello ?) etc.