-
-
Notifications
You must be signed in to change notification settings - Fork 4.6k
MacOS_dmg
Jochen Sprickerhof edited this page Sep 5, 2013
·
2 revisions
install MacPorts: http://www.macports.org/install.php
- Boost:
sudo port -v dmg boost +universal
- FLANN:
sudo port -v dmg flann +universal
- Eigen:
sudo port -v dmg eigen3 +universal
- VTK: We still need VTK in x11 mode, as cocoa/carbon didn't work at all in our tests :(
sudo port -v dmg vtk5 +x11 +universal
- QHull:
sudo port -v dmg qhull +universal
- LibUSB-devel:
sudo port dmg libusb-devel +universal
The main idea of these manual steps is to replicate the install.sh script that comes with the drivers.
!packagemaker_1.jpg!
!packagemaker_2.jpg! !packagemaker_3.jpg!
in PCL trunk (trunk/3rdparty/openni/source to be more exact), type make
to create two files: OpenNI-Bin-MacOSX-v1.3.2.1.tar.bz2 and Sensor-Bin-MacOSX-v5.0.3.3.tar.bz2
from the OpenNI-Bin-MacOSX-v1.3.2.1.tar.bz2 archive, drag the Bin, Include, Jar and Lib folders to the PackageMaker choice
!packagemaker_4.jpg!
go through each folder and specify its destination based on what install.sh mentions (i.e., $INSTALL_BIN, $INSTALL_INC, $INSTALL_JAR). For example, our install.sh has:
INSTALL_LIB=$rootfs/usr/lib
INSTALL_BIN=$rootfs/usr/bin
INSTALL_INC=$rootfs/usr/include/ni
INSTALL_VAR=$rootfs/usr/etc/ni
INSTALL_JAR=$rootfs/usr/share/java
!packagemaker_5.jpg! It seems that we need to have SamplesConfig.xml installed in /etc/openni too, so make sure to add it as shown below! !packagemaker_a.jpg!
next, create a separate bash script file and copy-paste lines from install.sh that are not related to copying files (you have just done that in the previous step):
- create database dir
- register modules
- Example:
#!/bin/sh -e
MODULES="libnimMockNodes.dylib libnimCodecs.dylib libnimRecorder.dylib"
rootfs=
INSTALL_LIB=$rootfs/usr/lib
INSTALL_BIN=$rootfs/usr/bin
INSTALL_INC=$rootfs/usr/include/ni
INSTALL_VAR=$rootfs/usr/etc/ni
INSTALL_JAR=$rootfs/usr/share/java
# make all calls into OpenNI run in this filesystem
export OPEN_NI_INSTALL_PATH=$rootfs
# make sure the staging dir OpenNI is the one being run
export LD_LIBRARY_PATH=$INSTALL_LIB
# create database dir
printf "creating database directory..."
mkdir -p $INSTALL_VAR
printf "OK\n"
mkdir -p /etc/openni
chmod -R 0777 /etc/openni
# register modules
for module in $MODULES; do
printf "registering module '$module'..."
$INSTALL_BIN/niReg -r $INSTALL_LIB/$module
printf "OK\n"
done
attach the script you just created to the last folder that is to be installed in your choice: Scripts tab -> Postinstall
!packagemaker_6.jpg!
!packagemaker_7.jpg! !packagemaker_8.jpg!
#!/bin/sh -e
MODULES="libXnDeviceSensorV2.dylib libXnDeviceFile.dylib"
# create file list
rootfs=
INSTALL_BIN=$rootfs/usr/bin
INSTALL_LIB=$rootfs/usr/lib
SERVER_LOGS_DIR=$rootfs/var/log/primesense/XnSensorServer
# make all calls into OpenNI run in this filesystem
export OPEN_NI_INSTALL_PATH=$rootfs
# make sure the staging dir OpenNI is the one being run
export LD_LIBRARY_PATH=$INSTALL_LIB
printf "Installing PrimeSense Sensor\n"
printf "****************************\n\n"
# register modules
for module in $MODULES; do
printf "registering module '$module' with OpenNI..."
$INSTALL_BIN/niReg -r $INSTALL_LIB/$module $INSTALL_ETC
printf "OK\n"
done
# make server run as root
printf "setting uid of server..."
chown root $INSTALL_BIN/XnSensorServer
chmod +s $INSTALL_BIN/XnSensorServer
printf "OK\n"
# create server log dir
printf "creating server logs dir..."
mkdir -p $SERVER_LOGS_DIR
# make this dir readable and writable by all (we allow anyone to delete logs)
chmod a+w $SERVER_LOGS_DIR
printf "OK\n"
printf "\n*** DONE ***\n\n"
!packagemaker_9.jpg!
- Disk Utility -> New Image