Closed Helveg closed 4 years ago
I herewith confirm that I could reproduce the behaviour with your script. On the other hand, I am unable to reproduce the error using Python3.8.1 using our travis build script
Hmm, I'll just steal yours then ;p
Please let me know how it goes :-)
Your Travis pipeline is rather extensive, it is probably the code in extras/travis_build.sh
that I'm looking for, right?
before_script:
# Change directory back to the NEST source code directory.
- cd $SOURCEDIR
- chmod +x extras/travis_build.sh
More specifically, the python setup https://github.com/nest/nest-simulator/blob/aa894c19c9de145de1579729a3f5750cbba33cc3/extras/travis_build.sh#L227-L235
I'm assuming I can leave out the 2 last matplotlib lines? I'd then end up with the following script:
PYTHON_INCLUDE_DIR=`python3 -c "import sysconfig; print(sysconfig.get_path('include'))"`
PYLIB_BASE=lib`basename $PYTHON_INCLUDE_DIR`
PYLIB_DIR=$(dirname `sed 's/include/lib/' <<< $PYTHON_INCLUDE_DIR`)
PYTHON_LIBRARY=`find $PYLIB_DIR \( -name $PYLIB_BASE.so -o -name $PYLIB_BASE.dylib \) -print -quit`
echo "--> Detected PYTHON_LIBRARY=$PYTHON_LIBRARY"
echo "--> Detected PYTHON_INCLUDE_DIR=$PYTHON_INCLUDE_DIR"
CONFIGURE_PYTHON="-DPYTHON_LIBRARY=$PYTHON_LIBRARY -DPYTHON_INCLUDE_DIR=$PYTHON_INCLUDE_DIR"
cmake \
-DCMAKE_INSTALL_PREFIX="$HOME/nest-install \
-Dwith-mpi=ON \
$CONFIGURE_PYTHON \
..
Does that look about correct? I'll try this and let you know
Yes, right. It is the correct script.
There were some other errors so I can't give the final yes/no, but it doesn't look good:
# Travis activating python 3.8
$ source ~/virtualenv/python3.8/bin/activate
$ python --version
Python 3.8.1
# The output of the attempt to locate python include & lib
--> Detected PYTHON_LIBRARY=
--> Detected PYTHON_INCLUDE_DIR=/home/travis/virtualenv/python3.8.1/include/python3.8
No library? =/
Update: Asked it to print every variable in your script:
Include dir: /home/travis/virtualenv/python3.8.1/include/python3.8
Pylib base: libpython3.8
Pylib dir: /home/travis/virtualenv/python3.8.1/lib
--> Detected PYTHON_LIBRARY=
--> Detected PYTHON_INCLUDE_DIR=/home/travis/virtualenv/python3.8.1/include/python3.8
(I suppose I'm looking for libpython3.8.so
somewhere right?)
I used find / -type f -name libpy*.so
and found the right libs in /opt/
somewhere, hardcoded that path into PYTHON_LIBRARY
and everything builds :)
Describe the bug During the build it reports
Python.h
is missing. This was not the case on other versions. CMake also reports that it can find the Python interpreter, includes and libs. I also installedpython3.8-dev
(which should include Python.h) to be sure.To Reproduce Steps to reproduce the behavior:
Expected behavior A succesful build :)
Desktop/Environment (please complete the following information):
Additional context Build log: