Thread: [vmtk-users] Missing INSTALL target in winx64 and python problems
Brought to you by:
davidsteinman,
lucantiga
From: Brian D. <bit...@gm...> - 2013-01-03 23:07:29
|
Is the current build of VMTK from source supposed to have the INSTALL target. When the project is opend in visual studio the install target is not there and in attempts to use VMTK "superbuild" in a "super-e-duper-superbuild" (my build that uses ExternalProject_Add to download, build, and install fails due to what I belive is a lack of the intall target in VMTK and I must make INSTALL_COMMAND "" to skip the install command. I would expect INSTALL target to work and for INSTALL_DIR or -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} to put the output wherever I want to put it. ExternalProject_Add( ${VMTK_PACKAGE} GIT_REPOSITORY ${GIT_URL} UPDATE_COMMAND "" SOURCE_DIR ${THIRD_PARTY_SRC_DIR}/${VMTK_PACKAGE} BINARY_DIR ${BUILD_DIR}/ouput/bin/${VMTK_PACKAGE} INSTALL_DIR ${INSTALL_PREFIX} INSTALL_COMMAND "" CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} -DINSTALL_PREFIX=${INSTALL_PREFIX} -DPYTHON_INCLUDE_DIR=${PYTHON_INCLUDE_DIR} ) As far as python I have installed every flavor x64 for 2.6, 2.7, and 3.0 where 2.7 (I belive) was installed by the binary package from vmtk-1.0.0-win7-64bit.exe. This version seemed to fail on vmtknetworkextraction so I gave up on that version and went back to the source build, through I was able to get Marching Cubes and centerline extraction to work. I have tried the forcing of the CMakeCache.txt as described in http://www.vmtk.org/Main/Installation/ , which I may add is a superawesome hack which makes the super-e-duper build impossible as vmtk requires vtk which is not downloaded for patching before ExternalProject_Add on the vmtk project. A Nice chicken in the egg problem. Though I do not think I have this issue when 3.0 is build, but at this point I am so confused trying to get anything to work. |
From: Luca A. <luc...@gm...> - 2013-01-04 11:07:55
|
Hi Brian, superbuild doesn't have an explicit INSTALL target. What should happen is that you should see an Install directory being created in the vmtk-build directory (not the VMTK-Build, the one containing it) at the end of the build. That Install directory already contains all vmtk files and dependencies that allow you to run vmtk. What you have to do is to set the appropriate environment variables. To do so, position yourself in the Install directory and create a file named, e.g. vmtk-startup.bat (the important part is the .bat extension) containing the following code: rem @echo off set VMTK_DIR=%~dp0 set PATH=%VMTK_DIR%bin;%VMTK_DIR%lib\InsightToolkit;%VMTK_DIR%lib\Python;%PATH% set PYTHONPATH=%VMTK_DIR%lib\site-packages;%VMTK_DIR%lib\vtk-5.10;%VMTK_DIR%lib\vmtk cd %VMTK_DIR% python bin\vmtk-exe.py Save the file, exit and start the bat file by double clicking on it. Hopefully you'll see pypepad coming up. Hope this helps. Luca On Jan 4, 2013, at 12:07 AM, Brian Davis wrote: > > Is the current build of VMTK from source supposed to have the INSTALL target. When the project is opend in visual studio the install target is not there and in attempts to use VMTK "superbuild" in a "super-e-duper-superbuild" (my build that uses ExternalProject_Add to download, build, and install fails due to what I belive is a lack of the intall target in VMTK and I must make INSTALL_COMMAND "" to skip the install command. > > I would expect INSTALL target to work and for INSTALL_DIR or -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} to put the output wherever I want to put it. > > > > ExternalProject_Add( > ${VMTK_PACKAGE} > GIT_REPOSITORY ${GIT_URL} > UPDATE_COMMAND "" > SOURCE_DIR ${THIRD_PARTY_SRC_DIR}/${VMTK_PACKAGE} > BINARY_DIR ${BUILD_DIR}/ouput/bin/${VMTK_PACKAGE} > INSTALL_DIR ${INSTALL_PREFIX} > INSTALL_COMMAND "" > CMAKE_ARGS > -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} > -DINSTALL_PREFIX=${INSTALL_PREFIX} > -DPYTHON_INCLUDE_DIR=${PYTHON_INCLUDE_DIR} > ) > > > As far as python I have installed every flavor x64 for 2.6, 2.7, and 3.0 where 2.7 (I belive) was installed by the binary package from vmtk-1.0.0-win7-64bit.exe. This version seemed to fail on vmtknetworkextraction so I gave up on that version and went back to the source build, through I was able to get Marching Cubes and centerline extraction to work. > > I have tried the forcing of the CMakeCache.txt as described in http://www.vmtk.org/Main/Installation/ , which I may add is a superawesome hack which makes the super-e-duper build impossible as vmtk requires vtk which is not downloaded for patching before ExternalProject_Add on the vmtk project. A Nice chicken in the egg problem. Though I do not think I have this issue when 3.0 is build, but at this point I am so confused trying to get anything to work. > > > > > ------------------------------------------------------------------------------ > Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, > MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current > with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft > MVPs and experts. ON SALE this month only -- learn more at: > http://p.sf.net/sfu/learnmore_122712_______________________________________________ > vmtk-users mailing list > vmt...@li... > https://lists.sourceforge.net/lists/listinfo/vmtk-users |
From: Brian D. <bit...@gm...> - 2013-01-04 14:28:54
|
So I was able to get vmtk to build using Python 2.6 x64 (3.0 did not work) so the following is not exactly accurate with 1.0 This occurred last night after my post after my 3rd attempt at building VMTK with each version of Python. >>> Requirements vmtk is cross-platform and will compile and work on Linux, Mac OSX and Windows. Most of the development is performed under Linux and Mac OSX, but feel free to update us on eventual issues on Windows. In order to successfully compile and use vmtk, the following software has to be installed in your system: - Git <http://www.git-scm.org/> (>= 1.6) - Python <http://www.python.org/> (>=2.6) - CMake <http://www.cmake.org/> (>=2.8) - A C++ compiler <<< especially the part about Python >= 2.6 in my experience (mileage may vary). I was also able to get vmtknetworkextraction to work, but only with the source build in Win x64 not from binary release I was able to get pypepad to work and python. In reference to: >>> To do so, position yourself in the Install directory and create a file named, e.g. vmtk-startup.bat (the important part is the .bat extension) containing the following code: rem @echo off set VMTK_DIR=%~dp0 set PATH=%VMTK_DIR%bin;%VMTK_DIR%lib\InsightToolkit;%VMTK_DIR%lib\Python;%PATH% set PYTHONPATH=%VMTK_DIR%lib\site-packages;%VMTK_DIR%lib\vtk-5.10;%VMTK_DIR%lib\vmtk cd %VMTK_DIR% python bin\vmtk-exe.py <<< Sounds like some good stuff to put into a run_vmtk_python.txt file in the release of VMTK and run configure_file on, this way people can get started with out having to create their own script (and burn time trying to figure out which paths and env vars vmtk needs to do it's magic) as I did in my source tree to do just this. and >>>> superbuild doesn't have an explicit INSTALL target. <<<< Don't you think it should? I mean vmtk is not the only thing I am building in my source tree... it's just one component. I was impressed that I was able to get most of the centerlines of vasculature network on a data set I was working on. Just not sure why it needs and initial cut plane for the opening as a requirement. I am not doing CFD so for me it seemed like an extra (manual) step I am not sure I need in my pipeline, not that I have tried it without this recommended step. Thanks B |
From: Luca A. <luc...@gm...> - 2013-01-06 13:57:23
|
Hi Brian, On Jan 4, 2013, at 3:28 PM, Brian Davis wrote: > > > > > So I was able to get vmtk to build using Python 2.6 x64 (3.0 did not work) so the following is not exactly accurate with 1.0 This occurred last night after my post after my 3rd attempt at building VMTK with each version of Python. > > >>> > Requirements > > vmtk is cross-platform and will compile and work on Linux, Mac OSX and Windows. Most of the development is performed under Linux and Mac OSX, but feel free to update us on eventual issues on Windows. > > In order to successfully compile and use vmtk, the following software has to be installed in your system: - Git (>= 1.6) - Python (>=2.6) - CMake (>=2.8) - A C++ compiler > > <<< > > especially the part about Python >= 2.6 in my experience (mileage may vary). > You're right, when I originally wrote this page Python 3 was not a real option and no distribution included it. I just updated the version number and never really thought about it. The deal with Python 3 is that VTK Python wrappers only support Python 2.x so far. There's probably some work undergoing to support Python 3, but AFAIK this is not out in the wild yet. Bottomline, only Python 2.x will work. I fixed the documentation, thanks for this and sorry you had to find out the hard way. > > > I was also able to get vmtknetworkextraction to work, but only with the source build in Win x64 not from binary release > This is unexpected, thanks for reporting it. > I was able to get pypepad to work and python. > > In reference to: > > >>> > > > To do so, position yourself in the Install directory and create a file named, e.g. vmtk-startup.bat > (the important part is the .bat extension) containing the following code: > > rem @echo off > set VMTK_DIR=%~dp0 > set PATH=%VMTK_DIR%bin;%VMTK_DIR%lib\InsightToolkit;%VMTK_DIR%lib\Python;%PATH% > set PYTHONPATH=%VMTK_DIR%lib\site-packages;%VMTK_DIR%lib\vtk-5.10;%VMTK_DIR%lib\vmtk > cd %VMTK_DIR% > python bin\vmtk-exe.py > <<< > > Sounds like some good stuff to put into a run_vmtk_python.txt file in the release of VMTK and run configure_file on, this way people can get started with out having to create their own script (and burn time trying to figure out which paths and env vars vmtk needs to do it's magic) as I did in my source tree to do just this. Good point. Can you make a test before I do this? Can you please remove the two lines setting the environment variables (set PATH ... and set PYTHONPATH) and run the .bat file again? In theory the python launcher should set the environment variables automatically already, but let's see if this works on your system. > > and > > >>>> > superbuild doesn't have an explicit INSTALL target. > <<<< > > Don't you think it should? I mean vmtk is not the only thing I am building in my source tree... it's just one component. Good point, I'm adding an option now to make this happen. It's called SUPERBUILD_INSTALL_PREFIX and it defaults to Install to keep the current behavior unchanged. > I was impressed that I was able to get most of the centerlines of vasculature network on a data set I was working on. Just not sure why it needs and initial cut plane for the opening as a requirement. I am not doing CFD so for me it seemed like an extra (manual) step I am not sure I need in my pipeline, not that I have tried it without this recommended step. I'm glad it worked for you (after some suffering). The network extraction algorithm needs a starting point to iteratively chop the surface with a sphere. Right now it's an opening in the surface, it could be a seed point, though. A seed point would probably be better since you could automate it more easily. Is this what you'd be aiming for? Thanks for your inputs so far. Luca > Thanks > > B > |
From: Brian D. <bit...@gm...> - 2013-01-07 21:01:47
|
See comments to your comments below > In reference to: > > >>> > > To do so, position yourself in the Install directory and create a file > named, e.g. vmtk-startup.bat > (the important part is the .bat extension) containing the following code: > > rem @echo off > set VMTK_DIR=%~dp0 > set > PATH=%VMTK_DIR%bin;%VMTK_DIR%lib\InsightToolkit;%VMTK_DIR%lib\Python;%PATH% > set > PYTHONPATH=%VMTK_DIR%lib\site-packages;%VMTK_DIR%lib\vtk-5.10;%VMTK_DIR%lib\vmtk > cd %VMTK_DIR% > python bin\vmtk-exe.py > <<< > > Sounds like some good stuff to put into a run_vmtk_python.txt file in the > release of VMTK and run configure_file on, this way people can get started > with out having to create their own script (and burn time trying to figure > out which paths and env vars vmtk needs to do it's magic) as I did in my > source tree to do just this. > > > Good point. Can you make a test before I do this? > Can you please remove the two lines setting the environment variables (set > PATH ... and set PYTHONPATH) and run the .bat file again? > In theory the python launcher should set the environment variables > automatically already, but let's see if this works on your system. > > I modified vmtk slightly by adding: run_vmtk_python.txt - located with vmtk root path with CMakeLists.txt >> echo "python path is %PYTHONPATH%" set PYTHON_VERSION=${PYTHON_MIN_MINOR} set VTK_VERSION=${VTK_VERSION} set PYTHON_ROOT_DIR=${PYTHON_ROOT_DIR_NATIVE} set VMTKHOME=${VMTK_INSTALL_DIR_NATIVE} set PATH=%VMTKHOME%\bin:%PATH% set DYLD_LIBRARY_PATH=%VMTKHOME%\lib\vtk-%VTK_VERSION%;%VMTKHOME%\lib\vmtk;%VMTKHOME%\lib\vmtk\vmtk;%DYLD_LIBRARY_PATH% set PYTHONPATH=%VMTKHOME%\bin;%VMTKHOME%\bin\Python;%VMTKHOME%\lib\vtk-%VTK_VERSION%;%VMTKHOME%\lib\vmtk;%VMTKHOME%\lib\vmtk\vmtk;%PYTHONPATH% set PATH=%VMTKHOME%\bin;%DYLD_LIBRARY_PATH%;%PATH% start "IDLE" ${PYTHON_ROOT_DIR}Lib\idlelib\idle.bat << And modifying SuperBuild.cmake by adding the following text to the end of the file >>> FIND_PACKAGE( PYTHONINTERP ) FIND_PACKAGE( PYTHONLIBS ) set( PYTHON_MAJORMINOR ${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR} ) SET( VTK_VERSION 5.10 ) set( VMTK_INSTALL_DIR ${CMAKE_BINARY_DIR}/Install ) file( TO_NATIVE_PATH ${VMTK_INSTALL_DIR} VMTK_INSTALL_DIR_NATIVE ) message( STATUS ${PYTHON_LIBRARIES} ) message( STATUS ${PYTHON_LIBRARIES} ) message( STATUS ${PYTHON_MAJORMINOR} ) message( STATUS ${PYTHONLIBS_VERSION_STRING} ) message( STATUS ${PYTHON_LIBRARY} ) #find_path( PYTHON_ROOT_DIR ${PYTHON_EXECUTABLE} ) #MESSAGE( STATUS ${PYTHON_ROOT_DIR} ) string( REGEX MATCH "[0-9][0-9]" PYTHON_MIN_MINOR ${PYTHON_EXECUTABLE} ) string( REGEX MATCH "(.*[/])*" PYTHON_ROOT_DIR ${PYTHON_EXECUTABLE} ) file( TO_NATIVE_PATH ${PYTHON_ROOT_DIR} PYTHON_ROOT_DIR_NATIVE ) message( STATUS ${PYTHON_MIN_MINOR} ) message( STATUS ${PYTHON_ROOT_DIR} ) configure_file( run_vmtk_python.txt ${VMTK_INSTALL_DIR}/run_vmtk_python.bat ) <<< FindPython does not seem to give back the variables I was expecting hence the string regex call. Anyway this worked for me. Be sure to use TO_NATIVE path when building .bat file not needed when creating sh or bash scripts. B |
From: Luca A. <luc...@gm...> - 2013-01-26 13:47:55
|
Hi Brian, I got sidetracked on this one, but I finally committed your changes to the repository. Now we generate a vmtk_startup.bat file on Windows and a vmtk_env.sh file on Unix (Mac and Linux). On Windows one can just double-click the file, while on Unix one goes source vmtk_env.sh or . vmtk_env.sh and the scripts are available at the command line. Thanks a lot for the contributions, it would be great if you could double check that everything works correctly on Windows. Luca PS: I'm launching pypepad from the .bat file now, while I saw you were starting idle. Maybe it would be good to generate two files, one for pypepad and one for idle? On Jan 7, 2013, at 10:01 PM, Brian Davis wrote: > See comments to your comments below >> In reference to: >> >> >>> >> >> >> To do so, position yourself in the Install directory and create a file named, e.g. vmtk-startup.bat >> (the important part is the .bat extension) containing the following code: >> >> rem @echo off >> set VMTK_DIR=%~dp0 >> set PATH=%VMTK_DIR%bin;%VMTK_DIR%lib\InsightToolkit;%VMTK_DIR%lib\Python;%PATH% >> set PYTHONPATH=%VMTK_DIR%lib\site-packages;%VMTK_DIR%lib\vtk-5.10;%VMTK_DIR%lib\vmtk >> cd %VMTK_DIR% >> python bin\vmtk-exe.py >> <<< >> >> Sounds like some good stuff to put into a run_vmtk_python.txt file in the release of VMTK and run configure_file on, this way people can get started with out having to create their own script (and burn time trying to figure out which paths and env vars vmtk needs to do it's magic) as I did in my source tree to do just this. > > Good point. Can you make a test before I do this? > Can you please remove the two lines setting the environment variables (set PATH ... and set PYTHONPATH) and run the .bat file again? > In theory the python launcher should set the environment variables automatically already, but let's see if this works on your system. > >> > > I modified vmtk slightly by adding: > > run_vmtk_python.txt - located with vmtk root path with CMakeLists.txt > >> > > echo "python path is %PYTHONPATH%" > > set PYTHON_VERSION=${PYTHON_MIN_MINOR} > set VTK_VERSION=${VTK_VERSION} > set PYTHON_ROOT_DIR=${PYTHON_ROOT_DIR_NATIVE} > > set VMTKHOME=${VMTK_INSTALL_DIR_NATIVE} > set PATH=%VMTKHOME%\bin:%PATH% > set DYLD_LIBRARY_PATH=%VMTKHOME%\lib\vtk-%VTK_VERSION%;%VMTKHOME%\lib\vmtk;%VMTKHOME%\lib\vmtk\vmtk;%DYLD_LIBRARY_PATH% > set PYTHONPATH=%VMTKHOME%\bin;%VMTKHOME%\bin\Python;%VMTKHOME%\lib\vtk-%VTK_VERSION%;%VMTKHOME%\lib\vmtk;%VMTKHOME%\lib\vmtk\vmtk;%PYTHONPATH% > set PATH=%VMTKHOME%\bin;%DYLD_LIBRARY_PATH%;%PATH% > > > start "IDLE" ${PYTHON_ROOT_DIR}Lib\idlelib\idle.bat > > << > > And modifying > > SuperBuild.cmake by adding the following text to the end of the file > > >>> > FIND_PACKAGE( PYTHONINTERP ) > FIND_PACKAGE( PYTHONLIBS ) > > > set( PYTHON_MAJORMINOR ${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR} ) > > SET( VTK_VERSION 5.10 ) > > set( VMTK_INSTALL_DIR ${CMAKE_BINARY_DIR}/Install ) > file( TO_NATIVE_PATH ${VMTK_INSTALL_DIR} VMTK_INSTALL_DIR_NATIVE ) > > > > > > message( STATUS ${PYTHON_LIBRARIES} ) > message( STATUS ${PYTHON_LIBRARIES} ) > message( STATUS ${PYTHON_MAJORMINOR} ) > message( STATUS ${PYTHONLIBS_VERSION_STRING} ) > message( STATUS ${PYTHON_LIBRARY} ) > > #find_path( PYTHON_ROOT_DIR ${PYTHON_EXECUTABLE} ) > #MESSAGE( STATUS ${PYTHON_ROOT_DIR} ) > > > string( REGEX MATCH "[0-9][0-9]" PYTHON_MIN_MINOR ${PYTHON_EXECUTABLE} ) > string( REGEX MATCH "(.*[/])*" PYTHON_ROOT_DIR ${PYTHON_EXECUTABLE} ) > file( TO_NATIVE_PATH ${PYTHON_ROOT_DIR} PYTHON_ROOT_DIR_NATIVE ) > > > message( STATUS ${PYTHON_MIN_MINOR} ) > > message( STATUS ${PYTHON_ROOT_DIR} ) > > configure_file( run_vmtk_python.txt ${VMTK_INSTALL_DIR}/run_vmtk_python.bat ) > > <<< > > > FindPython does not seem to give back the variables I was expecting hence the string regex call. Anyway this worked for me. Be sure to use TO_NATIVE path when building .bat file not needed when creating sh or bash scripts. > > B > ------------------------------------------------------------------------------ > Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, > MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current > with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft > MVPs and experts. SALE $99.99 this month only -- learn more at: > http://p.sf.net/sfu/learnmore_122412_______________________________________________ > vmtk-users mailing list > vmt...@li... > https://lists.sourceforge.net/lists/listinfo/vmtk-users |