MantisBT - ParaView
View Issue Details
0009998ParaViewBugpublic2009-12-05 11:462010-11-16 17:45
Utkarsh Ayachit 
David Partyka 
normalminorhave not tried
closedfixed 
 
3.83.8 
0009998: Installation Issues
This bug collects numerous installation issues people have run into with previous ParaView installs.

-------------------------------------------------------------
All Platforms:
-------------------------------------------------------------
* Make install doesn't work well -- looks like prefix is being ignored.
* Development install doesn't work well.

-------------------------------------------------------------
Linux:
-------------------------------------------------------------
* Plugins are being installed under "/bin".
* Documentation is not installed at standard locations

-------------------------------------------------------------
Windows:
-------------------------------------------------------------
* "bin" and "lib" dirs are created which seems unnecessary. On Windows, we can just put everything under the same dir.


-------------------------------------------------------------
Mac:
-------------------------------------------------------------
* ... please remember that Qt-cocoa needs the qt_menu.nib directory in the Resources. Also, I think I had trouble with QT_QTCLUCENE_LIBRARY not being included in the bundle and a missing empty qt.conf file (to prevent Qt from loading png/tiff plugins). ~ Michael Wild

No tags attached.
parent of 0009868closed David Partyka vtkParse.h is missing from the install tree (PARAVIEW_INSTALL_DEVELOPMENT) 
parent of 0009867closed David Partyka building server side plugin against install tree (with PARAVIEW_INSTALL_DEVELOPMENT ON) create unloadable plugins 
parent of 0009977closed David Partyka For development install, add option to not install Qt libraries. 
parent of 0008712closed David Partyka development install issue 
parent of 0010558closed David Partyka Make install doesn't work well. 
Issue History
2009-12-05 11:46Utkarsh AyachitNew Issue
2009-12-05 11:48Utkarsh AyachitRelationship addedparent of 0009868
2009-12-05 11:48Utkarsh AyachitRelationship addedparent of 0009867
2009-12-05 11:49Utkarsh AyachitRelationship addedparent of 0009977
2009-12-05 15:32Mike JacksonNote Added: 0018696
2009-12-05 15:54Mike JacksonNote Added: 0018697
2009-12-05 16:01Mike JacksonNote Added: 0018698
2009-12-08 08:40olesenNote Added: 0018720
2009-12-08 09:29Utkarsh AyachitRelationship addedparent of 0008712
2009-12-11 10:44Utkarsh AyachitStatusbacklog => tabled
2009-12-11 10:44Utkarsh AyachitAssigned To => David Partyka
2010-02-08 11:04Michael WildNote Added: 0019471
2010-02-08 11:34Michael WildNote Added: 0019474
2010-03-17 09:30David PartykaNote Added: 0019925
2010-03-17 10:39Mike JacksonNote Added: 0019936
2010-04-16 01:30Utkarsh AyachitNote Added: 0020201
2010-04-16 06:23David PartykaNote Added: 0020213
2010-04-16 06:35David PartykaRelationship addedparent of 0010558
2010-04-16 06:36David PartykaNote Edited: 0020213
2010-07-06 16:34David PartykaNote Added: 0021256
2010-11-16 12:24David PartykaNote Added: 0023295
2010-11-16 12:24David PartykaStatustabled => @80@
2010-11-16 12:24David PartykaFixed in Version => 3.8
2010-11-16 12:24David PartykaResolutionopen => fixed
2010-11-16 17:45Alan ScottNote Added: 0023308
2010-11-16 17:45Alan ScottStatus@80@ => closed

Notes
(0018696)
Mike Jackson   
2009-12-05 15:32   
=== OS X ====
My custom plugins are NOT being copied into the final installed location.
(0018697)
Mike Jackson   
2009-12-05 15:54   
==== OS X ====
The ParaView Application bundle is being forcibly installed into /Applications when I specifically set a CMAKE_INSTALL_PREFIX of /Users/Shared/Toolkits/ParaView-3.6.1

 Following suggestions in the shell script file:

# InstallPrefix environment variable may be set by caller...
# If not, default to "$DESTDIR/Applications"
 I tried "export InstallPrefix=/Users/Shared/Toolkits/ParaView-3.6.1" and the make install. Still put ParaView.app into /Applications

If this is going to be an "option" then there really needs to be a CMake variable such as "PARAVIEW_OSX_BUNDLE_INSTALL" to make it clear just where the app bundle is going to be installed.
(0018698)
Mike Jackson   
2009-12-05 16:01   
Here is my version of CreateBundle.sh.in that will create a blank qt.conf and copy the qt_menu.nib file into the proper location inside the application bundle and the qtassistant bundle.

#===================

#!/bin/sh

# InstallPrefix environment variable may be set by caller...
# If not, default to "$DESTDIR/Applications"
#
if [ "x$InstallPrefix" = "x" ]; then
  InstallPrefix="$DESTDIR/Applications"
  echo "info: Using default InstallPrefix value:"
  echo " $InstallPrefix"
fi

ParaViewBinaryDir="@ParaView_BINARY_DIR@"
ParaViewExeName="@PV_EXE_NAME@"
ParaView_App="@EXECUTABLE_OUTPUT_PATH@/$ParaViewExeName.app"


# Remove the previous app package so we start with a clean bundle
#
echo "Remove previous bundle"
rm -rf "$InstallPrefix/ParaView @PARAVIEW_VERSION_MAJOR@.@PARAVIEW_VERSION_MINOR@.@PARAVIEW_VERSION_PATCH@.app"


# Copy paraview.app from the build tree to the install tree:
#
echo "Copy paraview.app from the build tree to $InstallPrefix/"
mkdir -p "$InstallPrefix"
cp -Rp "$ParaView_App" "$InstallPrefix/"
mv "$InstallPrefix/paraview.app" "$InstallPrefix/ParaView @PARAVIEW_VERSION_MAJOR@.@PARAVIEW_VERSION_MINOR@.@PARAVIEW_VERSION_PATCH@.app"


# Now operate on the bundle in the install tree:
#
ParaView_App="$InstallPrefix/ParaView @PARAVIEW_VERSION_MAJOR@.@PARAVIEW_VERSION_MINOR@.@PARAVIEW_VERSION_PATCH@.app"

FrameworksDir="$ParaView_App/Contents/Frameworks"
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
#
mkdir -p "$FrameworksDir"
mkdir -p "$LibrariesDir"
mkdir -p "$PluginsDir"
mkdir -p "$PythonDir"
mkdir -p "$SupportDir"
mkdir -p "$ResourcesDir"


# Copy the documentation into the Support directory
#
echo "Copy documentation"
cp -Rp "${ParaViewBinaryDir}/Documentation" "$SupportDir/"
cp -p "${ParaViewBinaryDir}/pqClient.adp" "$SupportDir/."


# Copy the python scripts into the Python directory
#
echo "Copy python scripts"
cp -Rp "${ParaViewBinaryDir}/Utilities/VTKPythonWrapping/paraview" "$PythonDir/"


# Copy the Qt Assistant application into the Support directory
#
echo "Embed copy of the QtAssistant in bundle"
cp -RpL "@QT_ASSISTANT_DOTAPP_BUNDLE@" "$SupportDir/"

# Create an empty qt.conf file in the Assistant_adp app package
# to stop plugin loading by Assistant.
#
touch "$SupportDir/@QT_ASSISTANT_DOTAPP_BUNDLE_NAME@/Contents/Resources/qt.conf"

# Create an empty qt.conf file in the Assistant_adp app package
# to stop ParaView from loading Qt plugins like qttiff and things like that.
#
touch "$ResourcesDir/qt.conf"

# Create symlinks so that the Assistant.app bundle can use the same
# copy of Qt Frameworks/Libraries as the paraview executable, yet still
# refer to them via a string like "@executable_path/../Frameworks"...
#
pushd "$SupportDir/@QT_ASSISTANT_DOTAPP_BUNDLE_NAME@/Contents"
ln -s "../../../Libraries" "Libraries"
ln -s "../../../Frameworks" "Frameworks"
popd


