nest / nest-simulator

The NEST simulator
http://www.nest-simulator.org
GNU General Public License v2.0
536 stars 364 forks source link

Can't build NEST with Python 3.8 on Travis CI #1752

Closed Helveg closed 4 years ago

Helveg commented 4 years ago

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 installed python3.8-dev (which should include Python.h) to be sure.

To Reproduce Steps to reproduce the behavior:

  1. Run the following script on Travis CI (Ubuntu 18.04, Python 3.8):
export NEST_VERSION=2.18.0
sudo apt-get install -y python3-rtree python3.8-dev build-essential cmake cython libgsl-dev libltdl-dev libncurses-dev libreadline-dev openmpi-bin libopenmpi-dev
cd /home/travis
wget https://github.com/nest/nest-simulator/archive/v$NEST_VERSION.tar.gz -O nest-simulator-$NEST_VERSION.tar.gz
tar -xzf nest-simulator-$NEST_VERSION.tar.gz
mkdir nest-simulator-$NEST_VERSION-build
mkdir nest-install-$NEST_VERSION
cd nest-simulator-$NEST_VERSION-build
cmake \
  -Dwith-python=3 \
  -DPYTHON_EXECUTABLE=/home/travis/virtualenv/python3.8.1/bin/python3 \
  -DPYTHON_LIBRARY=/opt/python/3.8.1/lib/libpython3.8m.so \
  -DPYTHON_INCLUDE_DIR=/opt/python/3.8.1/include/python3.8m/ \
  -DCMAKE_INSTALL_PREFIX:PATH=/home/travis/nest-$NEST_VERSION \
  /home/travis/nest-simulator-$NEST_VERSION
make
make install

Expected behavior A succesful build :)

Desktop/Environment (please complete the following information):

Additional context Build log:

-- The CXX compiler identification is GNU 7.5.0
-- The C compiler identification is GNU 7.5.0
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) 
-- Looking for include file inttypes.h
-- Looking for include file inttypes.h - found
-- Looking for include file mach-o/dyld.h
-- Looking for include file mach-o/dyld.h - not found
-- Looking for include file mach/mach.h
-- Looking for include file mach/mach.h - not found
-- Looking for include file memory.h
-- Looking for include file memory.h - found
-- Looking for include file stdint.h
-- Looking for include file stdint.h - found
-- Looking for include file sys/types.h
-- Looking for include file sys/types.h - found
-- Looking for C++ include istream
-- Looking for C++ include istream - found
-- Looking for C++ include ostream
-- Looking for C++ include ostream - found
-- Looking for C++ include sstream
-- Looking for C++ include sstream - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of long long
-- Check size of long long - done
-- Check size of u_int16_t
-- Check size of u_int16_t - done
-- Check size of uint16_t
-- Check size of uint16_t - done
-- Check size of u_int64_t
-- Check size of u_int64_t - done
-- Check size of uint64_t
-- Check size of uint64_t - done
-- Looking for NAN
-- Looking for NAN - found
-- Looking for isnan
-- Looking for isnan - found
-- Looking for M_E
-- Looking for M_E - found
-- Looking for M_PI
-- Looking for M_PI - found
-- Looking for expm1
-- Looking for expm1 - not found
-- Host triple: x86_64-pc-linux
-- Target triple: x86_64-pc-linux
-- Found LTDL: /usr/lib/x86_64-linux-gnu/libltdl.so  
-- Found Readline: /usr/lib/x86_64-linux-gnu/libreadline.so (found version "7.0") 
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1") 
-- Found GSL: /usr/include (found version "2.4") 
-- Found PythonInterp: /home/travis/virtualenv/python3.8.1/bin/python3 (found suitable version "3.8.1", minimum required is "3") 
-- Found PythonLibs: /opt/python/3.8.1/lib/libpython3.8m.so (Required is exact version "3.8.1") 
-- Found PythonInterp: /home/travis/virtualenv/python3.8.1/bin/python3 (found version "3.8.1") 
-- Found Cython: /usr/bin/cython (found version "0.26.1") 
-- Found OpenMP_C: -fopenmp (found version "4.5") 
-- Found OpenMP_CXX: -fopenmp (found version "4.5") 
-- Found OpenMP: TRUE (found version "4.5")  
-- Check the abort exitcode.
-- Check the abort exitcode. 134
-- Check the segmentation fault exitcode.
-- Check the segmentation fault exitcode. 139
-- Check whether the compiler ignores cmath makros.
-- Check whether the compiler ignores cmath makros. OFF
-- Check whether the compiler does NOT include <*.h> headers ISO conformant.
-- Check whether the compiler does NOT include <*.h> headers ISO conformant. OFF
-- Check whether the compiler respects symbolic signal names in signal.h.
-- Check whether the compiler respects symbolic signal names in signal.h. OFF
-- Check static template member declaration.
-- Check static template member declaration. OFF
-- Check for STL vector capacity base unity.
-- Check for STL vector capacity base unity. ON
-- Check for STL vector capacity doubling strategy.
-- Check for STL vector capacity doubling strategy. ON
-- Check whether the compiler fails with ICE.
-- Check whether the compiler fails with ICE. OFF
-- Check if ::nan is available from cmath.
-- Check if ::nan is available from cmath. ON
-- Check if ::isnan is available from cmath.
-- Check if ::isnan is available from cmath. ON
fatal: not a git repository (or any of the parent directories): .git
fatal: not a git repository (or any of the parent directories): .git
-- NEST version: nest-2.18.0
-- Found PythonLibs: /opt/python/3.8.1/lib/libpython3.8m.so  
--------------------------------------------------------------------------------
NEST Configuration Summary
--------------------------------------------------------------------------------
Build type          : 
Target System       : Linux
Cross Compiling     : FALSE
C compiler          : /usr/bin/cc
C compiler flags    :  -O2 -Wall -fopenmp -fdiagnostics-color=auto
C++ compiler        : /usr/bin/c++
C++ compiler flags  :  -std=c++11 -O2 -Wall -fopenmp -fdiagnostics-color=auto
Build dynamic       : ON
Built-in modules    : models;precise;topology
User modules        : None
Python bindings     : Yes (Python 3.8.1: /home/travis/virtualenv/python3.8.1/bin/python3)
       Includes     : /opt/python/3.8.1/include/python3.8m
       Libraries    : /opt/python/3.8.1/lib/libpython3.8m.so
Cython bindings     : Yes (Cython 0.26.1: /usr/bin/cython)
Use threading       : Yes (OpenMP: -fopenmp)
Use GSL             : Yes (GSL 2.4)
    Includes        : /usr/include
    Libraries       : /usr/lib/x86_64-linux-gnu/libgsl.so;/usr/lib/x86_64-linux-gnu/libgslcblas.so
Use Readline        : Yes (GNU Readline 7.0)
    Includes        : /usr/include
    Libraries       : /usr/lib/x86_64-linux-gnu/libreadline.so;/usr/lib/x86_64-linux-gnu/libncurses.so
Use libltdl         : Yes (LTDL )
    Includes        : /usr/include
    Libraries       : /usr/lib/x86_64-linux-gnu/libltdl.so
Use doxygen         : No
Use MPI             : No
Use MUSIC           : No
Use libneurosim     : No
Use Boost           : No
--------------------------------------------------------------------------------
The NEST executable will be installed to:
  /home/travis/nest-2.18.0/bin/
Documentation and examples will be installed to:
  /home/travis/nest-2.18.0/share/doc/nest/
PyNEST will be installed to:
    /home/travis/nest-2.18.0/lib/python3.8/site-packages
To set necessary environment variables, add the following line
to your ~/.bashrc :
  source /home/travis/nest-2.18.0/bin/nest_vars.sh
--------------------------------------------------------------------------------
You can now build and install NEST with
  make
  make install
  make installcheck
If you experience problems with the installation or the use of NEST,
please see https://www.nest-simulator.org/frequently_asked_questions
or go to https://www.nest-simulator.org/community to find out how to
join the user mailing list.
-- Configuring done
-- Generating done
-- Build files have been written to: /home/travis/nest-simulator-2.18.0-build
Scanning dependencies of target nestutil
[  0%] Building CXX object libnestutil/CMakeFiles/nestutil.dir/logging_event.cpp.o
[  1%] Building CXX object libnestutil/CMakeFiles/nestutil.dir/numerics.cpp.o
[  1%] Building CXX object libnestutil/CMakeFiles/nestutil.dir/propagator_stability.cpp.o
[  1%] Building CXX object libnestutil/CMakeFiles/nestutil.dir/stopwatch.cpp.o
[  2%] Linking CXX shared library libnestutil.so
[  2%] Built target nestutil
Scanning dependencies of target sli_lib
[  2%] Building CXX object sli/CMakeFiles/sli_lib.dir/allocator.cpp.o
[  3%] Building CXX object sli/CMakeFiles/sli_lib.dir/arraydatum.cc.o
[  3%] Building CXX object sli/CMakeFiles/sli_lib.dir/booldatum.cc.o
[  4%] Building CXX object sli/CMakeFiles/sli_lib.dir/charcode.cc.o
[  4%] Building CXX object sli/CMakeFiles/sli_lib.dir/datum.cc.o
[  4%] Building CXX object sli/CMakeFiles/sli_lib.dir/dict.cc.o
[  5%] Building CXX object sli/CMakeFiles/sli_lib.dir/dictdatum.cc.o
[  5%] Building CXX object sli/CMakeFiles/sli_lib.dir/dictstack.cc.o
[  6%] Building CXX object sli/CMakeFiles/sli_lib.dir/dictutils.cc.o
[  6%] Building CXX object sli/CMakeFiles/sli_lib.dir/doubledatum.cc.o
[  6%] Building CXX object sli/CMakeFiles/sli_lib.dir/fdstream.cc.o
[  7%] Building CXX object sli/CMakeFiles/sli_lib.dir/filesystem.cc.o
[  7%] Building CXX object sli/CMakeFiles/sli_lib.dir/functiondatum.cc.o
[  8%] Building C object sli/CMakeFiles/sli_lib.dir/get_mem.c.o
[  8%] Building CXX object sli/CMakeFiles/sli_lib.dir/integerdatum.cc.o
[  8%] Building CXX object sli/CMakeFiles/sli_lib.dir/interpret.cc.o
[  9%] Building CXX object sli/CMakeFiles/sli_lib.dir/iostreamdatum.cc.o
[  9%] Building CXX object sli/CMakeFiles/sli_lib.dir/iteratordatum.cc.o
[ 10%] Building CXX object sli/CMakeFiles/sli_lib.dir/literaldatum.cc.o
[ 10%] Building CXX object sli/CMakeFiles/sli_lib.dir/name.cc.o
[ 10%] Building CXX object sli/CMakeFiles/sli_lib.dir/slinames.cpp.o
[ 11%] Building CXX object sli/CMakeFiles/sli_lib.dir/namedatum.cc.o
[ 11%] Building CXX object sli/CMakeFiles/sli_lib.dir/oosupport.cc.o
[ 12%] Building CXX object sli/CMakeFiles/sli_lib.dir/parser.cc.o
[ 12%] Building CXX object sli/CMakeFiles/sli_lib.dir/processes.cc.o
[ 12%] Building C object sli/CMakeFiles/sli_lib.dir/psignal.c.o
[ 13%] Building CXX object sli/CMakeFiles/sli_lib.dir/scanner.cc.o
[ 13%] Building CXX object sli/CMakeFiles/sli_lib.dir/sli_io.cc.o
[ 13%] Building CXX object sli/CMakeFiles/sli_lib.dir/sliactions.cc.o
[ 14%] Building CXX object sli/CMakeFiles/sli_lib.dir/sliarray.cc.o
[ 14%] Building CXX object sli/CMakeFiles/sli_lib.dir/slibuiltins.cc.o
[ 15%] Building CXX object sli/CMakeFiles/sli_lib.dir/slicontrol.cc.o
[ 15%] Building CXX object sli/CMakeFiles/sli_lib.dir/slidata.cc.o
[ 15%] Building CXX object sli/CMakeFiles/sli_lib.dir/slidict.cc.o
[ 16%] Building CXX object sli/CMakeFiles/sli_lib.dir/sliexceptions.cc.o
[ 16%] Building CXX object sli/CMakeFiles/sli_lib.dir/sligraphics.cc.o
[ 17%] Building CXX object sli/CMakeFiles/sli_lib.dir/slimath.cc.o
[ 17%] Building CXX object sli/CMakeFiles/sli_lib.dir/slimodule.cc.o
[ 17%] Building CXX object sli/CMakeFiles/sli_lib.dir/sliregexp.cc.o
[ 18%] Building CXX object sli/CMakeFiles/sli_lib.dir/slistack.cc.o
[ 18%] Building CXX object sli/CMakeFiles/sli_lib.dir/slistartup.cc.o
[ 19%] Building CXX object sli/CMakeFiles/sli_lib.dir/slitype.cc.o
[ 19%] Building CXX object sli/CMakeFiles/sli_lib.dir/slitypecheck.cc.o
[ 19%] Building CXX object sli/CMakeFiles/sli_lib.dir/specialfunctionsmodule.cc.o
[ 20%] Building CXX object sli/CMakeFiles/sli_lib.dir/stringdatum.cc.o
[ 20%] Building CXX object sli/CMakeFiles/sli_lib.dir/symboldatum.cc.o
[ 21%] Building CXX object sli/CMakeFiles/sli_lib.dir/tarrayobj.cc.o
[ 21%] Building CXX object sli/CMakeFiles/sli_lib.dir/token.cc.o
[ 21%] Building CXX object sli/CMakeFiles/sli_lib.dir/tokenarray.cc.o
[ 22%] Building CXX object sli/CMakeFiles/sli_lib.dir/tokenstack.cc.o
[ 22%] Building CXX object sli/CMakeFiles/sli_lib.dir/tokenutils.cc.o
[ 23%] Building CXX object sli/CMakeFiles/sli_lib.dir/triedatum.cc.o
[ 23%] Building CXX object sli/CMakeFiles/sli_lib.dir/typechk.cc.o
[ 23%] Building CXX object sli/CMakeFiles/sli_lib.dir/utils.cc.o
[ 24%] Linking CXX shared library libsli.so
[ 24%] Built target sli_lib
Scanning dependencies of target random
[ 25%] Building CXX object librandom/CMakeFiles/random.dir/binomial_randomdev.cpp.o
[ 25%] Building CXX object librandom/CMakeFiles/random.dir/exp_randomdev.cpp.o
[ 26%] Building CXX object librandom/CMakeFiles/random.dir/gamma_randomdev.cpp.o
[ 26%] Building CXX object librandom/CMakeFiles/random.dir/gsl_binomial_randomdev.cpp.o
[ 26%] Building CXX object librandom/CMakeFiles/random.dir/gslrandomgen.cpp.o
[ 27%] Building CXX object librandom/CMakeFiles/random.dir/knuthlfg.cpp.o
[ 27%] Building CXX object librandom/CMakeFiles/random.dir/librandom_names.cpp.o
[ 27%] Building CXX object librandom/CMakeFiles/random.dir/lognormal_randomdev.cpp.o
[ 28%] Building CXX object librandom/CMakeFiles/random.dir/mt19937.cpp.o
[ 28%] Building CXX object librandom/CMakeFiles/random.dir/normal_randomdev.cpp.o
[ 29%] Building CXX object librandom/CMakeFiles/random.dir/poisson_randomdev.cpp.o
[ 29%] Building CXX object librandom/CMakeFiles/random.dir/random.cpp.o
[ 29%] Building CXX object librandom/CMakeFiles/random.dir/random_numbers.cpp.o
[ 30%] Building CXX object librandom/CMakeFiles/random.dir/randomdev.cpp.o
[ 30%] Building CXX object librandom/CMakeFiles/random.dir/randomgen.cpp.o
[ 31%] Building CXX object librandom/CMakeFiles/random.dir/uniform_randomdev.cpp.o
[ 31%] Building CXX object librandom/CMakeFiles/random.dir/uniformint_randomdev.cpp.o
[ 31%] Linking CXX shared library librandom.so
[ 31%] Built target random
Scanning dependencies of target randomtest
[ 32%] Building CXX object librandom/CMakeFiles/randomtest.dir/randomtest.cpp.o
[ 32%] Linking CXX executable randomtest
[ 32%] Built target randomtest
Scanning dependencies of target nestkernel
[ 33%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/archiving_node.cpp.o
[ 33%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/clopath_archiving_node.cpp.o
[ 34%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/common_synapse_properties.cpp.o
[ 34%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/completed_checker.cpp.o
[ 34%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/sibling_container.cpp.o
[ 35%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/subnet.cpp.o
[ 35%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/connector_model.cpp.o
[ 36%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/connection_id.cpp.o
[ 36%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/device.cpp.o
[ 36%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/dynamicloader.cpp.o
[ 37%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/event.cpp.o
[ 37%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/exceptions.cpp.o
[ 38%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/gid_collection.cpp.o
[ 38%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/histentry.cpp.o
[ 38%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/model.cpp.o
[ 39%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/model_manager.cpp.o
[ 39%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/nest_datums.cpp.o
[ 40%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/nest_names.cpp.o
[ 40%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/nestmodule.cpp.o
[ 40%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/nest_time.cpp.o
[ 41%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/nest_timeconverter.cpp.o
[ 41%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/modelrange.cpp.o
[ 42%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/modelrange_manager.cpp.o
[ 42%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/multirange.cpp.o
[ 42%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/node.cpp.o
[ 43%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/nodelist.cpp.o
[ 43%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/proxynode.cpp.o
[ 44%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/recording_device.cpp.o
[ 44%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/ring_buffer.cpp.o
[ 44%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/spikecounter.cpp.o
[ 45%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/sparse_node_array.cpp.o
[ 45%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/conn_parameter.cpp.o
[ 46%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/conn_builder.cpp.o
[ 46%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/music_event_handler.cpp.o
[ 46%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/music_manager.cpp.o
[ 47%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/nest.cpp.o
[ 47%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/synaptic_element.cpp.o
[ 47%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/growth_curve.cpp.o
[ 48%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/kernel_manager.cpp.o
[ 48%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/vp_manager.cpp.o
[ 49%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/io_manager.cpp.o
[ 49%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/mpi_manager.cpp.o
[ 49%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/simulation_manager.cpp.o
[ 50%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/connection_manager.cpp.o
[ 50%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/sp_manager.cpp.o
[ 51%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/delay_checker.cpp.o
[ 51%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/rng_manager.cpp.o
[ 51%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/event_delivery_manager.cpp.o
[ 52%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/node_manager.cpp.o
[ 52%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/logging_manager.cpp.o
[ 53%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/target_table.cpp.o
[ 53%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/target_table_devices.cpp.o
[ 53%] Building CXX object nestkernel/CMakeFiles/nestkernel.dir/source_table.cpp.o
[ 54%] Linking CXX shared library libnestkernel.so
[ 54%] Built target nestkernel
Scanning dependencies of target models
[ 54%] Building CXX object models/CMakeFiles/models.dir/ac_generator.cpp.o
[ 55%] Building CXX object models/CMakeFiles/models.dir/aeif_cond_alpha.cpp.o
[ 55%] Building CXX object models/CMakeFiles/models.dir/aeif_cond_alpha_RK5.cpp.o
[ 55%] Building CXX object models/CMakeFiles/models.dir/aeif_cond_alpha_multisynapse.cpp.o
[ 56%] Building CXX object models/CMakeFiles/models.dir/aeif_cond_beta_multisynapse.cpp.o
[ 56%] Building CXX object models/CMakeFiles/models.dir/aeif_cond_exp.cpp.o
[ 57%] Building CXX object models/CMakeFiles/models.dir/aeif_psc_alpha.cpp.o
[ 57%] Building CXX object models/CMakeFiles/models.dir/aeif_psc_exp.cpp.o
[ 57%] Building CXX object models/CMakeFiles/models.dir/aeif_psc_delta.cpp.o
[ 58%] Building CXX object models/CMakeFiles/models.dir/aeif_psc_delta_clopath.cpp.o
[ 58%] Building CXX object models/CMakeFiles/models.dir/amat2_psc_exp.cpp.o
[ 59%] Building CXX object models/CMakeFiles/models.dir/correlation_detector.cpp.o
[ 59%] Building CXX object models/CMakeFiles/models.dir/correlomatrix_detector.cpp.o
[ 59%] Building CXX object models/CMakeFiles/models.dir/correlospinmatrix_detector.cpp.o
[ 60%] Building CXX object models/CMakeFiles/models.dir/dc_generator.cpp.o
[ 60%] Building CXX object models/CMakeFiles/models.dir/erfc_neuron.cpp.o
[ 61%] Building CXX object models/CMakeFiles/models.dir/gamma_sup_generator.cpp.o
[ 61%] Building CXX object models/CMakeFiles/models.dir/gauss_rate.cpp.o
[ 61%] Building CXX object models/CMakeFiles/models.dir/gif_psc_exp.cpp.o
[ 62%] Building CXX object models/CMakeFiles/models.dir/gif_psc_exp_multisynapse.cpp.o
[ 62%] Building CXX object models/CMakeFiles/models.dir/gif_cond_exp.cpp.o
[ 63%] Building CXX object models/CMakeFiles/models.dir/gif_cond_exp_multisynapse.cpp.o
[ 63%] Building CXX object models/CMakeFiles/models.dir/gif_pop_psc_exp.cpp.o
[ 63%] Building CXX object models/CMakeFiles/models.dir/ginzburg_neuron.cpp.o
[ 64%] Building CXX object models/CMakeFiles/models.dir/hh_cond_exp_traub.cpp.o
[ 64%] Building CXX object models/CMakeFiles/models.dir/hh_cond_beta_gap_traub.cpp.o
[ 65%] Building CXX object models/CMakeFiles/models.dir/hh_psc_alpha.cpp.o
[ 65%] Building CXX object models/CMakeFiles/models.dir/hh_psc_alpha_clopath.cpp.o
[ 65%] Building CXX object models/CMakeFiles/models.dir/hh_psc_alpha_gap.cpp.o
[ 66%] Building CXX object models/CMakeFiles/models.dir/ht_neuron.cpp.o
[ 66%] Building CXX object models/CMakeFiles/models.dir/iaf_chxk_2008.cpp.o
[ 67%] Building CXX object models/CMakeFiles/models.dir/iaf_chs_2007.cpp.o
[ 67%] Building CXX object models/CMakeFiles/models.dir/iaf_cond_alpha.cpp.o
[ 67%] Building CXX object models/CMakeFiles/models.dir/iaf_cond_alpha_mc.cpp.o
[ 68%] Building CXX object models/CMakeFiles/models.dir/iaf_cond_beta.cpp.o
[ 68%] Building CXX object models/CMakeFiles/models.dir/iaf_cond_exp.cpp.o
[ 69%] Building CXX object models/CMakeFiles/models.dir/iaf_cond_exp_sfa_rr.cpp.o
[ 69%] Building CXX object models/CMakeFiles/models.dir/iaf_psc_alpha.cpp.o
[ 69%] Building CXX object models/CMakeFiles/models.dir/iaf_psc_alpha_multisynapse.cpp.o
[ 70%] Building CXX object models/CMakeFiles/models.dir/iaf_psc_exp_multisynapse.cpp.o
[ 70%] Building CXX object models/CMakeFiles/models.dir/iaf_psc_delta.cpp.o
[ 70%] Building CXX object models/CMakeFiles/models.dir/iaf_psc_exp.cpp.o
[ 71%] Building CXX object models/CMakeFiles/models.dir/iaf_tum_2000.cpp.o
[ 71%] Building CXX object models/CMakeFiles/models.dir/izhikevich.cpp.o
[ 72%] Building CXX object models/CMakeFiles/models.dir/lin_rate.cpp.o
[ 72%] Building CXX object models/CMakeFiles/models.dir/mat2_psc_exp.cpp.o
[ 72%] Building CXX object models/CMakeFiles/models.dir/mcculloch_pitts_neuron.cpp.o
[ 73%] Building CXX object models/CMakeFiles/models.dir/mip_generator.cpp.o
[ 73%] Building CXX object models/CMakeFiles/models.dir/modelsmodule.cpp.o
[ 74%] Building CXX object models/CMakeFiles/models.dir/multimeter.cpp.o
[ 74%] Building CXX object models/CMakeFiles/models.dir/music_cont_in_proxy.cpp.o
[ 74%] Building CXX object models/CMakeFiles/models.dir/music_cont_out_proxy.cpp.o
[ 75%] Building CXX object models/CMakeFiles/models.dir/music_event_in_proxy.cpp.o
[ 75%] Building CXX object models/CMakeFiles/models.dir/music_event_out_proxy.cpp.o
[ 76%] Building CXX object models/CMakeFiles/models.dir/music_message_in_proxy.cpp.o
[ 76%] Building CXX object models/CMakeFiles/models.dir/noise_generator.cpp.o
[ 76%] Building CXX object models/CMakeFiles/models.dir/parrot_neuron.cpp.o
[ 77%] Building CXX object models/CMakeFiles/models.dir/inhomogeneous_poisson_generator.cpp.o
[ 77%] Building CXX object models/CMakeFiles/models.dir/poisson_generator.cpp.o
[ 78%] Building CXX object models/CMakeFiles/models.dir/pp_psc_delta.cpp.o
[ 78%] Building CXX object models/CMakeFiles/models.dir/pp_pop_psc_delta.cpp.o
[ 78%] Building CXX object models/CMakeFiles/models.dir/ppd_sup_generator.cpp.o
[ 79%] Building CXX object models/CMakeFiles/models.dir/pulsepacket_generator.cpp.o
[ 79%] Building CXX object models/CMakeFiles/models.dir/siegert_neuron.cpp.o
[ 80%] Building CXX object models/CMakeFiles/models.dir/sigmoid_rate.cpp.o
[ 80%] Building CXX object models/CMakeFiles/models.dir/sigmoid_rate_gg_1998.cpp.o
[ 80%] Building CXX object models/CMakeFiles/models.dir/sinusoidal_poisson_generator.cpp.o
[ 81%] Building CXX object models/CMakeFiles/models.dir/sinusoidal_gamma_generator.cpp.o
[ 81%] Building CXX object models/CMakeFiles/models.dir/spike_detector.cpp.o
[ 82%] Building CXX object models/CMakeFiles/models.dir/spike_generator.cpp.o
[ 82%] Building CXX object models/CMakeFiles/models.dir/spin_detector.cpp.o
[ 82%] Building CXX object models/CMakeFiles/models.dir/stdp_connection_hom.cpp.o
[ 83%] Building CXX object models/CMakeFiles/models.dir/stdp_dopa_connection.cpp.o
[ 83%] Building CXX object models/CMakeFiles/models.dir/stdp_pl_connection_hom.cpp.o
[ 84%] Building CXX object models/CMakeFiles/models.dir/step_current_generator.cpp.o
[ 84%] Building CXX object models/CMakeFiles/models.dir/step_rate_generator.cpp.o
[ 84%] Building CXX object models/CMakeFiles/models.dir/tanh_rate.cpp.o
[ 85%] Building CXX object models/CMakeFiles/models.dir/threshold_lin_rate.cpp.o
[ 85%] Building CXX object models/CMakeFiles/models.dir/tsodyks_connection_hom.cpp.o
[ 86%] Building CXX object models/CMakeFiles/models.dir/volume_transmitter.cpp.o
[ 86%] Building CXX object models/CMakeFiles/models.dir/weight_recorder.cpp.o
[ 86%] Building CXX object models/CMakeFiles/models.dir/spike_dilutor.cpp.o
[ 87%] Linking CXX shared library libmodels.so
[ 87%] Built target models
Scanning dependencies of target sli_readline
[ 87%] Building CXX object sli/CMakeFiles/sli_readline.dir/gnureadline.cc.o
[ 88%] Linking CXX shared library libsli_readline.so
[ 88%] Built target sli_readline
Scanning dependencies of target sli
[ 89%] Building CXX object sli/CMakeFiles/sli.dir/puresli.cc.o
[ 89%] Linking CXX executable sli
[ 89%] Built target sli
Scanning dependencies of target topology
[ 89%] Building CXX object topology/CMakeFiles/topology.dir/topologymodule.cpp.o
[ 89%] Building CXX object topology/CMakeFiles/topology.dir/topology_names.cpp.o
[ 90%] Building CXX object topology/CMakeFiles/topology.dir/connection_creator.cpp.o
[ 90%] Building CXX object topology/CMakeFiles/topology.dir/layer.cpp.o
[ 91%] Building CXX object topology/CMakeFiles/topology.dir/mask.cpp.o
[ 91%] Building CXX object topology/CMakeFiles/topology.dir/vose.cpp.o
[ 91%] Building CXX object topology/CMakeFiles/topology.dir/topology_parameter.cpp.o
[ 92%] Building CXX object topology/CMakeFiles/topology.dir/selector.cpp.o
[ 93%] Linking CXX shared library libtopology.so
[ 93%] Built target topology
Scanning dependencies of target precise
[ 93%] Building CXX object precise/CMakeFiles/precise.dir/slice_ring_buffer.cpp.o
[ 94%] Building CXX object precise/CMakeFiles/precise.dir/iaf_psc_alpha_ps.cpp.o
[ 94%] Building CXX object precise/CMakeFiles/precise.dir/iaf_psc_delta_ps.cpp.o
[ 94%] Building CXX object precise/CMakeFiles/precise.dir/iaf_psc_alpha_canon.cpp.o
[ 95%] Building CXX object precise/CMakeFiles/precise.dir/iaf_psc_alpha_presc.cpp.o
[ 95%] Building CXX object precise/CMakeFiles/precise.dir/iaf_psc_exp_ps.cpp.o
[ 96%] Building CXX object precise/CMakeFiles/precise.dir/iaf_psc_exp_ps_lossless.cpp.o
[ 96%] Building CXX object precise/CMakeFiles/precise.dir/poisson_generator_ps.cpp.o
[ 96%] Building CXX object precise/CMakeFiles/precise.dir/parrot_neuron_ps.cpp.o
[ 97%] Building CXX object precise/CMakeFiles/precise.dir/precisemodule.cpp.o
[ 97%] Linking CXX shared library libprecise.so
[ 97%] Built target precise
Scanning dependencies of target nest
[ 97%] Building CXX object nest/CMakeFiles/nest.dir/main.cpp.o
[ 97%] Building CXX object nest/CMakeFiles/nest.dir/neststartup.cpp.o
[ 98%] Building CXX object nest/CMakeFiles/nest.dir/sli_neuron.cpp.o
[ 98%] Linking CXX executable nest
[ 98%] Built target nest
Scanning dependencies of target nest_lib
[ 99%] Building CXX object nest/CMakeFiles/nest_lib.dir/neststartup.cpp.o
[ 99%] Building CXX object nest/CMakeFiles/nest_lib.dir/sli_neuron.cpp.o
[ 99%] Linking CXX shared library libnest.so
[ 99%] Built target nest_lib
[100%] Compiling Cython CXX source for pynestkernel...
warning: /home/travis/nest-simulator-2.18.0/pynest/pynestkernel.pyx:689:10: Unreachable code
warning: /home/travis/nest-simulator-2.18.0/pynest/pynestkernel.pyx:689:10: Unreachable code
Scanning dependencies of target pynestkernel
[100%] Building CXX object pynest/CMakeFiles/pynestkernel.dir/pynestkernel.cxx.o
/home/travis/nest-simulator-2.18.0-build/pynest/pynestkernel.cxx:4:10: fatal error: Python.h: No such file or directory
 #include "Python.h"
          ^~~~~~~~~~
compilation terminated.
pynest/CMakeFiles/pynestkernel.dir/build.make:67: recipe for target 'pynest/CMakeFiles/pynestkernel.dir/pynestkernel.cxx.o' failed
make[2]: *** [pynest/CMakeFiles/pynestkernel.dir/pynestkernel.cxx.o] Error 1
CMakeFiles/Makefile2:1125: recipe for target 'pynest/CMakeFiles/pynestkernel.dir/all' failed
make[1]: *** [pynest/CMakeFiles/pynestkernel.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2
[  2%] Built target nestutil
[ 24%] Built target sli_lib
[ 31%] Built target random
[ 32%] Built target randomtest
[ 54%] Built target nestkernel
[ 87%] Built target models
[ 88%] Built target sli_readline
[ 89%] Built target sli
[ 93%] Built target topology
[ 97%] Built target precise
[ 98%] Built target nest
[ 99%] Built target nest_lib
[ 99%] Building CXX object pynest/CMakeFiles/pynestkernel.dir/pynestkernel.cxx.o
/home/travis/nest-simulator-2.18.0-build/pynest/pynestkernel.cxx:4:10: fatal error: Python.h: No such file or directory
 #include "Python.h"
          ^~~~~~~~~~
compilation terminated.
pynest/CMakeFiles/pynestkernel.dir/build.make:67: recipe for target 'pynest/CMakeFiles/pynestkernel.dir/pynestkernel.cxx.o' failed
make[2]: *** [pynest/CMakeFiles/pynestkernel.dir/pynestkernel.cxx.o] Error 1
CMakeFiles/Makefile2:1125: recipe for target 'pynest/CMakeFiles/pynestkernel.dir/all' failed
make[1]: *** [pynest/CMakeFiles/pynestkernel.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2
lekshmideepu commented 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

Helveg commented 4 years ago

Hmm, I'll just steal yours then ;p

lekshmideepu commented 4 years ago

Please let me know how it goes :-)

Helveg commented 4 years ago

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

lekshmideepu commented 4 years ago

Yes, right. It is the correct script.

Helveg commented 4 years ago

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?)

Helveg commented 4 years ago

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 :)