Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 445782 - sci-visualization/mayavi-4.1.0-r1[doc]: Unable to access the X Display, is $DISPLAY set properly?
Summary: sci-visualization/mayavi-4.1.0-r1[doc]: Unable to access the X Display, is $D...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Science Related Packages
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-12-03 11:56 UTC by Andrey Grozin
Modified: 2012-12-06 15:45 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
full log (mayavi.log,41.10 KB, text/plain)
2012-12-05 16:02 UTC, Andrey Grozin
Details
patch to disable automatic building of the documentation (mayavi-4.1.0-disable-doc.patch,501 bytes, patch)
2012-12-05 22:28 UTC, François Bissey
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Andrey Grozin gentoo-dev 2012-12-03 11:56:38 UTC
running build_docs
make -f MakefileMayavi html
make[1]: Entering directory `/var/tmp/portage/sci-visualization/mayavi-4.1.0-r1/work/mayavi-4.1.0/docs'
sphinx-build -b html -d build/mayavi/doctrees   source/mayavi build/mayavi/html
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 access the X Display, is $DISPLAY set properly?                                                                            
make[1]: *** [html] Error 1
make[1]: Leaving directory `/var/tmp/portage/sci-visualization/mayavi-4.1.0-r1/work/mayavi-4.1.0/docs'
make: *** [html] Error 2
 * Scanning for an open DISPLAY to start Xvfb ...
 * Starting Xvfb on $DISPLAY=1 ...
make -j2 -C docs html 
make: Entering directory `/var/tmp/portage/sci-visualization/mayavi-4.1.0-r1/work/mayavi-4.1.0/docs'
make -f MakefileMayavi html
make[1]: Entering directory `/var/tmp/portage/sci-visualization/mayavi-4.1.0-r1/work/mayavi-4.1.0/docs'
make[1]: warning: jobserver unavailable: using -j1.  Add `+' to parent make rule.
sphinx-build -b html -d build/mayavi/doctrees   source/mayavi build/mayavi/html
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".                                                                                    
********************************************************************************
WARNING: Imported VTK version (5.1) does not match the one used
         to build the TVTK classes (5.6). This may cause problems.
         Please rebuild TVTK.
********************************************************************************

QWidget: Must construct a QApplication before a QPaintDevice
make[1]: *** [html] Aborted
make[1]: Leaving directory `/var/tmp/portage/sci-visualization/mayavi-4.1.0-r1/work/mayavi-4.1.0/docs'
make: *** [html] Error 2
make: Leaving directory `/var/tmp/portage/sci-visualization/mayavi-4.1.0-r1/work/mayavi-4.1.0/docs'
 * __helpers_die: WARNING: emake failed
 * ERROR: sci-visualization/mayavi-4.1.0-r1 failed (compile phase):
 *   virtualmake: the emake failed.
Comment 1 Justin Lecher gentoo-dev 2012-12-04 21:10:17 UTC
needs to use virtualx.eclass
Comment 2 Justin Lecher gentoo-dev 2012-12-05 14:15:17 UTC
Could you please attach the full buildlog?
Comment 3 Andrey Grozin gentoo-dev 2012-12-05 16:02:29 UTC
Created attachment 331550 [details]
full log

Probably, it's important that I did emerge on a remote computer via ssh.
Comment 4 François Bissey 2012-12-05 20:41:19 UTC
(In reply to comment #3)
> Created attachment 331550 [details]
> full log
> 
> Probably, it's important that I did emerge on a remote computer via ssh.

Nope, I have it too and I am not logged remotely.
Comment 5 François Bissey 2012-12-05 20:53:45 UTC
I think this may be caused by recent changes in the virtualx eclass:
http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/eclass/virtualx.eclass?r1=1.42&r2=1.43

It does something for EAPI 2 and 3 but not 4 and over. I do not know if it is an oversight or not but mayavi is EAPI 4. So it could definitely be related - I will experiment.
Comment 6 François Bissey 2012-12-05 20:59:11 UTC
Adding EAPI 4 in virtualx did not solve the problem. Yet it is likiely to be caused by an eclass change and virtualx is the most likely candidate.
Comment 7 François Bissey 2012-12-05 21:14:26 UTC
Actually while it would be interesting to know what triggered the current behavior it looks like it happens during the building of the documentation which is controlled by a use flag and use virtualmake properly in the ebuild.
So we have to patch mayavi's compilation to not build the documentation straight away.
Comment 8 François Bissey 2012-12-05 22:13:53 UTC
OK, in setup.py we have by default:
'build': MyBuild, 
that triggers the building of the documentation. Removing it will get us past the current problem but then the the line
'install_data': MyInstallData
lead to a segfault because of wrong permissions:
running install_scripts
Installing tvtk_doc script to /scratch/portage/sci-visualization/mayavi-4.1.0-r1/image/usr/bin
Installing mayavi2 script to /scratch/portage/sci-visualization/mayavi-4.1.0-r1/image/usr/bin
[QCD-nzi3:19719] *** Process received signal ***
[QCD-nzi3:19719] Signal: Segmentation fault (11)
[QCD-nzi3:19719] Signal code: Invalid permissions (2)
[QCD-nzi3:19719] Failing at address: 0x29457e0
[QCD-nzi3:19719] [ 0] /lib64/libpthread.so.0(+0x10bf0) [0x7fc279ca8bf0]
[QCD-nzi3:19719] [ 1] [0x29457e0]
[QCD-nzi3:19719] *** End of error message ***


which I assume is because the MyInstallData function is trying to do something with documentation files that do not exists. Removing the line solve the problem and I am hoping that we don't miss anything if we remove it. I had a look at the MyInstallData function but I am not sure where it goes wrong yet.
Comment 9 François Bissey 2012-12-05 22:28:20 UTC
Created attachment 331574 [details, diff]
patch to disable automatic building of the documentation

Here is a patch that solves the current problem. Note that when generating the documentation with USE=doc there are complaints of files missing and of the TVTK library not being built properly because in the upstream process some zip file would be generated during MyBuild and again during MyInstallData just to make sure. I am not sure how to solve this problem at this stage.
Comment 10 Justin Lecher gentoo-dev 2012-12-06 15:45:22 UTC
+*mayavi-4.2.0 (06 Dec 2012)
+
+  06 Dec 2012; Justin Lecher <jlec@gentoo.org> -mayavi-4.1.0.ebuild,
+  mayavi-4.1.0-r1.ebuild, +mayavi-4.2.0.ebuild, +files/mayavi-4.2.0-doc.patch:
+  Drop old; restrict tests as they are broken, #422951; only build docs with
+  USE=doc and only once, #445782; Version Bump; Add missing Deps
+