View Issue Details

IDProjectCategoryView StatusLast Update
0003103Slicer4Core: Building (CMake, Superbuild)public2013-11-20 05:26
Reporterpohl Assigned Tojcfr  
PriorityhighSeverityblockReproducibilityalways
Status closedResolutionfixed 
PlatformUbuntu 13.04OSOS Version
Product Version 
Target VersionSlicer 4.3.0Fixed in VersionSlicer 4.3.0 
Summary0003103: Slicer does not build on Ubuntu 13.04
Description

executing make quits with the following message

-- Found Qt4: /software/QtSdk4.7.4/Desktop/Qt/474/gcc/bin/qmake (found version "4.7.4")
-- Generated: /software/Slicer4/superbuild/CTK-build/DGraphInput-alldep.txt
-- Generated: /software/Slicer4/superbuild/CTK-build/DGraphInput-alldep-withext.txt
-- Enabling option [CTK_LIB_Visualization/VTK/Core] required by [CTKVisualizationVTKWidgets]
-- Found PythonInterp: /software/Slicer4/superbuild/python-install/bin/customPython (found version "2.7.3")
-- Could NOT find PythonLibs (missing: PYTHON_INCLUDE_DIRS) (found version "2.7.3")
CMake Error at CMakeLists.txt:754 (message):
PYTHON_LIBRARIES and PYTHON_INCLUDE_DIRS should be set to build
CTK_LIB_Scripting/Python

-- Configuring incomplete, errors occurred!
make[2]: [CTK-prefix/src/CTK-stamp/CTK-configure] Error 1
make[1]:
[CMakeFiles/CTK.dir/all] Error 2
make: *** [all] Error 2

TagsNo tags attached.

Relationships

related to 0003116 closedjcfr Add CMake module to check if Ubuntu custom FindPythonLibs is used 

Activities

2013-05-05 18:24

 

log.txt (1,366,787 bytes)
log.txt (1,366,787 bytes)
pieper

pieper

2013-05-06 11:20

administrator   ~0008559

It looks like 'slicer' is not captitalized in SuperBuild/External_CTK.cmake - can you try fixing that an trying the build again?

if(Slicer_USE_PYTHONQT)
list(APPEND optional_ep_args
-DPYTHON_LIBRARY:FILEPATH=${slicer_PYTHON_LIBRARY}
-DPYTHON_INCLUDE_DIR:PATH=${slicer_PYTHON_INCLUDE}
-DPYTHON_EXECUTABLE:FILEPATH=${slicer_PYTHON_EXECUTABLE}
-DCTK_LIB_Scripting/Python/Core:BOOL=${Slicer_USE_PYTHONQT}

pohl

pohl

2013-05-06 12:08

developer   ~0008560

It now says

46%] Performing configure step for 'CTK'
-- Generated: /software/Slicer4/superbuild/CTK-build/DGraphInput-alldep.txt
-- Generated: /software/Slicer4/superbuild/CTK-build/DGraphInput-alldep-withext.txt

-- Could NOT find PythonInterp (missing: PYTHON_EXECUTABLE)
CMake Error at CMakeLists.txt:750 (message):
PYTHON_EXECUTABLE variable should be set to build CTK_LIB_Scripting/Python

-- Configuring incomplete, errors occurred!
make[2]: [CTK-prefix/src/CTK-stamp/CTK-configure] Error 1
make[1]:
[CMakeFiles/CTK.dir/all] Error 2
make: *** [all] Error 2

and from what I can see Python compiled fine

pieper

pieper

2013-05-06 12:40

administrator   ~0008561

Did you fix the capitalization of all three variables?

  -DPYTHON_EXECUTABLE:FILEPATH=${slicer_PYTHON_EXECUTABLE}
pohl

pohl

2013-05-06 15:11

developer   ~0008562

Yes , here is their current definition

-DPYTHON_LIBRARY:FILEPATH=${Slicer_PYTHON_LIBRARY}
-DPYTHON_INCLUDE_DIR:PATH=${Slicer_PYTHON_INCLUDE}
-DPYTHON_EXECUTABLE:FILEPATH=${Slicer_PYTHON_EXECUTABLE}

pieper

pieper

2013-05-06 15:17

administrator   ~0008563

Actually it looks like that one (slicer_PYTHON_EXECUTABLE) is meant to be lower case, but the others should be upper case. Can you try that combination?

-Steve

pohl

pohl

2013-05-06 15:20

developer   ~0008564

Then I get

-- Found PythonInterp: /software/Slicer4/superbuild/python-install/bin/customPython (found version "2.7.3")
-- Could NOT find PythonLibs (missing: PYTHON_LIBRARIES PYTHON_INCLUDE_DIRS)
CMake Error at CMakeLists.txt:754 (message):
PYTHON_LIBRARIES and PYTHON_INCLUDE_DIRS should be set to build
CTK_LIB_Scripting/Python

-- Configuring incomplete, errors occurred!
make[2]: [CTK-prefix/src/CTK-stamp/CTK-configure] Error 1
make[1]:
[CMakeFiles/CTK.dir/all] Error 2
make: *** [all] Error 2

pieper

pieper

2013-05-06 16:43

administrator   ~0008565

We should probably give up this remote debugging, but I will try one more time:

Can you PLEASE be explicit about that you changed and what that resulted in?

I assume by the recent sequence of comments that you now have this:

-DPYTHON_LIBRARY:FILEPATH=${Slicer_PYTHON_LIBRARY}
-DPYTHON_INCLUDE_DIR:PATH=${Slicer_PYTHON_INCLUDE}
-DPYTHON_EXECUTABLE:FILEPATH=${slicer_PYTHON_EXECUTABLE}

but that leads to the same error message as you got when you used:

-DPYTHON_LIBRARY:FILEPATH=${slicer_PYTHON_LIBRARY}
-DPYTHON_INCLUDE_DIR:PATH=${slicer_PYTHON_INCLUDE}
-DPYTHON_EXECUTABLE:FILEPATH=${slicer_PYTHON_EXECUTABLE}

This does not make sense to me.

What I suggest is that you make a github fork of slicer and that you create a branch with the specific changes and then then provide the link to those changes along with the compile output you get. That way there will be no ambiguity about which changes lead to which error messages.

pohl

pohl

2013-05-07 08:07

developer   ~0008574

yes, what you say is exactly correct lower and upper letter do not matter. However if I set
-DPYTHON_LIBRARY:FILEPATH=${Slicer_PYTHON_LIBRARY}
-DPYTHON_INCLUDE_DIR:PATH=${Slicer_PYTHON_INCLUDE}
-DPYTHON_EXECUTABLE:FILEPATH=${slicer_PYTHON_EXECUTABLE}

on a machine where Slicer compiles the change breaks the compilation. If I do a grep on trunk/Superbuild then

-DPYTHON_LIBRARY:FILEPATH=${slicer_PYTHON_LIBRARY}
-DPYTHON_INCLUDE_DIR:PATH=${slicer_PYTHON_INCLUDE}
-DPYTHON_EXECUTABLE:FILEPATH=${slicer_PYTHON_EXECUTABLE}

is the correct definition . Sorry for any confusion I have caused

pohl

pohl

2013-05-07 08:18

developer   ~0008575

also when I set before those lines

message( "=====> ${slicer_PYTHON_LIBRARY} ${slicer_PYTHON_INCLUDE} ${slicer_PYTHON_EXECUTABLE}" )

then I get

=====> /software/Slicer4/superbuild/python-install/lib/libpython2.7.so /software/Slicer4/superbuild/python-install/include/python2.7 /software/Slicer4/superbuild/python-install/bin/customPython

which seems correct - so lower case is the way to go . In addition the three directories / files exist on my drive

pieper

pieper

2013-05-09 15:55

administrator   ~0008604

I was able to replicate this by launching an amazon ec2 instance running ubuntu 13.04 (ami-1e831d77) .

The issue seems to be with the version of cmake that is shipped with ubuntu (apparently it is a custom version).

When I rebuilt using my own build of the standard cmake from git I was able to build and run slicer with no problem.

ubuntu@ip-10-149-6-112:~/xvdf/cmake$ /usr/local/bin/cmake --version
cmake version 2.8.10.20130509-gae431

I suggest building (or downloading) your own cmake as a workaround.

pohl

pohl

2013-05-10 17:36

developer   ~0008618

yes it now works for me too

pieper

pieper

2013-05-13 05:50

administrator   ~0008626

Wiki prerequisites have been updated to point out the issue.

http://www.slicer.org/slicerWiki/index.php?title=Documentation/Nightly/Developers/Build_Instructions/Prerequisites&curid=7132&diff=31601&oldid=31188

http://www.slicer.org/slicerWiki/index.php?title=Documentation/4.2/Developers/Build_Instructions/Prerequisites&curid=7486&diff=31599&oldid=30279

jcfr

jcfr

2013-05-13 14:57

administrator   ~0008633

Thanks to Steve. Wiki has been updated to explain the developer he should install a different version of cmake.

Ideally, the system should detect that an incorrect version of FindPythonLibs.cmake is used. See 0003116

Lchauvin

Lchauvin

2013-07-17 10:14

developer   ~0009102

Hi,

I got the same issue and fixed it by updating CMake version.
However, I'm still interested in knowing why previous cmake version is not working.
What is the difference ?

Thank you.

jcfr

jcfr

2013-07-17 10:21

administrator   ~0009103

@Laurent: The need for "clean" version of CMake is explained here: 0003116

Issue History

Date Modified Username Field Change
2013-05-05 18:24 pohl New Issue
2013-05-05 18:24 pohl Status new => assigned
2013-05-05 18:24 pohl Assigned To => jcfr
2013-05-05 18:24 pohl File Added: log.txt
2013-05-06 11:20 pieper Note Added: 0008559
2013-05-06 12:08 pohl Note Added: 0008560
2013-05-06 12:40 pieper Note Added: 0008561
2013-05-06 15:11 pohl Note Added: 0008562
2013-05-06 15:17 pieper Note Added: 0008563
2013-05-06 15:20 pohl Note Added: 0008564
2013-05-06 16:43 pieper Note Added: 0008565
2013-05-07 08:07 pohl Note Added: 0008574
2013-05-07 08:18 pohl Note Added: 0008575
2013-05-09 15:55 pieper Note Added: 0008604
2013-05-10 17:36 pohl Note Added: 0008618
2013-05-13 05:50 pieper Note Added: 0008626
2013-05-13 14:52 jcfr Target Version => Slicer 4.3.0
2013-05-13 14:55 jcfr Relationship added related to 0003116
2013-05-13 14:57 jcfr Note Added: 0008633
2013-05-13 14:57 jcfr Status assigned => resolved
2013-05-13 14:57 jcfr Fixed in Version => Slicer 4.3.0
2013-05-13 14:57 jcfr Resolution open => fixed
2013-07-17 10:14 Lchauvin Note Added: 0009102
2013-07-17 10:21 jcfr Note Added: 0009103
2013-11-20 05:26 jcfr Status resolved => closed