Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 446356

Summary: sci-visualization/mayavi-4.2.0 - /var/tmp/portage/sci-visualization/mayavi-4.2.0/temp/environment: line 5211: 25358 Segmentation fault $(PYTHON) setup.py gen_docs
Product: Gentoo Linux Reporter: Juergen Rose <rose>
Component: Current packagesAssignee: Gentoo Science Related Packages <sci>
Status: RESOLVED FIXED    
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: /var/tmp/portage/sci-visualization/mayavi-4.2.0/temp/build.log
patch to mayavi-4.2.0 ebuild
better doc patch
/var/tmp/portage/sci-visualization/mayavi-4.2.0/temp/build.log with patches
the new /var/tmp/portage/sci-visualization/mayavi-4.2.0/temp/build.log

Description Juergen Rose 2012-12-07 12:24:43 UTC
Created attachment 331734 [details]
/var/tmp/portage/sci-visualization/mayavi-4.2.0/temp/build.log

'emerge mayavi' fails with:
...
warning: build_py: byte-compiling is disabled, skipping.

running build_ext
customize UnixCCompiler
customize UnixCCompiler using build_ext
building 'tvtk.array_ext' extension
compiling C sources
C compiler: x86_64-pc-linux-gnu-gcc -pthread -march=native -O2 -pipe -fPIC

creating build/temp.linux-x86_64-2.7
creating build/temp.linux-x86_64-2.7/tvtk
creating build/temp.linux-x86_64-2.7/tvtk/src
compile options: '-I/usr/lib64/python2.7/site-packages/numpy/core/include -I/usr/include/python2.7 -c'
x86_64-pc-linux-gnu-gcc: tvtk/src/array_ext.c
In file included from /usr/lib64/python2.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:1722:0,
                 from /usr/lib64/python2.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:17,
                 from /usr/lib64/python2.7/site-packages/numpy/core/include/numpy/arrayobject.h:15,
                 from tvtk/src/array_ext.c:223:
/usr/lib64/python2.7/site-packages/numpy/core/include/numpy/npy_deprecated_api.h:11:2: warning: #warning "Using deprecated NumPy API, disable it by #defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
x86_64-pc-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,--as-needed -march=native -O2 -pipe build/temp.linux-x86_64-2.7/tvtk/src/array_ext.o -L/usr/lib64 -lpython2.7 -o build/lib.linux-x86_64-2.7/tvtk/array_ext.so
running scons
running gen_docs
/var/tmp/portage/sci-visualization/mayavi-4.2.0/temp/environment: line 5211: 25358 Segmentation fault      $(PYTHON) setup.py gen_docs
 * ERROR: sci-visualization/mayavi-4.2.0 failed (compile phase):



"emerge --info '=sci-visualization/mayavi-4.2.0'" fails with:

root@leopard:/usr/src(51)# emerge --info '=sci-visualization/mayavi-4.2.0'

emerge: there are no ebuilds to satisfy "=sci-visualization/mayavi-4.2.0".
root@leopard:/usr/src(52)# ll /usr/portage/sci-visualization/mayavi/mayavi-4.2.0.ebuild 
-rw-r--r-- 1 root root 1782 Dec  6 21:01 /usr/portage/sci-visualization/mayavi/mayavi-4.2.0.ebuild
?



root@leopard:/usr/src(55)# emerge --info
Portage 2.1.11.33 (default/linux/amd64/10.0, gcc-4.6.3, glibc-2.16.0, 3.6.8-gentoo x86_64)
=================================================================
System uname: Linux-3.6.8-gentoo-x86_64-Intel-R-_Core-TM-_i7-2600_CPU_@_3.40GHz-with-gentoo-2.2
Timestamp of tree: Fri, 07 Dec 2012 03:00:01 +0000
ld GNU ld (GNU Binutils) 2.23.1
app-shells/bash:          4.2_p39
dev-java/java-config:     2.1.12-r1
dev-lang/python:          2.7.3-r2, 3.2.3-r1
dev-util/cmake:           2.8.10.2
dev-util/pkgconfig:       0.27.1
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.11.6
sys-apps/sandbox:         2.6
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.9.6-r3, 1.10.3, 1.11.6, 1.12.5
sys-devel/binutils:       2.23.1
sys-devel/gcc:            4.6.3
sys-devel/gcc-config:     1.8
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r4
sys-kernel/linux-headers: 3.6 (virtual/os-headers)
sys-libs/glibc:           2.16.0
Repositories: gentoo lisp science sunrise bicatali x11 sage-on-gentoo arcon ibormuth java-overlay x-portage x-cpan x-g-octave
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA PUEL Intel-SDP dlj-1.1 skype-eula skype-4.0.0.7-copyright googleearth AdobeFlash-10.3 cadsoft Oracle-BCLA-JavaSE MakeMKV-EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/openvpn/easy-rsa /usr/share/polkit-1/actions /var/lib/hsqldb"
CONFIG_PROTECT_MASK="${EPREFIX}/etc/gconf /etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.4/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/cli-php5.4/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"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo ftp://ftp.tu-clausthal.de/pub/linux/gentoo ftp://ftp.easynet.nl/mirror/gentoo/ "
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j9"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --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/lisp /var/lib/layman/science /var/lib/layman/sunrise /var/lib/layman/bicatali /var/lib/layman/x11 /var/lib/layman/sage-on-gentoo /var/lib/layman/arcon /var/lib/layman/ibormuth /var/lib/layman/java-overlay /usr/local/portage /var/lib/cpan /var/lib/g-octave"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="64bit R X Xaw3d a52 aac acl acpi admin afs alsa amd64 ao apache2 apng applet archive arpack asf aspell assistant atlas audacious audiofile automap automount bash-completion berkdb blas blast bluetooth bluray boo boost bzip2 cairo cdda cddb cdf cdio cdparanoia cdr cg cgi chm cli consolekit cracklib crypt css cuda cups curl cxx daap db dbi dbm dbus declarative designer devhelp device-mapper dga dia dirac djvu doc dot dri ds2490 ds9097 ds9097u dts dv dvb dvd dvdr dvi dynamicplugin eds egl elf emacs emboss emf encode epiphany evo examples exif expat extensions extra extras faac faad ffmpeg fftw firefox fits flac fltk fontconfig foomaticdb fortran fortran95 fpx fts3 fuse g3dvl gcj gd gdal gdbm gdu gedit geoip geolocation geos gfortran gif gimp git glade glib glpk gml gmp gnome gnome-keyring gnome-print gnuplot gnutls gold gphoto2 gpm grammar graphics graphtft graphviz grass gsl gstreamer gtk gtk3 gudev guile harness hddtemp hdf hdf5 hdri html http httpd hvm hwdb iconv icq icu id3 id3tag ide imagemagick imap inotify ipod ipv6 irda ithreads jabber jadetex java java6 jbig john jpeg jpeg2k kate kdepim kdrive kerberos keymap kpathsea kqemu kvm ladspa lame lapack latex lcms ldap lensfun libffi libkms libnotify libsamplerate live lm_sensors lua lzo mad mail maildir mapnik math matroska media-library mercurial mikmod mmx mmxext mng modules mono motif mozilla mp3 mp4 mpeg mpi mplayer mtp mudflap multilib musepack musicbrainz mysql mysqli nautilus ncurses netcdf netpbm network networking networkmanager nfs nls nntp nptl nsplugin ntfs ntp numpy nvidia obex objc ocaml ocr octave odbc ofa ogdi ogg openexr opengl openmp overview pam pcre pda pdf perl plotutils plugins png podcast policykit portaudio posix postgres postscript ppds pppd preview-latex proj projectm projectx pstricks pulseaudio python python-bindings q16 q32 qemu qhull qt3support qt4 quicktime raw readline reiserfs reports rle romio rpc rrdcgi rrdtool sage samba sasl schroedinger science sdk sdl secure-delete semantic-desktop server session shout sip slang slp smart smbclient smp sms sndfile snmp soap sockets soup sox speex spell sql sqlite sse sse2 sse4 ssl subtitles subversion sudo suexec svg svm swig szip t1lib tcl tcpd tex tex4ht texmacs tgif theora thesaurus threads thunderbird tidy tiff tk tools truetype udev unicode usb userlocales utempter vaapi vdpau video virtualbox visio vorbis wav webdav webdav-serf webkit wmf wxwidgets x264 xa xattr xcb xemacs xetex xext xft xine xml xmlreader xmlrpc xpm xv xvid xvmc yaml youtube zlib zvbi" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci 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_core authn_dbm authn_default authn_file authz_core authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgid dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info lbmethod_byrequests log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif slotmem_shm so socache_shmcb speling status unique_id unixd userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="canon fuji ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CURL_SSL="nss" DRACUT_MODULES="caps lvm mdraid 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="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="de fr ru" NETBEANS_MODULES="apisupport cnd dlight enterprise ergonomics groovy gsf harness ide identity j2ee java mobility nb php profiler ruby websvccommon xml" PHP_TARGETS="php5-3" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_2" QEMU_SOFTMMU_TARGETS="arm i386 x86_64" QEMU_USER_TARGETS="arm i386 x86_64" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="nouveau vesa" 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



root@leopard:/usr/src(56)# emerge -pqv '=sci-visualization/mayavi-4.2.0'
[ebuild     U ] sci-visualization/mayavi-4.2.0 [4.1.0-r1] USE="doc examples {-test}"
Comment 1 Justin Lecher (RETIRED) gentoo-dev 2012-12-07 15:30:53 UTC
which numpy are you using?
Comment 2 Juergen Rose 2012-12-07 15:41:37 UTC
Since wednesday dev-python/numpy-1.7.0_beta2::sage-on-gentoo is installed.
Comment 3 Justin Lecher (RETIRED) gentoo-dev 2012-12-07 15:47:46 UTC
Could you please try with 1.6.2?
Comment 4 Juergen Rose 2012-12-07 16:16:31 UTC
If I mask numpy-1.7:

root@leopard:/root(13)# grep numpy /etc/portage/package.mask
>=dev-python/numpy-1.7.0_beta2

and then reemerge numpy-1.6.2:

root@leopard:/root(14)# qlist -Iv numpy
dev-python/numpy-1.6.2

'emerge mayavi' still fails with segmentation fault:

root@leopard:/root(15)# emerge -vuND --resume world

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     U  ] sci-visualization/mayavi-4.2.0:2 [4.1.0-r1:2] USE="doc examples {-test}" 0 kB
...
copying tvtk/plugins/scene/ui/__init__.py -> build/lib.linux-x86_64-2.7/tvtk/plugins/scene/ui
warning: build_py: byte-compiling is disabled, skipping.

running build_ext
customize UnixCCompiler
customize UnixCCompiler using build_ext
building 'tvtk.array_ext' extension
compiling C sources
C compiler: x86_64-pc-linux-gnu-gcc -pthread -march=native -O2 -pipe -fPIC

creating build/temp.linux-x86_64-2.7
creating build/temp.linux-x86_64-2.7/tvtk
creating build/temp.linux-x86_64-2.7/tvtk/src
compile options: '-I/usr/lib64/python2.7/site-packages/numpy/core/include -I/usr/include/python2.7 -c'
x86_64-pc-linux-gnu-gcc: tvtk/src/array_ext.c
x86_64-pc-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,--as-needed -march=native -O2 -pipe build/temp.linux-x86_64-2.7/tvtk/src/array_ext.o -L/usr/lib64 -lpython2.7 -o build/lib.linux-x86_64-2.7/tvtk/array_ext.so
running scons
running gen_docs
/var/tmp/portage/sci-visualization/mayavi-4.2.0/temp/environment: line 5211: 11802 Segmentation fault      $(PYTHON) setup.py gen_docs
 * ERROR: sci-visualization/mayavi-4.2.0 failed (compile phase):
Comment 5 François Bissey 2012-12-07 23:49:27 UTC
That looks very similar to stuff I was getting will working on the doc patch for 4.1.0. In any case it is related to building documentation. So it should be disabled and we should then check if it still fails with the doc useflag.
Comment 6 François Bissey 2012-12-08 10:38:36 UTC
Where did you get the patch you used in mayavi 4.2.0 instead of the one I posted in bug #445782 never mind the fact you left 4.1.0-r1 broken in the tree.

I get things to work with a slight variation of my patch above - I adopted the zip_safe flag setting.

--- setup.py.orig       2012-12-08 22:56:32.268449054 +1300
+++ setup.py    2012-12-08 22:58:42.099588659 +1300
@@ -465,10 +465,8 @@
         # Work around a numpy distutils bug by forcing the use of the
         # setuptools' sdist command.
         'sdist': setuptools.command.sdist.sdist,
-        'build': MyBuild,
         'develop': MyDevelop,
         'install_scripts': MyInstallScripts,
-        'install_data': MyInstallData,
         'gen_docs': GenDocs,
         'build_docs': BuildDocs,
         },
@@ -494,6 +492,6 @@
     license = "BSD",
     long_description = '\n'.join(DOCLINES[3:]),
     platforms = ["Windows", "Linux", "Mac OS-X", "Unix", "Solaris"],
-    zip_safe = False,
+    zip_safe = True,
     **config
 )

In your patch you have:

     def run(self):
-        build_tvtk_classes_zip()
+#        build_tvtk_classes_zip()
         build.build.run(self)
-        self.run_command('gen_docs')
-        try:
-            self.run_command('build_docs')
-        except:
-            log.warn("Couldn't build documentation:\n%s" %
-                     traceback.format_exception(*sys.exc_info()))
+#        self.run_command('gen_docs')
+#        try:
+#            self.run_command('build_docs')
+#        except:
+#            log.warn("Couldn't build documentation:\n%s" %
+#                     traceback.format_exception(*sys.exc_info()))

Wich basically means that MyBuild execute only "build.build.run(self)" the build function call from numpy distutils. I achieve the same result more economically with:

-        'build': MyBuild,

As it suppress the override with MyBuild. 

The stuff you put in mayavi-4.2.0 for building the doc will reliably fail with the same message than in bug #445782 because your call to build_docs is not done in virtualx. Actually I tried to have ${PYTHON} be the virtualmake command but that didn't, work anyone knows how to achieve that?

Anyway I am attaching a small diff for the ebuild to restore 4.1.0-r1 behavior and a modified doc patch nearly identical to the one i already posted in bug #445782
Comment 7 François Bissey 2012-12-08 10:41:21 UTC
Created attachment 331794 [details, diff]
patch to mayavi-4.2.0 ebuild
Comment 8 François Bissey 2012-12-08 10:41:48 UTC
Created attachment 331796 [details, diff]
better doc patch
Comment 9 François Bissey 2012-12-08 10:44:19 UTC
Now I must say I haven't been able to reproduce your particular error Juerden but I am expecting that the problem will go away because that stuff probably bypass the point where you have trouble. For me it was the previous bug for 4.1.0-r1 all over again.
Comment 10 Juergen Rose 2012-12-21 19:47:25 UTC
After using the patches I could once emerge on one system mayavi-4.2.0, but now it fails again on this and all other systems with:
...
Making output directory...
Running Sphinx v1.1.3
loading pickled environment... not yet created
building [html]: targets for 112 source files that are out of date
updating environment: 112 added, 0 changed, 0 removed
Unable to load library icui18n "Cannot load library icui18n: (icui18n: cannot open shared object file: No such file or directory)"                                                            
QWidget: Must construct a QApplication before a QPaintDevice
make[1]: *** [html] Aborted


Doing several times 'revdep-rebuild', 'python-updater' and 'perl-cleaner --reallyall' did not help.
Comment 11 Juergen Rose 2012-12-21 19:50:46 UTC
root@leopard:/usr/local/portage/sci-visualization(68)#  grep -U2 virtualmake  mayavi/mayavi-4.2.0.ebuild
        distutils_src_compile
        if use doc; then
                virtualmake -C docs html
        fi
}
root@leopard:/usr/local/portage/sci-visualization(69)# cat mayavi/files/mayavi-4.2.0-doc.patch 
--- setup.py.orig       2012-12-08 22:56:32.268449054 +1300
+++ setup.py    2012-12-08 22:58:42.099588659 +1300
@@ -465,10 +465,8 @@
         # Work around a numpy distutils bug by forcing the use of the
         # setuptools' sdist command.
         'sdist': setuptools.command.sdist.sdist,
