Skip to content
This repository has been archived by the owner on May 29, 2022. It is now read-only.

compilation error on ubuntu #73

Closed
anton-sip opened this issue Nov 10, 2020 · 6 comments
Closed

compilation error on ubuntu #73

anton-sip opened this issue Nov 10, 2020 · 6 comments

Comments

@anton-sip
Copy link

anton-sip commented Nov 10, 2020

Hello,
I try run compilation and get the error. (gpstk version 2.12 worked correctly on my old computer).

CMakeOutput.log
build.log
Снимок экрана от 2020-11-10 22-03-19

@ajkuck
Copy link

ajkuck commented Nov 10, 2020

This looks like a bug accidentally introduced in our cmake script. It currently doesn't handle specifying the python version in the python executable name. (e.g. It will take -P /usr/bin/python but not -P /usr/bin/python3)

We've got a code push coming in the next couple weeks that should resolve it.

In the meantime, the quickest work-around for you is likely to modify the swig/PythonSetup.cmake file locally.
Replace lines:

    execute_process( COMMAND "${PYTHON_EXECUTABLE}3-config" "--includes" OUTPUT_VARIABLE PYTHON_INCLUDES)
    execute_process( COMMAND "${PYTHON_EXECUTABLE}3-config" "--prefix" OUTPUT_VARIABLE PYTHON_PREFIX)

with:

    execute_process( COMMAND "${PYTHON_EXECUTABLE}-config" "--includes" OUTPUT_VARIABLE PYTHON_INCLUDES)	    
    execute_process( COMMAND "${PYTHON_EXECUTABLE}-config" "--prefix" OUTPUT_VARIABLE PYTHON_PREFIX)	    

@anton-sip
Copy link
Author

anton-sip commented Nov 11, 2020

thanks for fast answer, but i now get error in next step
CMakeOutput.log
build.log
Снимок экрана от 2020-11-11 22-27-43

make all -j 6
make[2]: *** No rule to make target '/usr/lib/libpython3.8m.so', needed by 'swig/_gpstk.so'. Stop.
make[1]: *** [CMakeFiles/Makefile2:2479: swig/CMakeFiles/_gpstk.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
make: *** [Makefile:152: all] Error 2

Error 2 :-(
See /home/anton/GPSTk/build/desktop-anton-master/Testing/Temporary/LastTest.log for detailed test log
See /home/anton/GPSTk/build/desktop-anton-master/build.log for detailed build log
anton@desktop-anton:~/GPSTk$

@anton-sip anton-sip reopened this Nov 11, 2020
@ajkuck
Copy link

ajkuck commented Nov 15, 2020

This took some time to pin down. I think you're hitting bug related to using python 3.8. (So far, we've only tested up to python 3.6 ... and not on Ubuntu.)

The script isn't able to determine the directory of the python shared object library and the name of that library no longer contains an "m".

An actual fix is pending, but the work-around should be to manually add the location of that library. Modify the swig/PythonSetup.cmake to make this line:

set(PYTHON_LIBRARIES "${PYTHON_PREFIX}/lib/libpython${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}.so")

look like this:

set(PYTHON_LIBRARIES "/usr/lib/python3.8/config-3.8-x86_64-linux-gnu/libpython3.8.so")

Note: The actual library location may be different on your system. It looks like the best way to find that file is with the command:

$ ls $(python3.8-config --configdir)/libpython3.8.so
# For me this yields:
/usr/lib/python3.8/config-3.8-x86_64-linux-gnu/libpython3.8.so

@ajkuck
Copy link

ajkuck commented Nov 15, 2020

Also. I noticed you're using the command sudo ./build.sh -eus -P /usr/bin/python3. Using both -u and -s flags might not work correctly.

I'd suggest one or the other.

  • -u to install to $HOME/.local (no sudo required) or
  • -s to install at the system level (sudo is required)

@mercergeoinfo
Copy link

As of 9th April 2021 the error is back/still there in v.8.0.0 and the suggested workaround doesn't work as the number arguments expected doesn't match if the "3" is removed.

@UT-dave
Copy link
Contributor

UT-dave commented Jun 9, 2021

Please show your modified command exactly as you executed it. Also, it would be helpful to know your system OS/environment configuration.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants