The Visulization Toolkit (VTK) fails to install Reproducible: Always Steps to Reproduce: 1. emerge vtk Actual Results: root@note-jacob /home/christoph # PYTHON_LIBRARY=/usr/lib/python2.4 PYTHON_INCLUDE_PATH=/usr/include/python2.4/ emerge vtk Calculating dependencies ...done! >>> emerge (1 of 1) sci-libs/vtk-4.2.6 to / >>> md5 files ;-) vtk-4.2.6.ebuild >>> md5 files ;-) files/digest-vtk-4.2.6 >>> md5 files ;-) files/vtk-4.2.6-gcc34.patch >>> md5 src_uri ;-) VTK-4.2-LatestRelease.tar.gz >>> Unpacking source... >>> Unpacking VTK-4.2-LatestRelease.tar.gz to /var/tmp/portage/vtk-4.2.6/work * Applying vtk-4.2.6-gcc34.patch ... [ ok ]>>> Source unpacked. -- Check for working C compiler: gcc -- Check for working C compiler: gcc -- works -- Check for working CXX compiler: c++ -- Check for working CXX compiler: c++ -- works -- Check size of int -- Check size of int - done -- Check size of long -- Check size of long - done -- Check size of void* -- Check size of void* - done -- Check size of char -- Check size of char - done -- Check size of short -- Check size of short - done -- Check size of float -- Check size of float - done -- Check size of double -- Check size of double - done -- Looking for limits.h -- Looking for limits.h - found -- Looking for unistd.h -- Looking for unistd.h - found -- Looking for sys/prctl.h -- Looking for sys/prctl.h - found -- Looking for pthread.h -- Looking for pthread.h - found -- Check if the system is big endian -- Check if the system is big endian - little endian -- Looking for XOpenDisplay in /usr/lib/libX11.so;/usr/lib/libXext.so -- Looking for XOpenDisplay in /usr/lib/libX11.so;/usr/lib/libXext.so - found -- Looking for gethostbyname -- Looking for gethostbyname - found -- Looking for connect -- Looking for connect - found -- Looking for remove -- Looking for remove - found -- Looking for shmat -- Looking for shmat - found -- Looking for IceConnectionNumber in ICE -- Looking for IceConnectionNumber in ICE - found -- Looking for pthread_create in pthreads -- Looking for pthread_create in pthreads - not found -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found -- Checking for CXX include file iostream -- Checking for CXX include file iostream -- found -- Check for STD namespace -- Check for STD namespace - found -- Check for ANSI scope -- Check for ANSI scope - found -- Checking for CXX include file sstream -- Checking for CXX include file sstream -- found -- Check size of long long -- Check size of long long - done -- Checking support for C++ type bool -- Checking support for C++ type bool -- yes -- Checking support for C++ explicit template instantiation -- Checking support for C++ explicit template instantiation -- yes -- Compiling VTK CMake commands -- Compiling VTK CMake commands - done -- Loading VTK CMake commands -- Loading VTK CMake commands - done -- Checking for CXX include file iosfwd -- Checking for CXX include file iosfwd -- found -- Checking for CXX include file iostream.h -- Checking for CXX include file iostream.h -- found -- Checking for CXX include file strstrea.h -- Checking for CXX include file strstrea.h -- not found -- Checking for CXX include file strstream.h -- Checking for CXX include file strstream.h -- not found CMake Error: This project requires some variables to be set, and cmake can not find them. Please set the following variables: PYTHON_INCLUDE_PATH PYTHON_LIBRARY -- Configuring done !!! ERROR: sci-libs/vtk-4.2.6 failed. !!! Function src_compile, Line 79, Exitcode 255 !!! cmake configuration failed !!! If you need support, post the topmost build error, NOT this status message.
What happens if you just type 'emerge vtk' rather than prefixing it with env variables? Please also add the output from 'emerge info'
I get exactly the same output when I just run "emerge vtk" (setting these env variables was just one of my stupid attempts at fixing the problem)
output of "emerge info": root@note-jacob /home/christoph # emerge info Portage 2.0.51.22-r2 (default-linux/x86/2005.0, gcc-3.4.4, glibc-2.3.5.20050421-r0, 2.6.12-gentoo i686) ================================================================= System uname: 2.6.12-gentoo i686 Intel(R) Pentium(R) 4 CPU 2.40GHz Gentoo Base System version 1.12.0_pre5 dev-lang/python: 2.4.1-r1 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=pentium4 -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/texmf/web2c /etc/env.d" CXXFLAGS="-O2 -march=pentium4 -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://ftp.easynet.nl/mirror/gentoo/ ftp://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/ ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo http://ftp.snt.utwente.nl/pub/os/linux/gentoo http://gentoo.eliteitminds.com ftp://mir.zyrianes.net/gentoo/ http://mir.zyrianes.net/gentoo/ ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo ftp://194.117.143.70/mirrors/gentoo ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/" LANG="de_DE.UTF-8" LC_ALL="de_DE.UTF-8" LINGUAS="de" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X aalib acpi alsa arts avi bash-completion berkdb bitmap-fonts cdr crypt cups curl dbus eds emacs emboss encode esd evo fam foomaticdb fortran gdbm gif gimpprint gnome gnutls gpm gstreamer gtk gtk2 gtkhtml ifc imagemagick imlib ipv6 java jpeg ldap libg++ libwww mad mikmod mng mono motif mozilla mp3 mpeg mysql ncurses nls nntp nptl ogg oggvorbis opengl oss pam pdflib perl plotutils png python quicktime readline ruby sdl spell sqlite sse ssl svga tcltk tcpd tetex tiff truetype truetype-fonts type1-fonts unicode vorbis wmf xml2 xmms xprint xv zlib linguas_de userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LDFLAGS
Created attachment 68061 [details, diff] patch to have VTK's cmake recognize python-2.4 This is likely a problem with your python install, since I noticed that you're running python-2.4.x. It looks to me that VTK's cmake config scripts do not recognize python > v2.3. I have created a patch that might fix this, but I can't test it since I only have python-2.3 installed. Maybe somebody with 2.4 installed can give it a try and report back.
I have tried this patch, but I still get the same error message.
Additional information: The error I reported appears with CMake 2.0.6. When I update to CMake 2.2.0, the error does not appear, but I crashed during the compilation stage with a different error. Here is the output, but to me it seem like a bug in CMake not getting all the dependencies correctly, since the file it complains about is there: Building CXX object Rendering/vtkRendering.dir/vtkVolumeRayCastMapper.o Building CXX object Rendering/vtkRendering.dir/vtkVolumeTextureMapper.o Building CXX object Rendering/vtkRendering.dir/vtkVolumeTextureMapper2D.o Building CXX object Rendering/vtkRendering.dir/vtkWindowToImageFilter.o Building CXX object Rendering/vtkRendering.dir/vtkWorldPointPicker.o Building CXX object Rendering/vtkRendering.dir/vtkFreeTypeFontCache.o Building CXX object Rendering/vtkRendering.dir/vtkXRenderWindowInteractor.o /tmp/portage/vtk-4.2.6/work/VTK/Rendering/vtkFreeTypeFontCache.cxx:24:31: vtkfreetypeConfig.h: Datei oder Verzeichnis nicht gefunden /tmp/portage/vtk-4.2.6/work/VTK/Rendering/vtkFreeTypeFontCache.cxx:25:27: vtkftglConfig.h: Datei oder Verzeichnis nicht gefunden /tmp/portage/vtk-4.2.6/work/VTK/Rendering/vtkFreeTypeFontCache.cxx:26:23: FTLibrary.h: Datei oder Verzeichnis nicht gefunden/tmp/portage/vtk-4.2.6/work/VTK/Rendering/vtkFreeTypeFontCache.cxx:27:65: FTGLPixmapFont.h: Datei oder Verzeichnis nicht gefunden /tmp/portage/vtk-4.2.6/work/VTK/Rendering/vtkFreeTypeFontCache.cxx:28:79: FTGLBitmapFont.h: Datei oder Verzeichnis nicht gefunden /tmp/portage/vtk-4.2.6/work/VTK/Rendering/vtkFreeTypeFontCache.cxx: In constructor `vtkFreeTypeFontCacheCleanup::vtkFreeTypeFontCacheCleanup()': /tmp/portage/vtk-4.2.6/work/VTK/Rendering/vtkFreeTypeFontCache.cxx:78: Fehler:
Additional information: The error I reported appears with CMake 2.0.6. When I update to CMake 2.2.0, the error does not appear, but I crashed during the compilation stage with a different error. Here is the output, but to me it seem like a bug in CMake not getting all the dependencies correctly, since the file it complains about is there: Building CXX object Rendering/vtkRendering.dir/vtkVolumeRayCastMapper.o Building CXX object Rendering/vtkRendering.dir/vtkVolumeTextureMapper.o Building CXX object Rendering/vtkRendering.dir/vtkVolumeTextureMapper2D.o Building CXX object Rendering/vtkRendering.dir/vtkWindowToImageFilter.o Building CXX object Rendering/vtkRendering.dir/vtkWorldPointPicker.o Building CXX object Rendering/vtkRendering.dir/vtkFreeTypeFontCache.o Building CXX object Rendering/vtkRendering.dir/vtkXRenderWindowInteractor.o /tmp/portage/vtk-4.2.6/work/VTK/Rendering/vtkFreeTypeFontCache.cxx:24:31: vtkfreetypeConfig.h: Datei oder Verzeichnis nicht gefunden /tmp/portage/vtk-4.2.6/work/VTK/Rendering/vtkFreeTypeFontCache.cxx:25:27: vtkftglConfig.h: Datei oder Verzeichnis nicht gefunden /tmp/portage/vtk-4.2.6/work/VTK/Rendering/vtkFreeTypeFontCache.cxx:26:23: FTLibrary.h: Datei oder Verzeichnis nicht gefunden/tmp/portage/vtk-4.2.6/work/VTK/Rendering/vtkFreeTypeFontCache.cxx:27:65: FTGLPixmapFont.h: Datei oder Verzeichnis nicht gefunden /tmp/portage/vtk-4.2.6/work/VTK/Rendering/vtkFreeTypeFontCache.cxx:28:79: FTGLBitmapFont.h: Datei oder Verzeichnis nicht gefunden /tmp/portage/vtk-4.2.6/work/VTK/Rendering/vtkFreeTypeFontCache.cxx: In constructor `vtkFreeTypeFontCacheCleanup::vtkFreeTypeFontCacheCleanup()': /tmp/portage/vtk-4.2.6/work/VTK/Rendering/vtkFreeTypeFontCache.cxx:78: Fehler: »FTLibraryCleanup« wurde nicht deklariert /tmp/portage/vtk-4.2.6/work/VTK/Rendering/vtkFreeTypeFontCache.cxx:78: Fehler: »AddDependency« nicht deklariert (erste Verwendung dieser Funktion) /tmp/portage/vtk-4.2.6/work/VTK/Rendering/vtkFreeTypeFontCache.cxx:78: Fehler: (Jeder nicht deklarierte Bezeichner wird nur einmal für jede Funktion, in der er vorkommt, gemeldet.) /tmp/portage/vtk-4.2.6/work/VTK/Rendering/vtkFreeTypeFontCache.cxx: In member function `void vtkFreeTypeFontCache::PrintEntry(int, char*)': /tmp/portage/vtk-4.2.6/work/VTK/Rendering/vtkFreeTypeFontCache.cxx:183: Fehler: invalid use of undefined type `struct FTFont' /tmp/portage/vtk-4.2.6/work/VTK/Rendering/vtkFreeTypeFontCache.h:60: Fehler: forward declaration of `struct FTFont' /tmp/portage/vtk-4.2.6/work/VTK/Rendering/vtkFreeTypeFontCache.cxx: In member function `void vtkFreeTypeFontCache::ReleaseEntry(int)': /tmp/portage/vtk-4.2.6/work/VTK/Rendering/vtkFreeTypeFontCache.cxx:206: Warnung: mögliches Problem bei Aufruf des »delete«-Operators erkannt /tmp/portage/vtk-4.2.6/work/VTK/Rendering/vtkFreeTypeFontCache.cxx:206: Warnung: invalid use of undefined type `struct FTFont' /tmp/portage/vtk-4.2.6/work/VTK/Rendering/vtkFreeTypeFontCache.h:60: Warnung: forward declaration of `struct FTFont' /tmp/portage/vtk-4.2.6/work/VTK/Rendering/vtkFreeTypeFontCache.cxx:206: Anmerkung: weder der Destruktor noch der klassenspezifische Operator »delete« wird aufgerufen, auch wenn sie bei der Klassendefinition deklariert werden /tmp/portage/vtk-4.2.6/work/VTK/Rendering/vtkFreeTypeFontCache.cxx: In member function `vtkFreeTypeFontCache::Entry* vtkFreeTypeFontCache::GetFont(vtkTextProperty*, int, unsigned char, unsigned char, unsigned char)': /tmp/portage/vtk-4.2.6/work/VTK/Rendering/vtkFreeTypeFontCache.cxx:346: Fehler: »FTGLPixmapFont« wurde nicht deklariert /tmp/portage/vtk-4.2.6/work/VTK/Rendering/vtkFreeTypeFontCache.cxx:350: Fehler: »FTGLBitmapFont« wurde nicht deklariert /tmp/portage/vtk-4.2.6/work/VTK/Rendering/vtkFreeTypeFontCache.cxx:358: Fehler: invalid use of undefined type `struct FTFont' /tmp/portage/vtk-4.2.6/work/VTK/Rendering/vtkFreeTypeFontCache.h:60: Fehler: forward declaration of `struct FTFont' /tmp/portage/vtk-4.2.6/work/VTK/Rendering/vtkFreeTypeFontCache.cxx:361: Warnung: mögliches Problem bei Aufruf des »delete«-Operators erkannt /tmp/portage/vtk-4.2.6/work/VTK/Rendering/vtkFreeTypeFontCache.cxx:343: Warnung: »font« hat unvollständigen Typen /tmp/portage/vtk-4.2.6/work/VTK/Rendering/vtkFreeTypeFontCache.h:60: Warnung: forward declaration of `struct FTFont' /tmp/portage/vtk-4.2.6/work/VTK/Rendering/vtkFreeTypeFontCache.cxx:361: Anmerkung: weder der Destruktor noch der klassenspezifische Operator »delete« wird aufgerufen, auch wenn sie bei der Klassendefinition deklariert werden /tmp/portage/vtk-4.2.6/work/VTK/Rendering/vtkFreeTypeFontCache.cxx:376: Fehler: invalid use of undefined type `struct FTFont' /tmp/portage/vtk-4.2.6/work/VTK/Rendering/vtkFreeTypeFontCache.h:60: Fehler: forward declaration of `struct FTFont' /tmp/portage/vtk-4.2.6/work/VTK/Rendering/vtkFreeTypeFontCache.cxx:448: Fehler: invalid use of undefined type `struct FTFont' /tmp/portage/vtk-4.2.6/work/VTK/Rendering/vtkFreeTypeFontCache.h:60: Fehler: forward declaration of `struct FTFont' /tmp/portage/vtk-4.2.6/work/VTK/Rendering/vtkFreeTypeFontCache.cxx:451: Warnung: mögliches Problem bei Aufruf des »delete«-Operators erkannt /tmp/portage/vtk-4.2.6/work/VTK/Rendering/vtkFreeTypeFontCache.cxx:343: Warnung: »font« hat unvollständigen Typen /tmp/portage/vtk-4.2.6/work/VTK/Rendering/vtkFreeTypeFontCache.h:60: Warnung: forward declaration of `struct FTFont' /tmp/portage/vtk-4.2.6/work/VTK/Rendering/vtkFreeTypeFontCache.cxx:451: Anmerkung: weder der Destruktor noch der klassenspezifische Operator »delete« wird aufgerufen, auch wenn sie bei der Klassendefinition deklariert werden /tmp/portage/vtk-4.2.6/work/VTK/Rendering/vtkFreeTypeFontCache.cxx:458: Fehler: invalid use of undefined type `struct FTFont' /tmp/portage/vtk-4.2.6/work/VTK/Rendering/vtkFreeTypeFontCache.h:60: Fehler: forward declaration of `struct FTFont' make[2]: *** [Rendering/vtkRendering.dir/vtkFreeTypeFontCache.o] Fehler 1 make[2]: *** Warte auf noch nicht beendete Prozesse... make[1]: *** [Rendering/vtkRendering.dir/all] Fehler 2 make: *** [all] Fehler 2 !!! ERROR: sci-libs/vtk-4.2.6 failed. !!! Function src_compile, Line 80, Exitcode 2 !!! emake failed !!! If you need support, post the topmost build error, NOT this status message.
Created attachment 69932 [details, diff] adds an extra cmake run to vtk-4.2.6.ebuild This adds another "cmake run" to the src_compile routine so that all CMAKE_VARIABLES are properly initialised. Also adds stuff to the java-variables to support all platforms.
(In reply to comment #6) > Additional information: > > The error I reported appears with CMake 2.0.6. > > When I update to CMake 2.2.0, the error does not appear, > but I crashed during the compilation stage with a different error. > Here is the output, but to me it seem like a bug in CMake > not getting all the dependencies correctly, since the file > it complains about is there: > snip ... > > !!! ERROR: sci-libs/vtk-4.2.6 failed. > !!! Function src_compile, Line 80, Exitcode 2 > !!! emake failed > !!! If you need support, post the topmost build error, NOT this status message. > > This is a cmake problem. One run of cmake is often not enough. Some variables are not initialised properly. The solution is to run cmake a second (sometimes a third) time, without supplying the options again. I noticed this behaviour when compiling VTK by hand before it was included in the portage tree. I have a custom vtk ebuild in my overlay that includes another cmake run in the "scr_compile" routine. Perhaps this issue should have it's own bug-number since it's unrelated to the original python bug. Appart from the extra cmake run I've also updated the configuration routines when the java use-flag is set. This way the vtk-4.2.6.ebuild handles architectures other than x86 (I tested AMD64 and PPC, but any architecture with a decent JVM and java-config should work). I've included a diff to the original vtk-4.2.6.ebuild to add my fixes. It does NOT include the python patch
Created attachment 69934 [details, diff] adds an extra cmake run to vtk-4.2.6.ebuild Adds an extra 'cmake' run to the scr_compile routine of the original vtk-4.2.6.ebuild so that all CMAKE_VARIABLES are properly initialized. It also adds some stuff to the java-variables so that all architectures are supported (tested with ppc and amd64). this patch does NOT include the python-patch.
using -pything -tcltck i get the same error as in comment #6 using -doc -examples +java -mpi -patented +python +tcltk -threads it ends at Building CXX object Graphics/CMakeFiles/vtkGraphicsTCL.dir/vtkWarpVectorTcl.o Building CXX object Graphics/CMakeFiles/vtkGraphicsTCL.dir/ vtkWindowedSincPolyDataFilterTcl.o Linking CXX shared library bin/libvtkGraphicsTCL.so make: *** [all] Fout 2 Portage 2.0.53_rc5 (default-linux/x86/2005.0, gcc-3.4.4, glibc-2.3.5-r2, 2.6.13- gentoo-r4 i686) ================================================================= System uname: 2.6.13-gentoo-r4 i686 AMD Athlon(TM) XP 2000+ Gentoo Base System version 1.12.0_pre8 dev-lang/python: 2.3.5, 2.4.2 sys-apps/sandbox: 1.2.13 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.20 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=athlon-xp -O2 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/ X11/xkb /usr/share/config" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=athlon-xp -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig collision-protect cvs distlocks fixpackages manifest noclean sandbox sfperms sign strict userpriv usersandbox" LANG="nl_BE.UTF-8" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage/tree" PORTDIR_OVERLAY="/usr/portage/overlay" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 3dnow 3dnowext 3ds X a52 aac aalib alsa apm avi bash-completion berkdb bitmap-fonts cdr crypt cscope disablexmb dts dv dvb dvd dvdread edl eds emboss encode faad fam fbcon ffmpeg foomaticdb freetype gdbm gif gpm gstreamer gtk gtk2 hal imagemagick imap imlib innodb java jpeg junit kde kdeenablefinal libcaca libg++ libwww mad maildir mikmod mmx mmxext mng mozilla mp3 mpeg ncurses network nls nptl offensive ogg oggvorbis openal opengl oss pam pcre pdflib perl png python qt quicktime readline rtc sdl skey spell sse ssl stream tcltk tcpd theora tiff truetype truetype-fonts type1-fonts unicode usb userlocales vorbis win32codecs xine xml xml2 xv xvid zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LC_ALL, LDFLAGS, LINGUAS
Comment on attachment 68061 [details, diff] patch to have VTK's cmake recognize python-2.4 Doesn't work properly
Created attachment 72493 [details, diff] patch for vtk-4.2.6.ebuild fixing the python problems The attached patch fixes the initially reported problems with python on a setup that is similar to yours (python 2.4.2, gcc-3.4.4) using the stable version of cmake (cmake-2.0.6-r1). Please give it a spin and report back.
Yes, the new patch is working for me, with the configuration as initially reported (python 2.4, cmake-2.0.6-r1)
Hi Christoph, Thanks for testing and good to hear that the patch solved your compile issues. This should close this bug then.
Yes, the original problem is solved then. I have also tested the solution that was suggested for the second problem (compile fails with cmake-2.2). This problem is indeed solved by adding a second cmake run to the ebuild. I will try to attach an updated patch for that.
Created attachment 73065 [details, diff] add a second cmake run (solves compile problem with cmake 2.2)
(In reply to comment #6) http://bugs.gentoo.org/show_bug.cgi?id=113597
This has been fixed in portage cvs. Sorry for the delay. Markus