-        'build': MyBuild,
         'develop': MyDevelop,
         'install_scripts': MyInstallScripts,
-        'install_data': MyInstallData,
         'gen_docs': GenDocs,
         'build_docs': BuildDocs,
         },
@@ -494,6 +492,6 @@
     license = "BSD",
     long_description = '\n'.join(DOCLINES[3:]),
     platforms = ["Windows", "Linux", "Mac OS-X", "Unix", "Solaris"],
-    zip_safe = False,
+    zip_safe = True,
     **config
 )
Comment 12 Juergen Rose 2012-12-21 19:53:39 UTC
Created attachment 332970 [details]
/var/tmp/portage/sci-visualization/mayavi-4.2.0/temp/build.log with patches
Comment 13 Juergen Rose 2012-12-21 19:57:26 UTC
Maybe it is due to a dependence of some library on libicui18n.so.49:

root@leopard:/usr/local/portage/sci-visualization(71)# strace -f emerge -v mayavi 2>&1 | grep icui18n
[pid  1237] lstat("/usr/lib/libicui18n.so.50/libX11.so", 0x7fff130233f0) = -1 ENOTDIR (Not a directory)
[pid  1237] lstat("/usr/lib/libicui18n.so/libX11.so", 0x7fff130233f0) = -1 ENOTDIR (Not a directory)
[pid  1237] lstat("/usr/lib/libicui18n.so.50.1/libX11.so", 0x7fff130233f0) = -1 ENOTDIR (Not a directory)
 (null)*(null) ../../sandbox-2.6/libsandbox/trace.c:_do_ptrace():69: failure (Operation not permitted):
 (null)*(null) ISE:_do_ptrace: ptrace(PTRACE_TRACEME, ..., 0x0000000000000000, 0x0000000000000000): Operation not permitted
 (null)*(null) ../../sandbox-2.6/libsandbox/trace.c:_do_ptrace():69: failure (Operation not permitted):
 (null)*(null) ISE:_do_ptrace: ptrace(PTRACE_TRACEME, ..., 0x0000000000000000, 0x0000000000000000): Operation not permitted
