[Paraview] ParaView3 64-bit on Mac OS X 10.6.1
Michael Wild
themiwi at gmail.com
Tue Nov 3 03:20:00 EST 2009
On 3. Nov, 2009, at 8:07 , Elvis Dowson wrote:
> Hi,
> So, coming back to the issue with ParaView crashing on start-up,
> cmake-2.9.x the current version from cvs, does not copy the qt
> framework libraries to the app bundle. So I downgraded to cmake-2.8-
> rc4 and rebuild the paraview application from scratch.
>
> This time around, some files from the qt libraries were copied to
> the app bundle, but the paraview app still crashes.
>
> If I go into the app bundle, and try to launch the paraview
> executable from the Paraview-3.7.0.app/MacOS folder, it gives the
> following error:
>
> Last login: Tue Nov 3 09:48:19 on ttys002
> /Applications/ParaView\ 3.7.0.app/Contents/MacOS/paraview ; exit;
> Elvis-Dowsons-MacBook-Pro:~ elvis$ /Applications/ParaView\ 3.7.0.app/
> Contents/MacOS/paraview ; exit;
> Qt internal error: qt_menu.nib could not be loaded. The .nib file
> should be placed in QtGui.framework/Versions/Current/Resources/ or
> in the resources directory of your application bundle.
> Abort trap
> logout
>
>
>
> If I look under QtGui.framework/Versions, there is no Current
> folder, so the whole Current/Resources/ subfolder is missing from
> the app bundle.
>
> I can clearly see that for my qt-4.5.4 installation, the lib/
> QtGui.framework folder is ok, ... there is a alias called Current ,
> which points to /Developer/Applications/Qt-4.5/lib/QtGui.framework/
> Versions/4, which contains the Resources and Headers subfolders.
>
> But this is missing from the app bundle.
>
> The cmake script should have fully copied the version 4 resources
> and header folders, and it is crashing because the Resources were
> not copied over fully.
>
> What should I do?
>
> Best regards,
>
> Elvis
>
Yes, I also had this problem, and so did others: http://markmail.org/thread/eneuve2yoemzube7
I had to use the patches at the end of the message. Essentially they
copy the qt_menu.nib to the applications resources folder and create
an empty qt.conf to prevent loading of image plugins by Qt.
The reason that CMake doesn't copy the whole frameworks is space. It
tries very hard to only copy things that are actually required to run
ParaView. All the development files (e.g. header files) is just
useless junk when it comes to running the program. The qt_menu.nib is
a recent addition introduced by Qt-Cocoa and hasn't made it into the
CMake scripts yet.
HTH
Michael
--------<8--------
diff --git a/Applications/Client/CreateBundle.sh.in b/Applications/
Client/CreateBundle.sh.in
index 539e817..617eaba 100755
--- a/Applications/Client/CreateBundle.sh.in
+++ b/Applications/Client/CreateBundle.sh.in
@@ -36,6 +36,7 @@ LibrariesDir="$ParaView_App/Contents/Libraries"
PluginsDir="$ParaView_App/Contents/Plugins"
PythonDir="$ParaView_App/Contents/Python"
SupportDir="$ParaView_App/Contents/Support"
+ResourcesDir="$ParaView_App/Contents/Resources"
# Create directories in the install tree bundle
@@ -45,6 +46,7 @@ mkdir -p "$LibrariesDir"
mkdir -p "$PluginsDir"
mkdir -p "$PythonDir"
mkdir -p "$SupportDir"
+mkdir -p "$ResourcesDir"
# Copy the documentation into the Support directory
@@ -61,3 +63,7 @@ cp -Rp "${ParaViewBinaryDir}/Utilities/
VTKPythonWrapping/paraview" "$PythonDir/"
# above recursive directory copies:
#
rm -rf "$PythonDir/paraview/pv_compile_complete"
+
+# Add an empty qt.conf to prevent the loading of imageformats plugins
+#
+touch "$ResourcesDir/qt.conf"
diff --git a/Applications/Client/CMakeLists.txt b/Applications/Client/
CMakeLists.txt
index fba5b6a..5604ade 100644
--- a/Applications/Client/CMakeLists.txt
+++ b/Applications/Client/CMakeLists.txt
@@ -58,6 +58,23 @@ IF(Q_WS_MAC)
PROPERTIES
MACOSX_PACKAGE_LOCATION Resources
)
+ IF(QT_MAC_USE_COCOA)
+ GET_FILENAME_COMPONENT(qt_menu_nib
+ "@QT_QTGUI_LIBRARY_RELEASE@/Resources/qt_menu.nib"
+ REALPATH)
+ set(qt_menu_nib_sources
+ "${qt_menu_nib}/classes.nib"
+ "${qt_menu_nib}/info.nib"
+ "${qt_menu_nib}/keyedobjects.nib"
+ )
+ SET_SOURCE_FILES_PROPERTIES(
+ ${qt_menu_nib_sources}
+ PROPERTIES
+ MACOSX_PACKAGE_LOCATION Resources/qt_menu.nib
+ )
+ ELSE(QT_MAC_USE_COCOA)
+ set(qt_menu_nib_sources)
+ ENDIF(QT_MAC_USE_COCOA)
SET(MACOSX_BUNDLE_ICON_FILE MacIcon.icns)
SET(MAKE_BUNDLE MACOSX_BUNDLE)
ENDIF(Q_WS_MAC)
@@ -80,6 +97,7 @@ ADD_EXECUTABLE(${PV_EXE_NAME} WIN32 ${MAKE_BUNDLE}
ProcessModuleGUIHelper.h
${EXE_ICON}
${apple_bundle_sources}
+ ${qt_menu_nib_sources}
)
TARGET_LINK_LIBRARIES(${PV_EXE_NAME}
-------->8--------
More information about the ParaView
mailing list