2.2 Unpack, configure, build, and install

Warning: The documentation is for a future version of IVuPy which is only available from CVS.

  1. Unpack IVuPy-0.1.

  2. Configure:
    cd IVuPy-0.1
    cd configure
    python configure.py
    The purpose of the configure.py script is to generate the C++ code and the Makefiles needed to build the iv extension module. The C++ code and Makefiles have to be adapted to the environment (operating system, program and library versions, program and library locations).

    The configure.py script makes 2 assumptions on POSIX:

    Warning: Qt's default -rpath linker option may not play well with proprietary hardware drivers (most Linux distros disable the -rpath option). Expect subtle problems when python examples/Mentor/02_1_HelloCone.py on a local display results in:
    Coin info in glglue_allow_newer_opengl():
    Features of OpenGL version > 1.0 has been
    disabled, due to the use of a remote display.
    This is so because many common OpenGL drivers
    have problems in this regard.
    To force full OpenGL use, set the environment
    variable COIN_FULL_INDIRECT_RENDERING=1 and re-run the application.
    If you don't want this message displayed again,
    set the environment variable COIN_DONT_INFORM_INDIRECT_RENDERING=1.
    Work-arounds are (1) to specify the directory containing the proprietary hardware driver when running configure.py with the -L option or (2) rebuild Qt after editing the setting for QMAKE_RPATH in the qmake.conf file for your system. Everything is fine when ldd iv.so and ldd SoQt.so show that iv.so and SoQt.so use the same OpenGL library.

    The configure.py script makes 4 assumptions on Windows:

    Start by trying the default settings and if the following step does not work, try to add include paths, libraries, library paths, preprocessor options, compiler options, and linker options.

    Note: The configure.py script takes many options. The command
    python configure.py -h
    displays a full list of the available options:
    usage: python configure.py [options]
    Each option takes at most one argument, but some options
    accumulate arguments when repeated. For example, invoke:
    	python configure.py -I . -I ..
    to search the current *and* parent directories for headers.
      -h, --help            show this help message and exit
      Common options:
                            add an extra preprocessor definition
        -I /usr/include, --extra-include-dirs=/usr/include
                            add an extra directory to search for headers (the
                            compiler must be able to find the headers of Coin and
        -L /path/to/proprietary/driver, --extra-lib-dirs=/path/to/proprietary/driver
                            add an extra directory to search for libraries
        -j N, --jobs=N      concatenate the SIP generated code into N files
                            [default 1 per class] (to speed up make by running
                            simultaneous jobs on multiprocessor systems)
                            add an extra library
      Make options:
        --debug             enable debugging symbols [default disabled]
                            add an extra C compiler flag
                            add an extra C++ compiler flag
                            add an extra linker flag
      SIP options:
                            add a feature for SIP to exclude (normally one of the
                            features in sip/features.sip)
        -t ESP_3_2_1, --timelines=ESP_3_2_1
                            add a timeline for SIP to adapt to a library version
                            (normally one of the timeline options in
                            add an extra directory for SIP to search
        --trace             enable trace of the execution of the bindings [default
      Detection options:
        --disable-numarray  disable detection and use of numarray [default
        --disable-numeric   disable detection and use of Numeric [default enabled]
        --disable-numpy     disable detection and use of NumPy [default enabled]

  3. Build:
    In case of failure, you have to invoke the configure.py script again or - for experts - edit the generated iv/Makefile.

  4. Install:
    make install
    nmake install