[CMake] CMake 2.8.3 built on OS X crashes on Startup.
David Cole
david.cole at kitware.com
Wed Jan 5 12:34:09 EST 2011
cmake-gui needs some further work to be automatically testable.
If we launched it as-is on a test run, then it would just hang there
forever, waiting for user input as gui apps will do, and the test
would timeout.
We'd need to add something like:
- "--configure" "--generate" and "--exit" command line switches that
would do what they say
- other scripting actions?
- simulated gui interactions?
The reasons we haven't added a test yet:
- It's a non-trivial test to add, which means it will take somebody a
significant chunk of time
- The pre-built Mac binary works fine: just download it and use it
A test would be good. If you have time, please add one and submit a
patch. This particular test is simply not on the top of anybody's
prioritized list right now.
We are relying on the community to try cmake-gui and ccmake during RC
phases and tell us if something is amiss.
Thanks,
David
On Wed, Jan 5, 2011 at 12:16 PM, Michael Jackson
<mike.jackson at bluequartz.net> wrote:
> Note that I am using the ./configure to configure CMake itself. Not CMake to configure CMake. So maybe there is something missing from those installs. The interesting part (with all the discussions with putting in bug reports) is that I even provided a patch for 2.8.0. Something got put into CVS (at the time) but not really sure what went in. So my conclusion is that there was a missing test to make sure that the built bundle actually launches which is why this was missed in all the automated testing.
> ___________________________________________________________
> Mike Jackson www.bluequartz.net
> Principal Software Engineer mike.jackson at bluequartz.net
> BlueQuartz Software Dayton, Ohio
>
> On Jan 5, 2011, at 12:13 PM, David Cole wrote:
>
>> This should have been fixed with the switch to using BundleUtilities
>> for CMake's bundle.
>>
>> The 2.8.3 BundleUtilities should copy in the Resources necessary for
>> this to work.
>>
>> So.... I think that was done (switch to using built in BU) just *after* 2.8.3.
>>
>>
>> Unless there's still a missing qt.conf file at that point.
>>
>>
>> On Wed, Jan 5, 2011 at 12:06 PM, Michael Jackson
>> <mike.jackson at bluequartz.net> wrote:
>>> Try the download from the CMake website, source download that is. Then configure and build and then install it.
>>>
>>> ___________________________________________________________
>>> Mike Jackson www.bluequartz.net
>>> Principal Software Engineer mike.jackson at bluequartz.net
>>> BlueQuartz Software Dayton, Ohio
>>>
>>> On Jan 5, 2011, at 12:01 PM, Clinton Stimpson wrote:
>>>
>>>>
>>>> I can't reproduce the problem using the current cmake source from git.
>>>>
>>>> Clint
>>>>
>>>> On Wednesday, January 05, 2011 08:05:43 am Michael Jackson wrote:
>>>>> Reopened the bug because this is _still_ an issue with CMake 2.8.3. Just
>>>>> tried to configure, build and install and got the same crash.
>>>>> ___________________________________________________________
>>>>> Mike Jackson www.bluequartz.net
>>>>> Principal Software Engineer mike.jackson at bluequartz.net
>>>>> BlueQuartz Software Dayton, Ohio
>>>>>
>>>>> On Dec 5, 2009, at 5:05 PM, Mike Jackson wrote:
>>>>>> Reported as bug number 10000 <http://paraview.org/Bug/view.php?id=10000>
>>>>>>
>>>>>> Hey, do I get some sort of Cookie or something for having bug number
>>>>>> 10,000? At least it will be easy to remember the bug number.
>>>>>>
>>>>>> _________________________________________________________
>>>>>> Mike Jackson mike.jackson at bluequartz.net
>>>>>>
>>>>>> On Sat, Dec 5, 2009 at 4:59 PM, Mike Jackson
>>>>>>
>>>>>> <mike.jackson at bluequartz.net> wrote:
>>>>>>> Sorry No Patch but here is what needs to be inserted into
>>>>>>> $CMAKE_SOURCE/Source/QtDialog/CMakeLists.txt.
>>>>>>>
>>>>>>> I'll put some context around it for David or Bill to more easily find the
>>>> place:
>>>>>>> IF(APPLE)
>>>>>>>
>>>>>>> SET(CMAKE_POSTFLIGHT_SCRIPT
>>>>>>>
>>>>>>> "${CMake_BINARY_DIR}/Source/QtDialog/postflight.sh")
>>>>>>>
>>>>>>> SET(CMAKE_POSTUPGRADE_SCRIPT
>>>>>>>
>>>>>>> "${CMake_BINARY_DIR}/Source/QtDialog/postupgrade.sh")
>>>>>>>
>>>>>>> configure_file("${CMake_SOURCE_DIR}/Source/QtDialog/postflight.sh.in"
>>>>>>>
>>>>>>> "${CMake_BINARY_DIR}/Source/QtDialog/postflight.sh")
>>>>>>>
>>>>>>> configure_file("${CMake_SOURCE_DIR}/Source/QtDialog/postupgrade.sh.in
>>>>>>> "
>>>>>>>
>>>>>>> "${CMake_BINARY_DIR}/Source/QtDialog/postupgrade.sh")
>>>>>>>
>>>>>>> INSTALL(CODE "execute_process(COMMAND ln -s
>>>>>>>
>>>>>>> \"../MacOS/${CMAKE_BUNDLE_NAME}\" cmake-gui
>>>>>>>
>>>>>>> WORKING_DIRECTORY
>>>>>>>
>>>>>>> \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/bin)")
>>>>>>>
>>>>>>> INSTALL(CODE "set(input_file
>>>>>>>
>>>>>>> \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/MacOS/${CMAKE_BUNDLE_NAME
>>>>>>> }\")")
>>>>>>>
>>>>>>> INSTALL(SCRIPT
>>>>>>>
>>>>>>> "${CMake_SOURCE_DIR}/Source/QtDialog/CMakeIngestOSXBundleLibraries.cmake
>>>>>>> ")
>>>>>>>
>>>>>>> IF (QT_MAC_USE_COCOA)
>>>>>>>
>>>>>>> INSTALL(CODE "execute_process(COMMAND /usr/bin/touch
>>>>>>>
>>>>>>> \"../Resources/qt.conf\"
>>>>>>>
>>>>>>> WORKING_DIRECTORY
>>>>>>>
>>>>>>> \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/bin)")
>>>>>>>
>>>>>>> INSTALL(CODE "execute_process(COMMAND cp -R
>>>>>>>
>>>>>>> \"${QT_LIBRARY_DIR}/QtGui.framework/Resources/qt_menu.nib\"
>>>>>>> \"../Resources/\"
>>>>>>>
>>>>>>> WORKING_DIRECTORY \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/bin)")
>>>>>>>
>>>>>>> ENDIF(QT_MAC_USE_COCOA)
>>>>>>>
>>>>>>> ENDIF(APPLE)
>>>>>>>
>>>>>>> Hopefully that will get committed into CVS HEAD asap as this probably
>>>>>>> is getting pretty important with Snow Leopard defaulting to 64 bit
>>>>>>> compiles, which forces Qt to be 64 bit, which forces Cocoa to be used,
>>>>>>> which forces this patch..
>>>>>>>
>>>>>>> Thanks
>>>>>>> _________________________________________________________
>>>>>>> Mike Jackson mike.jackson at bluequartz.net
>>>>>>>
>>>>>>> On Sat, Dec 5, 2009 at 11:12 AM, Clinton Stimpson <clinton at elemtech.com>
>>>> wrote:
>>>>>>>>> It would be nice to have a function allowing one to override/extend
>>>>>>>>> the default choice (which AFAIK is determined by asking otool about
>>>>>>>>> link-dependencies). Perhaps something like this:
>>>>>>>>>
>>>>>>>>> set_external_framework_properties(
>>>>>>>>>
>>>>>>>>> ${QT_QTGUI_LIBRARY} PROPERTIES
>>>>>>>>> REQUIRE Resources/qt_menu.nib DESTINATION <APP_BUNDLE>/Resources
>>>>>>>>> REQUIRE Versions/Current/Headers DESTINATION <FRAMEWORK>
>>>>>>>>> )
>>>>>>>>>
>>>>>>>>> which sets a few directory properties which then are used by
>>>>>>>>> fixup_bundle_item from the BundleUtilities for customizing the copied
>>>>>>>>> framework. The <APP_BUNDLE> and <FRAMEWORK> strings could resolve to
>>>>>>>>> the application-bundle being fixed up and the framework bundle
>>>>>>>>> directory, respectively.
>>>>>>>>
>>>>>>>> I'd prefer a default behavior that would work most of the time.
>>>>>>>> I realize people can stuff whatever they want into a Framework, but
>>>>>>>> some things are standard, and Resources is one of the standard ones,
>>>>>>>> so I think that one should be fixed without having to make any changes
>>>>>>>> to a user's CMakeLists.txt file.
>>>>>>>>
>>>>>>>> Also, some frameworks that BundleUtilities would copy aren't
>>>>>>>> necessarily known by cmake during link time, nor specified in any
>>>>>>>> CMakeLists.txt file.
>>>>>>>>
>>>>>>>> Clint
>>>>>
>>>>> _______________________________________________
>>>>> Powered by www.kitware.com
>>>>>
>>>>> Visit other Kitware open-source projects at
>>>>> http://www.kitware.com/opensource/opensource.html
>>>>>
>>>>> Please keep messages on-topic and check the CMake FAQ at:
>>>>> http://www.cmake.org/Wiki/CMake_FAQ
>>>>>
>>>>> Follow this link to subscribe/unsubscribe:
>>>>> http://www.cmake.org/mailman/listinfo/cmake
>>>
>>> _______________________________________________
>>> Powered by www.kitware.com
>>>
>>> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>>>
>>> Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ
>>>
>>> Follow this link to subscribe/unsubscribe:
>>> http://www.cmake.org/mailman/listinfo/cmake
>>>
>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.cmake.org/mailman/listinfo/cmake
>
More information about the CMake
mailing list