Developer Meetings/20120814
Attendees:
To discuss
- Plan for 4.2 hangout
- Pick up general discussion from last time of the bug roadmap for slicer 4.2.
- Status update on Mac extensions packaging issues
- Reporting extension is missing on the dashboards -- why?
- RESOLVED (thanks Chris Mullins!): the git path was not read-only; issue has been submitted to notify developers of extensions of the issues while cloning so that they could fix http://na-mic.org/Mantis/view.php?id=2395
- Windows 64 bit nightly builds?
- Update on volume rendering for mac (nvidia)?
- setting up Slicer 32/64 bit Slicer dashboard on Windows questions
- Current issues: no .log file is generated; there are build errors, but ctest does not stop when errors are encountered; how to turn off multi-CPU during build?
- .bat script:
"C:\Program Files (x86)\CMake 2.8.8\bin\ctest.exe" -S C:\andrey\DashboardScripts\Lebesgue_Win7-32bits_slicer_release_nightly.cmake -V -o C:\S4D\Nightly-32bit.log
- .cmake config file:
#################################################################################### # OS : # Hardware: # GPU : #################################################################################### # WARNING - The specific version and processor type of this machine should be reported # in the header above. Indeed, this file will be send to the dashboard as a NOTE file. # # On linux, you could run: # 'uname -o' and 'cat /etc/*-release' to obtain the OS name. # 'uname -mpi' to obtain hardware details. # 'glxinfo | grep OpenGL' to obtain GPU details. #################################################################################### cmake_minimum_required(VERSION 2.8.8) # # For additional information, see http://http://www.slicer.org/wiki/Documentation/Snapshot/Developers/Tutorials/DashboardSetup # #----------------------------------------------------------------------------- # Dashboard properties #----------------------------------------------------------------------------- set(MY_OPERATING_SYSTEM "Windows") # Windows, Linux, Darwin... set(MY_COMPILER "Visual Studio 9 2008") set(MY_QT_VERSION "4.7.4") set(QT_QMAKE_EXECUTABLE "C:/dev/Qt-4.7.4-win32/bin/qmake.exe") set(CTEST_SITE "lebesgue.partners.org") # for example: mymachine.kitware, mymachine.bwh.harvard.edu, ... set(CTEST_DASHBOARD_ROOT "C:/S4D/") # Each dashboard script should specify a unique ID per CTEST_DASHBOARD_ROOT. # It means the following directories will be created: # <CTEST_DASHBOARD_ROOT>/<DIRECTORY_NAME>-<DIRECTORY_IDENTIFIER> # Source directory # <CTEST_DASHBOARD_ROOT>/<DIRECTORY_NAME>-<DIRECTORY_IDENTIFIER>-build # Build directory set(DIRECTORY_IDENTIFIER "0") # Open a shell and type in "cmake --help" to obtain the proper spelling of the generator set(CTEST_CMAKE_GENERATOR "Visual Studio 9 2008") set(MY_BITNESS "32") #----------------------------------------------------------------------------- # Dashboard options #----------------------------------------------------------------------------- set(WITH_KWSTYLE FALSE) set(WITH_MEMCHECK FALSE) set(WITH_COVERAGE FALSE) set(WITH_DOCUMENTATION FALSE) #set(DOCUMENTATION_ARCHIVES_OUTPUT_DIRECTORY ) # for example: $ENV{HOME}/Projects/Doxygen set(WITH_PACKAGES FALSE) set(WITH_EXTENSIONS FALSE) # Indicates if 'trusted' Slicer extensions should be # built, tested, packaged and uploaded. set(CTEST_BUILD_CONFIGURATION "Release") set(CTEST_TEST_TIMEOUT 500) set(CTEST_BUILD_FLAGS "") # Use multiple CPU cores to build. For example "-j4" on unix set(CTEST_PARALLEL_LEVEL 1) # Number of tests running in parallel # experimental: # - run_ctest() macro will be called *ONE* time # - binary directory will *NOT* be cleaned # continuous: # - run_ctest() macro will be called EVERY 5 minutes ... # - binary directory will *NOT* be cleaned # - configure/build will be executed *ONLY* if the repository has been updated # nightly: # - run_ctest() macro will be called *ONE* time # - binary directory *WILL BE* cleaned set(SCRIPT_MODE "nightly") # "experimental", "continuous", "nightly" # You could invoke the script with the following syntax: # ctest -S karakoram_Slicer4_nightly.cmake -C <CTEST_BUILD_CONFIGURATION> -V # # Note that '-C <CTEST_BUILD_CONFIGURATION>' is mandatory on windows #----------------------------------------------------------------------------- # Additional CMakeCache options #----------------------------------------------------------------------------- set(ADDITIONAL_CMAKECACHE_OPTION " ADDITIONAL_C_FLAGS:STRING= ADDITIONAL_CXX_FLAGS:STRING= Slicer_USE_PYTHONQT:BOOL=ON Slicer_USE_PYTHONQT_WITH_TCL:BOOL=ON Slicer_BUILD_CLI:BOOL=OFF ") #----------------------------------------------------------------------------- # List of test that should be explicitly disabled on this machine #----------------------------------------------------------------------------- set(TEST_TO_EXCLUDE_REGEX "") #----------------------------------------------------------------------------- # Set any extra environment variables here #----------------------------------------------------------------------------- if(UNIX) set(ENV{DISPLAY} ":0") endif() #----------------------------------------------------------------------------- # Required executables #----------------------------------------------------------------------------- find_program(CTEST_SVN_COMMAND NAMES svn) find_program(CTEST_GIT_COMMAND NAMES git) find_program(CTEST_COVERAGE_COMMAND NAMES gcov) find_program(CTEST_MEMORYCHECK_COMMAND NAMES valgrind) #----------------------------------------------------------------------------- # Build Name #----------------------------------------------------------------------------- # Update the following variable to match the chosen build options. This variable is used to # generate both the build directory and the build name. # See http://www.cdash.org/CDash/index.php?project=Slicer4 for examples set(BUILD_OPTIONS_STRING "${MY_BITNESS}bits-QT${MY_QT_VERSION}-PythonQt-With-Tcl-NoCLI") #----------------------------------------------------------------------------- # Directory name #----------------------------------------------------------------------------- set(DIRECTORY_NAME "Slicer") #----------------------------------------------------------------------------- # Build directory #----------------------------------------------------------------------------- set(CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${DIRECTORY_NAME}-${DIRECTORY_IDENTIFIER}-build") file(WRITE "${CTEST_DASHBOARD_ROOT}/${DIRECTORY_NAME}-${DIRECTORY_IDENTIFIER}-build - ${BUILD_OPTIONS_STRING}-${CTEST_BUILD_CONFIGURATION}-${SCRIPT_MODE}.txt" "Generated by ${CTEST_SCRIPT_NAME}") #----------------------------------------------------------------------------- # Source directory #----------------------------------------------------------------------------- set(CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${DIRECTORY_NAME}-${DIRECTORY_IDENTIFIER}") ########################################## # WARNING: DO NOT EDIT BEYOND THIS POINT # ########################################## set(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}") # # Project specific properties # set(CTEST_PROJECT_NAME "Slicer4") set(CTEST_BUILD_NAME "${MY_OPERATING_SYSTEM}-${MY_COMPILER}-${BUILD_OPTIONS_STRING}-${CTEST_BUILD_CONFIGURATION}") # # Display build info # message("CTEST_SITE ................: ${CTEST_SITE}") message("CTEST_BUILD_NAME ..........: ${CTEST_BUILD_NAME}") message("SCRIPT_MODE ...............: ${SCRIPT_MODE}") message("CTEST_BUILD_CONFIGURATION .: ${CTEST_BUILD_CONFIGURATION}") message("WITH_KWSTYLE ..............: ${WITH_KWSTYLE}") message("WITH_COVERAGE: ............: ${WITH_COVERAGE}") message("WITH_MEMCHECK .............: ${WITH_MEMCHECK}") message("WITH_PACKAGES .............: ${WITH_PACKAGES}") message("WITH_DOCUMENTATION ........: ${WITH_DOCUMENTATION}") message("DOCUMENTATION_ARCHIVES_OUTPUT_DIRECTORY: ${DOCUMENTATION_ARCHIVES_OUTPUT_DIRECTORY}") # # Convenient function allowing to download a file # function(download_file url dest) file(DOWNLOAD ${url} ${dest} STATUS status) list(GET status 0 error_code) list(GET status 1 error_msg) if(error_code) message(FATAL_ERROR "error: Failed to download ${url} - ${error_msg}") endif() endfunction() # # Download and include dashboard driver script # set(url http://svn.slicer.org/Slicer4/trunk/CMake/SlicerDashboardDriverScript.cmake) set(dest ${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}.driver) download_file(${url} ${dest}) include(${dest})
Conclusion
- Chris will continue to look for a python path fix for mac - if not fixed by end of week, Andrey will implement workaround inside his extension.
- Chris rebooted build machine which should fix the win64 build.
- Steve will email slicer 4.2 hangout invite to DBPs:
- Hans & Kent
- Greg & Nadia
- Jack & Andre
- Rob & Josh
- Discussed these bugs from the bug tracker:
- 0002114: [Building (CMake, Superbuild)] Ensure Slicer can be compiled against ITKv4 on both Windows 32 and 64 bit (hjmjohnson) - assigned. - 0002113: [Module EMSegment] Ensure EMSegment is compatible with ITKv4 (pohl) - closed. - 0002163: [GUI] models hierarchy is not workable (finetjul) - assigned. - 0001922: [Scripting (Wrapping, Python)] add a self-testing module (pieper) - assigned. - 0002358: [Extensions] Python wrapping in extensions fails on Mac (jcfr) - assigned. - 0002373: [Extensions] SkullStripper is available in the Extensions Manager but can NOT be installed (jcfr) - assigned. - 0002313: [Base Code] Implement onSDBSaveToDCMActionTriggered (pieper) - assigned. - 0002321: [Building (CMake, Superbuild)] Fix gcc 4.6.x link error related to libvtkPythonCore.so.5.10.0 - undefined reference to `Py*' (crmullin) - assigned. - 0002367: [Building (CMake, Superbuild)] Fix ubuntu factory error "Xlib: extension "GLX" missing on display ":0.0" (crmullin) - assigned. - 0001669: [Usability] Add recent loaded files menu entry in File menu bar (crmullin) - assigned. - 0002187: [QtTesting] Do not used "activated" signal since it doesn't map to "clicked" in a cross platform fashion (finetjul) - assigned. - 0002380: [Base Code] Transforms module issue: display of translation component when values exceed default max values (jcfr) - assigned. - 0002371: [Building (CMake, Superbuild)] Update factory ITKv4 nightly script to enable packaging (crmullin) - assigned. - 0002372: [Building (CMake, Superbuild)] Coordinate ITKv4 packaging with maintainer of download.slicer.org (crmullin) - assigned. - 0002115: [Building (CMake, Superbuild)] Mechanism to customize Slicer package name depending on build option (jcfr) - assigned. - 0001455: [Command Line Modules (Modules/CLI)] Launching CLI modules from command line (jcfr) - assigned. - 0002349: [Extensions] No output is submitted to the dashboard if a module generic test fails (crmullin) - assigned. - 0002370: [Documentation & Wiki] Document Slicer factory organization (crmullin) - assigned. - 0002365: [Extensions] ExtensionsIndex workflow improvments (jcfr) - assigned. - 0001838: [Module DICOM] Viewing DICOM header info. (assign to Steve Pieper) (pieper) - assigned. - 0001670: [Usability] Add "copy CTRL+C", "cut CTRL+X" and "paste CTRL+V" in Edit menu bar (crmullin) - assigned. - 0001537: [Base Code] Exit from tcl adapter causes seg fault when exiting program (finetjul) - assigned. - 0002343: [Base Code] Implement last test in qMRMLColorPickerWidgetTest2 (finetjul) - assigned. - 0002340: [Base Code] Option "autoLevel" and "interpolate" are not considered in vtkSlicerVolumesLogic::AddArchetypeVolume (alexy) - assigned.