Problems with binaries linux - missing python directories ?

Questions about BrainVisa usage and installation

Moderators: denghien, riviere

Post Reply
Yves Roy
Posts: 2
Joined: Mon Mar 29, 2004 7:17 pm
Location: Montreal, Quebec, CANADA
Contact:

Problems with binaries linux - missing python directories ?

Post by Yves Roy »

Bonjour:

Il semble que certains repertoires python manquent dans les archives d' installation pour les binaires de BrainVISA 2.2.3 et 2.3.0:

Pour ftp://ftp.cea.fr/pub/dsv/anatomist/bina ... 2.3.tar.gz

En suivant les etapes d'installation, je retrouve dans le repertoire SHFJ_pack-stable-linux-2.2.3:
bin brainvisa-stable lib README shared
brainvisa include python setup.sh

et dans le repertoire python:
bin lib

*** Donc pas de repertoire include (ou trouver le fichier Python.h)***


Pour ftp://ftp.cea.fr/pub/dsv/anatomist/bina ... 3.0.tar.gz
En suivant les etapes d'installation, je retrouve dans le repertoire SHFJ_pack-stable-linux-2.3.0:
bin brainvisa include lib README setup.py setup.sh share

*** Donc pas de repertoire python ***

Alors, lorsque je tente de d'installer PyMat (puisque j'utilise Matlab6.5, Linux RH9), et de modifier les paths dans le makefile (qui vient avec ftp://ftp.cea.fr/pub/dsv/anatomist/bina ... isa.tar.gz)
je me pose des questions quand vient le temps d'editer les repertoire python:

BRAINVISA = $(HOME)/SHFJ_pack-main-linux-2.2.3

# Python
PYTHON_VERSION=2.2
PYTHON_DIR=$(BRAINVISA)/python ?????
PYTHON_INCLUDE=$(PYTHON_DIR)/include/python$(PYTHON_VERSION) ?????

# Numeric Python module
NUMERIC_INCLUDE=$(PYTHON_DIR)/include/Numeric ?????


# python module install site
PYTHON_MODULE_INSTALL = $(PYTHON_DIR)/lib/python$(PYTHON_VERSION)/site-packages ?????

Merci bien
Yves Roy
Coordonateur Neuro-Informatique du REPRIC
Regroupement Provincial de Recherche en Imagerie Cerebrale
http://www.rsmnq.ca/repric
Manik
Posts: 99
Joined: Fri Mar 05, 2004 1:00 pm
Location: INSERM U836, Grenoble

Post by Manik »

Hello,

the python directory (and include file Python.h) you are looking for is not supposed to be in BrainVisa : it is supposed to be installed on your computer.

You should have Python installed on your system (with the development package) to use BrainVisa. On my computer here, python include files are in /usr/include/python2.2/

If you are running a linux computer, python is probably already installed. If you need to use it on windows, then you should go to http://python.org/ and download it.
Hope that helps.
Manik Bhattacharjee
INSERM U836
User avatar
riviere
Site Admin
Posts: 1361
Joined: Tue Jan 06, 2004 12:21 pm
Location: CEA NeuroSpin, Saint Aubin, France
Contact:

Post by riviere »

Hi,

In fact python is actually included in the distribution, but it changed location between the 2.2.x and 2.3.x packages.

In 2.2 packages, python was in its own directory: SHFJ_pack-something/pyhton and headers were not included in the package because we didn't think they would be useful for users. We were wrong and we now provide them in newer packages.

In 2.3 packages, python is installed in a more unix-like way, this is to say mixed up with other software: headers are in SHFJ_pack-something/include/python2.x, libs are in SHFJ_pack-something/lib/python2.x, and the executable is SHFJ_pack-something/bin/python. This is a mimic of what is done in /usr for a standard python installation.
To compile the matlab module, use the root brainvisa package directory as python directory:

Code: Select all

PYTHON_DIR=$(BRAINVISA)
Contrarily to what Manik said, we don't use the python of the system in binary packages, for several reasons:
  • we can't be 100% sure python is always present on all systems, and without python our packages can't even install correctly and won't run at all (well, this is mostly true for non-linux systems)
  • we provide some python modules that are not part of standard distributions and that are compiled for a specific version of python
  • we want to be sure that the python version matches what we need in our programs: we may use some recent features that need a recent python (we are thinking of using new features of pyhton 2.3 in the next version of brainvisa, and this version of python is not present on most linux distributions)
P.S: we suggest to always post messages in english in the forum (even if you know we understand french better than english) because there are some readers who don't speak french...

Denis
mhough
Posts: 5
Joined: Tue Nov 09, 2004 12:24 pm
Location: Oxford, UK
Contact:

Problems with binaries linux - missing python directories ?

Post by mhough »

Denis,

I have 2.3.2 installed here on Suse 9.0 w/ Python 2.3. Should I have Python include files in SHFJ_pack-something/include/python2.x?

When I run brainvisa I get:

Inconsistency detected by ld.so: ../sysdeps/generic/dl-tls.c: 72: _dl_next_tls_modid: Assertion `result <= _rtld_local._dl_tls_max_dtv_idx' failed!

Is this because the binaries were built with Python 2.2?

Thanks in advance for your help.

Cheers,

-Morgan

--
Morgan Hough DPhil student
FMRIB, John Radcliffe Hospital, Headington, Oxford OX3 9DU, UK
mhough@fmrib.ox.ac.uk http://www.fmrib.ox.ac.uk/~mhough
tel +44 (0) 1865 222545 fax +44 (0) 1865 222717
User avatar
riviere
Site Admin
Posts: 1361
Joined: Tue Jan 06, 2004 12:21 pm
Location: CEA NeuroSpin, Saint Aubin, France
Contact:

Post by riviere »

Hi Morgan,

Well, Python should be entirely included in BrainVisa distribution. It's a python 2.2 (our stable packs are bult on an old RedHat 7.3 distribution). But it should not interfere with the python of the system. It runs well on newer RedHat and Mandrake distributions, I have not tried Suse for several years, and I have never seen the problem you have here... It looks like if the dynamic loader of your system (Suse) can't load some libraries built on RedHat 7.3, I am surprised...
Have you tried the development package (it is built on a RedHat 9 system, still using python 2.2 but with more recent libc and dynamic linker) ?
I'm not sure the problem is related to python, but you can also check if there is not a mix between the python of our distribution, and the one of the system: check that PYTHONPATH environment variable is not set (PYTHONHOME is set by the path scripts of our package to use the python of the package).
Does Anatomist alone work ?

On the current 2.3.2 package for linux, there was a bug in our packager program and python includes seem not to be included (I have just checked), but they should be there when we make an update.

Denis
mhough
Posts: 5
Joined: Tue Nov 09, 2004 12:24 pm
Location: Oxford, UK
Contact:

python issue?

Post by mhough »

Denis,

Thanks for the help. Yes, it is a strange one. It is working on other people's SuSE boxes here so it is something about my system. Anatomist seems to be working fine. Its just brainvisa for some reason. Any thoughts you have are appreciated.

Cheers,

-Morgan

--
Morgan Hough DPhil student
FMRIB, John Radcliffe Hospital, Headington, Oxford OX3 9DU, UK
mhough@fmrib.ox.ac.uk http://www.fmrib.ox.ac.uk/~mhough
tel +44 (0) 1865 222545 fax +44 (0) 1865 222717
User avatar
riviere
Site Admin
Posts: 1361
Joined: Tue Jan 06, 2004 12:21 pm
Location: CEA NeuroSpin, Saint Aubin, France
Contact:

Post by riviere »

You can check if the python included in our package runs alone on your system or not, by calling it in the bin/ directory.
There is an incompatibility somewhere, but where exactly...?

Denis
Post Reply