NOTE: These instructions are not complete
# Install patchelf
https://nixos.org/patchelf.html

Casa dependencies:
sudo apt-get install default-jdk
sudo apt-get install libdbus-1-dev
sudo apt-get install libxslt1-dev
sudo apt-get install qt4*
sudo apt-get install libqwt6
sudo apt-get install libqwt-dev
sudo apt-get install libxerces-c-dev
sudo apt-get install sqlite3
sudo apt-get install libccfits-dev
sudo apt-get install doxygen
sudo apt-get install libeigen3-dev
sudo apt-get install libsqlite3-dev
sudo apt-get install libqwt5-qt4-dev
sudo apt-get install chrpath

#WcsLib must be built from source (5.15)

# CMake Flags to building Casacore

cmake  -DBoost_NO_BOOST_CMAKE=1 -DCASA_BUILD=1 -DBUILD_TESTING=OFF -DCMAKE_INSTALL_PREFIX=../../linux -DBUILD_PYTHON=1 -DCMAKE_PREFIX_PATH=/media/workdrive/CARTA/CARTAvis-externals/ThirdParty/wcslib ..
make -j 4

# Apply https://safe.nrao.edu/wiki/pub/Software/CASA/CartaBuildInstructionsForUbuntu/imageanalysisonubuntu.diff to Code to build imageanalysis only

# CMake Flags to building Code

cmake  -DBoost_NO_BOOST_CMAKE=1 '-DEXTRA_C_FLAGS=-DPG_PPU'  -Darch=linux -DBoost_NO_BOOST_CMAKE=1 -DCMAKE_BUILD_TYPE=Release -DCXX11=1 -DWCSLIB_ROOT_DIR=/media/workdrive/CARTA/CARTAvis-externals/ThirdParty/wcslib ..
make -j 4

# Steps
export PATH=/home/$USER/Qt5.3.2/5.3/gcc_64/bin/:$PATH
cd CARTA
export CARTABUILDHOME=`pwd`
cd $CARTABUILDHOME/CARTAvis/carta/html5/common/skel
./generate.py source > /dev/null
./generate.py  > /dev/null
cd cd $CARTABUILDHOME/CARTAvis/build/
qmake NOSERVER=1 CARTA_BUILD_TYPE=dev $CARTABUILDHOME/CARTAvis/carta -r
svn co https://svn.cv.nrao.edu/svn/casa/development_tools/packaging
cd packaging/scripts/
export cartaversion='1.0.0'
./make-app-carta  -ni -v version=$cartaversion type=DEV out=/tmp ws=$CARTABUILDHOME/build/cpp/desktop

# Copy html
cp -r /media/workdrive/CARTA/CARTAvis/carta/html5/ /tmp/carta-DEV-1.0.0/etc/
cp -r /media/workdrive/CARTA/CARTAvis-externals/qooxdoo-3.5-sdk /tmp/carta-DEV-1.0.0/etc/html5/common/

# Copy images

tar xvfz /media/workdrive/cartaimages.tar.gz -C /tmp/carta-DEV-$cartaversion/etc/

# Fix paths to match the new packaging
vim bin/setupcartavis.sh

# Copy missing libs
cp /home/$USER/Qt5.3.2/5.3/gcc_64/lib/libQt5DBus.so.5 /tmp/carta-DEV-$cartaversion/lib/
cp /media/workdrive/casa/trunk/linux/lib/* /tmp/carta-DEV-$cartaversion/lib/

cp /home/$USER/Qt5.3.2/5.3/gcc_64/plugins/platforms/libqxcb.so /tmp/carta-DEV-ubuntu-20160823/bin/platforms
chrpath -c -r '$ORIGIN/../../lib/ /tmp/carta-DEV-ubuntu-20160823/bin/platforms/libqxcb.so'

# /usr/lib
cp /usr/lib/libblas/libblas.so.3 /tmp/carta-DEV-$cartaversion/lib/
cp /usr/lib/libblas/libblas.so.3 /tmp/carta-DEV-$cartaversion/lib/
cp /usr/lib/libatlas.so.3 /tmp/carta-DEV-$cartaversion/lib/
cp /usr/lib/libblas.so.3 /tmp/carta-DEV-$cartaversion/lib/
cp /usr/lib/libcblas.so.3 /tmp/carta-DEV-$cartaversion/lib/
cp /usr/lib/libcpgplot.so.5 /tmp/carta-DEV-$cartaversion/lib/
cp /usr/lib/libf77blas.so.3 /tmp/carta-DEV-$cartaversion/lib/
cp /usr/lib/libgslcblas.so.0 /tmp/carta-DEV-$cartaversion/lib/
cp /usr/lib/libgsl.so.0 /tmp/carta-DEV-$cartaversion/lib/
cp /usr/lib/liblapack.so.3 /tmp/carta-DEV-$cartaversion/lib/
cp /usr/lib/libpgplot.so.5 /tmp/carta-DEV-$cartaversion/lib/

cp /usr/lib/x86_64-linux-gnu/libcfitsio.so.3 /tmp/carta-DEV-$cartaversion/lib/
cp /usr/lib/x86_64-linux-gnu/libdbus-c++-1.so.0 /tmp/carta-DEV-$cartaversion/lib/
cp /usr/lib/x86_64-linux-gnu/libfftw3.so.3 /tmp/carta-DEV-$cartaversion/lib/
cp /usr/lib/x86_64-linux-gnu/libfftw3_threads.so.3 /tmp/carta-DEV-$cartaversion/lib/
cp /usr/lib/x86_64-linux-gnu/libgfortran.so.3 /tmp/carta-DEV-$cartaversion/lib/

# Fix runtime paths
cd /tmp/carta-DEV-$cartaversion/lib/
for file in `ls`; do chrpath -c -r '$ORIGIN/../lib/' $file; done
for file in `ls`; do patchelf --set-rpath '$ORIGIN/../lib/' $file; done

-- VilleSuoranta - 2016-08-24

This topic: Software/CASA > Software > WebHome > CASASoftwareEngineering > CartaBuildInstructions > CartaBuildInstructionsForUbuntu
Topic revision: 2016-08-24, VilleSuoranta
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding NRAO Public Wiki? Send feedback