[pid  1268] open("/usr/lib64/libicui18n.so.50", O_RDONLY|O_CLOEXEC) = 11
[pid  1268] open("/lib64/tls/x86_64/libicui18n.so.49", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
[pid  1268] open("/lib64/tls/libicui18n.so.49", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
[pid  1268] open("/lib64/x86_64/libicui18n.so.49", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
[pid  1268] open("/lib64/libicui18n.so.49", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
[pid  1268] open("/usr/lib64/tls/x86_64/libicui18n.so.49", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
[pid  1268] open("/usr/lib64/tls/libicui18n.so.49", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
[pid  1268] open("/usr/lib64/x86_64/libicui18n.so.49", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
[pid  1268] open("/usr/lib64/libicui18n.so.49", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
[pid  1268] open("/lib64/libicui18n", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
[pid  1268] open("/usr/lib64/libicui18n", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
[pid  1268] open("/lib64/icui18n.so.49", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
[pid  1268] open("/usr/lib64/icui18n.so.49", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
[pid  1268] open("/lib64/icui18n", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
[pid  1268] open("/usr/lib64/icui18n", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
[pid  1268] write(2, "Unable to load library icui18n \""..., 132) = 132
[pid   909] <... read resumed> "Unable to load library icui18n \""..., 4096) = 193
[pid   909] write(11, "Unable to load library icui18n \""..., 193Unable to load library icui18n "Cannot load library icui18n: (icui18n: cannot open shared object file: No such file or directory)" 
[pid   909] write(12, "Unable to load library icui18n \""..., 193) = 193
Comment 14 François Bissey 2012-12-23 09:16:56 UTC
I cannot reproduce this so far. You have several bizzare things in that log:

Making output directory...
[01mRunning Sphinx v1.1.3[39;49;00m
[01mloading pickled environment... [39;49;00mnot yet created
[01mbuilding [html]: [39;49;00mtargets for 112 source files that are out of date
[01mupdating environment: [39;49;00m112 added, 0 changed, 0 removed
[01mreading sources... [39;49;00m[  0%] [35madvanced_scripting[39;49;00m                                                                                                 
[01mreading sources... [39;49;00m[  1%] [35madvanced_use[39;49;00m                                                                                                       
[01mreading sources... [39;49;00m[  2%] [35mapi/core_view_objects[39;49;00m                                                                                              
********************************************************************************
WARNING: Imported VTK version (5.1) does not match the one used
         to build the TVTK classes (5.8). This may cause problems.
         Please rebuild TVTK.
********************************************************************************

Unable to load library icui18n "Cannot load library icui18n: (icui18n: cannot open shared object file: No such file or directory)" 
QWidget: Must construct a QApplication before a QPaintDevice
make[1]: *** [html] Aborted
make[1]: Leaving directory `/var/tmp/portage/sci-visualization/mayavi-4.2.0/work/mayavi-4.2.0/docs'
make: *** [html] Error 2
make: Leaving directory `/var/tmp/portage/sci-visualization/mayavi-4.2.0/work/mayavi-4.2.0/docs'

So it is clearly in building the doc. There is the bit about the imported vtk version not matching which we should dig first. 
It looks like mayavi imports itself and because we haven't put PYTHONPATH="." anywhere I am guessing it is trying to import an older installed version of mayavi compiled against vtk-5.8. The other errors may follow from that one.

I would like you to try:
USE="-doc -examples" emerge -uv mayavi
and then if it is successfull try:
emerge -1v mayavi

thanks for your patience Juergen.
Comment 15 Juergen Rose 2012-12-23 15:40:51 UTC
Thanks Francois,

>> USE="-doc -examples" emerge -uv mayavi
>> and then if it is successfull try:
>> emerge -1v mayavi


In the second step I got several "ImportError: TVTK not built properly. Unable to find either a directory: /usr/lib64/python2.7/site-packages/tvtk/tvtk_classes or a file: /usr/lib64/python2.7/site-packages/tvtk/tvtk_classes.zip with the TVTK classes.
Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/sphinx/ext/autodoc.py", line 321, in import_object
    __import__(self.modname)
  File "/usr/lib64/python2.7/site-packages/mayavi/core/api.py", line 5, in <module>
    from .pipeline_base import PipelineBase
  File "/usr/lib64/python2.7/site-packages/mayavi/core/pipeline_base.py", line 13, in <module>
    from mayavi.core.base import Base
  File "/usr/lib64/python2.7/site-packages/mayavi/core/base.py", line 19, in <module>
    from tvtk.pyface.tvtk_scene import TVTKScene
  File "/usr/lib64/python2.7/site-packages/tvtk/pyface/tvtk_scene.py", line 17, in <module>
    from tvtk.api import tvtk
  File "/usr/lib64/python2.7/site-packages/tvtk/api.py", line 11, in <module>
    from tvtk.tvtk_access import tvtk
  File "/usr/lib64/python2.7/site-packages/tvtk/tvtk_access.py", line 30, in <module>
    "with the TVTK classes." % (tvtk_class_dir, _zip) )", but nevertheless 'emerge' came to the regular end. For these TVTK errors, I will again attach the new build.log file
Comment 16 Juergen Rose 2012-12-23 15:43:12 UTC
Created attachment 333138 [details]
the new /var/tmp/portage/sci-visualization/mayavi-4.2.0/temp/build.log
Comment 17 François Bissey 2012-12-23 17:48:29 UTC
I fully expect those. They shouldn't be harmful - you can prove me wrong on that. Now that we have identified the fact that maya I imports itself in the install process we may find some other solutions that take care of this particular bit.
Comment 18 François Bissey 2012-12-24 09:48:21 UTC
That's fairly foobar unless you emerge the ebuild twice in a row. I cannot quite get ride of:

ImportError: TVTK not built properly. Unable to find either a directory: /usr/lib64/python2.7/site-packages/tvtk/tvtk_classes or a file: /usr/lib64/python2.7/site-packages/tvtk/tvtk_classes.zip with the TVTK classes.

Note that it is saying it looks for the zip file in a system location. I can get the file to install so it would be  ok in two passes but that's not satisfactory. I am guessing we get the system location call because it failed to find it in the build location beforehand. Which is normal since it is not copied to the buid location. The whole point of the MyInstallData function in setup.py is to get it installed separately of the rest. 

I may have one or two more ideas to make it behave in my bag.
Comment 19 François Bissey 2012-12-27 09:32:14 UTC
I am starting to wonder if the building of the docs without any of these warnings has ever been possible. The more I dig the more it look like the html doc (and all the other docs format that can be produced) would benefit from being in its own separate ebuild that "DEPEND"s on the mayavi ebuild.
I managed to get it to build the doc using the source rather than an install but I get this instead:
Running Sphinx v1.1.3
loading pickled environment... not yet created
building [html]: targets for 112 source files that are out of date
updating environment: 112 added, 0 changed, 0 removed
reading sources... [  0%] advanced_scripting                                                                      
reading sources... [  1%] advanced_use                                                                            
reading sources... [  2%] api/core_view_objects                                                                   
Xlib:  extension "RANDR" missing on display ":1".
Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/sphinx/ext/autodoc.py", line 321, in import_object
    __import__(self.modname)
  File "/scratch/portage/sci-visualization/mayavi-4.2.0-r1/work/mayavi-4.2.0/mayavi/core/ui/api.py", line 1, in <module>
    from mayavi.tools.mlab_scene_model import MlabSceneModel
  File "/scratch/portage/sci-visualization/mayavi-4.2.0-r1/work/mayavi-4.2.0/mayavi/tools/mlab_scene_model.py", line 8, in <module>
    from tvtk.pyface.scene_model import SceneModel
  File "/scratch/portage/sci-visualization/mayavi-4.2.0-r1/work/mayavi-4.2.0/tvtk/pyface/scene_model.py", line 20, in <module>
    from tvtk.pyface.tvtk_scene import TVTKScene
  File "/scratch/portage/sci-visualization/mayavi-4.2.0-r1/work/mayavi-4.2.0/tvtk/pyface/tvtk_scene.py", line 24, in <module>
    from tvtk.pyface import light_manager
  File "/scratch/portage/sci-visualization/mayavi-4.2.0-r1/work/mayavi-4.2.0/tvtk/pyface/light_manager.py", line 130, in <module>
    class CameraLight(HasTraits):
  File "/scratch/portage/sci-visualization/mayavi-4.2.0-r1/work/mayavi-4.2.0/tvtk/pyface/light_manager.py", line 146, in CameraLight
    source = Instance(tvtk.Light, ())
  File "tvtk_classes/tvtk_helper.py", line 223, in <lambda>
    Light = property(lambda self: get_class('Light'))
  File "tvtk_classes/tvtk_helper.py", line 36, in get_class
    mod = get_module(fname)
  File "tvtk_classes/tvtk_helper.py", line 28, in get_module
    mod = __import__('tvtk.tvtk_classes.%s'%fname, globals(), locals(), [fname])
  File "tvtk_classes/light.py", line 10, in <module>
  File "/scratch/portage/sci-visualization/mayavi-4.2.0-r1/work/mayavi-4.2.0/tvtk/array_handler.py", line 29, in <module>
    from tvtk.array_ext import set_id_type_array
ImportError: No module named array_ext

The ImportError being repeated multiple times. This is because tvtk.array_ext is an extension (i.e. a shared object rather than python script) so you need PYTHONPATH to point to the build directory rather than the source directory. Once you do that and copy 4 other data files that are not moved from the source directory you get to the dreaded:
Running Sphinx v1.1.3
loading pickled environment... not yet created
building [html]: targets for 112 source files that are out of date
updating environment: 112 added, 0 changed, 0 removed
Xlib:  extension "RANDR" missing on display ":1".                                                                                            
QWidget: Must construct a QApplication before a QPaintDevice
make[1]: *** [html] Aborted

From that I am not even sure you could build the documentation without some warnings indicating potential problems in two passes (emerge twice) - it may actually break at the second pass.
Comment 20 Benda Xu gentoo-dev 2017-07-03 06:18:25 UTC
The attached patch has been included in tree, and at least mayavi-4.4.2 from science overlay works.  I think we can close this bug.
Comment 21 Benda Xu gentoo-dev 2017-07-03 08:33:27 UTC
mayavi-4.5.0 is now in tree.