# Remove unneeded build-byproduct files that were copied by the
# above recursive directory copies:
#
rm -rf "$PythonDir/paraview/pv_compile_complete"
rm -rf "$SupportDir/Documentation/CMakeFiles"
rm -rf "$SupportDir/Documentation/cmake_install.cmake"
rm -rf "$SupportDir/Documentation/CTestTestfile.cmake"
rm -rf "$SupportDir/Documentation/Makefile"

# If we built with the Cocoa version of Qt then copy the qt_menu.nib bundle from
# the framework directory into the actual Applications directory and the
# QtAssistant Application Bundle
#
if [ "@VTK_USE_COCOA@" = "ON" ]; then
  cp -R "@QT_LIBRARY_DIR@/QtGui.framework/Resources/qt_menu.nib" "$ResourcesDir/"
  cp -R "@QT_LIBRARY_DIR@/QtGui.framework/Resources/qt_menu.nib" "$SupportDir/@QT_ASSISTANT_DOTAPP_BUNDLE_NAME@/Contents/Resources/"
fi

#===================
(0018720)
olesen   
2009-12-08 08:40   
See related issue - http://www.paraview.org/Bug/view.php?id=8712 [^]

This prevents paraview from finding paraview-real
(0019471)
Michael Wild   
2010-02-08 11:04   
The issues with libQtCLucene.dylib and libqsqlite.dylib not being copied into the application-bundle on Mac OS X can be fixed by this patch:

http://github.com/themiwi/ParaView/commit/f07cdfd91f513962d1a242eb799373016044ef12 [^]
(0019474)
Michael Wild   
2010-02-08 11:34   
The issue of the missing qt_menu.nib when using Qt-Cocoa is solved by this patch:

http://github.com/themiwi/ParaView/commit/f2c5d7e0b065a232a54ebb39f516122cc854b6a2 [^]
(0019925)
David Partyka   
2010-03-17 09:30   
Okay, both of Michael Wild's patches have been patched in but this bug has become very multi faceted. What parts of this bug are still not fixed? Just the Application bundle install dir?

Mike Jackson, if you export DESTDIR=<some_dir> and then make install you should get the desired behavior. Though this is more of just a testing feature that Dave Cole put in.
(0019936)
Mike Jackson   
2010-03-17 10:39   
I tried what you suggested on a "git pull origin master" on 3/17/2010 at 10:15 AM EDT and when I run the make install I get the following:

CMAKE_INSTALL_PREFIX=/Users/Shared/Toolkits/ParaView
export DESTDIR=$CMAKE_INSTALL_PREFIX
make install

I then get an "Applications/ParaView-3.7.0.app" created in the /Users/Shared/Toolkits/ParaView directory
I also get another folder hierarchy created:

/Users/Shared/Toolkits/ParaView/Users/Shared/Toolkits/ParaView/bin with another paraview.app inside that. So basically the "make install" does NOT work at all on OS X. It is totally messed up. And my custom client plugins were NOT copied into the proper folder structure in any of those folders above.
(0020201)
Utkarsh Ayachit   
2010-04-16 01:30   
Reminder sent to: David Partyka

Dave,

What's the status of this bug? As far as "make install" goes, create a new bug for fix "make install" on all platforms (including Mac). Once CMake adds support for it, we can look it at.
(0020213)
David Partyka   
2010-04-16 06:23   
(edited on: 2010-04-16 06:36)
All the fixes have been applied for installing missing libs. Created a child issue for the make install related issues.

(0021256)
David Partyka   
2010-07-06 16:34   
Hi Mike, I think I have fixed the remainder of the issues related to make install on Mac. If you do make install you should get a bin, lib directories and a paraview app in your CMAKE_INSTALL_PREFIX. Can you test this out. The changes are on ParaView master. Also note I opened a child bug 0010558 specifically for this issue.
(0023295)
David Partyka   
2010-11-16 12:24   
I believe all of these issues are resolved. If anyone disagrees please reopen.
(0023308)
Alan Scott   
2010-11-16 17:45   
Trusting Dave, the buildmeister.