Commit 24fe8bf4 authored by prjemian's avatar prjemian
Browse files

build latest caQtDM in a sandbox

parent 282c9b3c
# caQtDM: Compiling and installation Note
## date: 2017-06-01
* first, work in a test directory away from /APSshare (a sandbox)
```
jemian@gov ~ $ cd epics
jemian@gov ~/epics $ mkdir caQtDM_for_APSshare
jemian@gov ~/epics $ cd caQtDM_for_APSshare
```
* built Qt 4.8.7
* built Qwt 6.1.3
* built Qwt 6.1.1
* built caQtDM master (4.1.6-development)
* git clone https://github.com/caqtdm/caqtdm.git ./caqtdm-master
* /APSshare/epics/extensions-base/base-3.15.5/lib/linux-x86_64
* Qt 4.8.7
* qwt 6.1.3 (also tested with 6.1.1: both OK, using 6.1.3)
* designer (from Qt) worked fine
* caQtDM worked fine
```
cd /home/oxygen/JEMIAN/epics/caQtDM_for_APSshare/installed/caqtdm-4.1.6
export QT_PLUGIN_PATH=/home/oxygen18/JEMIAN/epics/caQtDM_for_APSshare/installed/caqtdm-4.1.6
../qt-4.8.7/bin/designer /tmp/gov_m1.ui &
export PATH=.:$PATH
./startDM /tmp/gov_m1.ui &
```
### note that executable has expected library paths:
:expected: only system, EPICS, Anaconda Python, or sandbox
```
jemian@gov ~/.../installed/caqtdm-4.1.6 $ ldd caQtDM
linux-vdso.so.1 => (0x00007ffec23e4000)
libcaQtDM_Lib.so => /home/oxygen18/JEMIAN/epics/caQtDM_for_APSshare/installed/caqtdm-4.1.6/libcaQtDM_Lib.so (0x00007f7710995000)
libqtcontrols.so => /home/oxygen18/JEMIAN/epics/caQtDM_for_APSshare/installed/caqtdm-4.1.6/libqtcontrols.so (0x00007f7710553000)
libQtSvg.so.4 => /home/oxygen18/JEMIAN/epics/caQtDM_for_APSshare/installed/qt-4.8.7/lib/libQtSvg.so.4 (0x00007f77102fc000)
libQtNetwork.so.4 => /home/oxygen18/JEMIAN/epics/caQtDM_for_APSshare/installed/qt-4.8.7/lib/libQtNetwork.so.4 (0x00007f770ffad000)
libQtXml.so.4 => /home/oxygen18/JEMIAN/epics/caQtDM_for_APSshare/installed/qt-4.8.7/lib/libQtXml.so.4 (0x00007f770fd67000)
libQtGui.so.4 => /home/oxygen18/JEMIAN/epics/caQtDM_for_APSshare/installed/qt-4.8.7/lib/libQtGui.so.4 (0x00007f770f068000)
libQtCore.so.4 => /home/oxygen18/JEMIAN/epics/caQtDM_for_APSshare/installed/qt-4.8.7/lib/libQtCore.so.4 (0x00007f770eb60000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f770e8ff000)
libXext.so.6 => /lib64/libXext.so.6 (0x00007f770e6ed000)
libX11.so.6 => /lib64/libX11.so.6 (0x00007f770e3af000)
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f770e0a6000)
libm.so.6 => /lib64/libm.so.6 (0x00007f770dda4000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f770db8e000)
libc.so.6 => /lib64/libc.so.6 (0x00007f770d7cc000)
libCom.so.3.15.5 => /APSshare/epics/extensions-base/base-3.15.5/lib/linux-x86_64/libCom.so.3.15.5 (0x00007f770d55b000)
libpython2.7.so.1.0 => /APSshare/anaconda/x86_64/lib/libpython2.7.so.1.0 (0x00007f770d173000)
libQtTest.so.4 => /home/oxygen18/JEMIAN/epics/caQtDM_for_APSshare/installed/qt-4.8.7/lib/libQtTest.so.4 (0x00007f770cf4d000)
libqwt.so.6 => /home/oxygen18/JEMIAN/epics/caQtDM_for_APSshare/installed/qwt-6.1.3-qt-4.8.7/lib/libqwt.so.6 (0x00007f770cc07000)
libQtScript.so.4 => /home/oxygen18/JEMIAN/epics/caQtDM_for_APSshare/installed/qt-4.8.7/lib/libQtScript.so.4 (0x00007f770c75f000)
libQtDesigner.so.4 => /home/oxygen18/JEMIAN/epics/caQtDM_for_APSshare/installed/qt-4.8.7/lib/libQtDesigner.so.4 (0x00007f770c00a000)
libgthread-2.0.so.0 => /lib64/libgthread-2.0.so.0 (0x00007f770be07000)
libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007f770bad0000)
libfreetype.so.6 => /lib64/libfreetype.so.6 (0x00007f770b829000)
libgobject-2.0.so.0 => /lib64/libgobject-2.0.so.0 (0x00007f770b5d9000)
libSM.so.6 => /lib64/libSM.so.6 (0x00007f770b3d1000)
libICE.so.6 => /lib64/libICE.so.6 (0x00007f770b1b4000)
libXrender.so.1 => /lib64/libXrender.so.1 (0x00007f770afaa000)
libfontconfig.so.1 => /lib64/libfontconfig.so.1 (0x00007f770ad6d000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f770ab68000)
librt.so.1 => /lib64/librt.so.1 (0x00007f770a960000)
/lib64/ld-linux-x86-64.so.2 (0x00007f7710c39000)
libxcb.so.1 => /lib64/libxcb.so.1 (0x00007f770a73e000)
libutil.so.1 => /lib64/libutil.so.1 (0x00007f770a53a000)
libQtOpenGL.so.4 => /home/oxygen18/JEMIAN/epics/caQtDM_for_APSshare/installed/qt-4.8.7/lib/libQtOpenGL.so.4 (0x00007f770a23b000)
libGL.so.1 => /lib64/libGL.so.1 (0x00007f7709fca000)
libffi.so.6 => /lib64/libffi.so.6 (0x00007f7709dc2000)
libuuid.so.1 => /lib64/libuuid.so.1 (0x00007f7709bbc000)
libexpat.so.1 => /lib64/libexpat.so.1 (0x00007f7709992000)
libXau.so.6 => /lib64/libXau.so.6 (0x00007f770978e000)
libxcb-dri3.so.0 => /lib64/libxcb-dri3.so.0 (0x00007f770958a000)
libxcb-present.so.0 => /lib64/libxcb-present.so.0 (0x00007f7709387000)
libxcb-randr.so.0 => /lib64/libxcb-randr.so.0 (0x00007f7709179000)
libxcb-xfixes.so.0 => /lib64/libxcb-xfixes.so.0 (0x00007f7708f70000)
libxcb-render.so.0 => /lib64/libxcb-render.so.0 (0x00007f7708d66000)
libxcb-shape.so.0 => /lib64/libxcb-shape.so.0 (0x00007f7708b62000)
libxcb-sync.so.1 => /lib64/libxcb-sync.so.1 (0x00007f770895a000)
libxshmfence.so.1 => /lib64/libxshmfence.so.1 (0x00007f7708758000)
libglapi.so.0 => /lib64/libglapi.so.0 (0x00007f7708529000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f7708301000)
libXdamage.so.1 => /lib64/libXdamage.so.1 (0x00007f77080fe000)
libXfixes.so.3 => /lib64/libXfixes.so.3 (0x00007f7707ef8000)
libX11-xcb.so.1 => /lib64/libX11-xcb.so.1 (0x00007f7707cf5000)
libxcb-glx.so.0 => /lib64/libxcb-glx.so.0 (0x00007f7707adb000)
libxcb-dri2.so.0 => /lib64/libxcb-dri2.so.0 (0x00007f77078d6000)
libXxf86vm.so.1 => /lib64/libXxf86vm.so.1 (0x00007f77076cf000)
libdrm.so.2 => /lib64/libdrm.so.2 (0x00007f77074c0000)
libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f770725e000)
```
#!/bin/bash
# file: qt_build.sh
# purpose: configure, compile, and install Qt
# use: qt_build.sh 2>&1 | tee qt_build_log.txt
export SANDBOX_DIR=/home/oxygen18/JEMIAN/epics/caQtDM_for_APSshare
export QT_SRC_DIR=${SANDBOX_DIR}/qt4-git
export INSTALL_ROOT=${SANDBOX_DIR}/installed
export INSTALL_DIR=${INSTALL_ROOT}/qt-4.8.7
#export INSTALL_DIR=./
cd ${QT_SRC_DIR}
# to clean first:
#echo "# `date`: --------------------------> clean"
#make confclean
echo "# `date`: --------------------------> configure"
./configure \
-prefix ${INSTALL_DIR} \
-opensource \
-shared \
-no-fast \
-no-qt3support \
-qt-zlib \
-qt-libtiff \
-qt-libpng \
-qt-libjpeg \
-qt-libmng \
-no-xinerama \
-no-xvideo \
-nomake demos \
-nomake examples \
-nomake docs \
-nomake translations \
-no-webkit \
-confirm-license
echo "# `date`: --------------------------> make"
make -j10
if [ "./" != ${INSTALL_DIR} ] && [ "" != ${INSTALL_DIR} ]; then
echo "# `date`: --------------------------> install"
make install
fi
echo "# `date`: --------------------------> done"
#!/bin/bash
# file: qwt_build.sh
# purpose: configure, compile, and install qwt
# use: qwt_build.sh 2>&1 | tee qwt_build_log.txt
export SANDBOX_DIR=/home/oxygen18/JEMIAN/epics/caQtDM_for_APSshare
#export QWT_SRC_DIR=${SANDBOX_DIR}/qwt-6.1.3
export QWT_SRC_DIR=${SANDBOX_DIR}/qwt-6.1.1
# in qwtconfig.pri, make this definition for unix (line :
# QWT_INSTALL_PREFIX = $${INSTALL_ROOT}/qwt-$$QWT_VERSION-qt-$$QT_VERSION
#
export INSTALL_ROOT=${SANDBOX_DIR}/installed
cd ${QWT_SRC_DIR}
# to clean first:
#echo "# `date`: --------------------------> clean"
#make distclean
echo "# `date`: --------------------------> qmake"
qmake qwt.pro
echo "# `date`: --------------------------> make"
make -j10
if [ "./" != ${INSTALL_ROOT} ] && [ "" != ${INSTALL_ROOT} ]; then
echo "# `date`: --------------------------> install"
make install
fi
echo "# `date`: --------------------------> done"
#!/bin/bash
# file: qt_build.sh
# purpose: configure, compile, and install Qt
# use: qt_build.sh 2>&1 | tee qt_build_log.txt
export SANDBOX_DIR=/home/oxygen18/JEMIAN/epics/caQtDM_for_APSshare
export QT_SRC_DIR=${SANDBOX_DIR}/qt4-git
export INSTALL_ROOT=${SANDBOX_DIR}/installed
export INSTALL_DIR=${INSTALL_ROOT}/qt-4.8.7
#export INSTALL_DIR=./
cd ${QT_SRC_DIR}
# to clean first:
#echo "# `date`: --------------------------> clean"
#make confclean
echo "# `date`: --------------------------> configure"
./configure \
-prefix ${INSTALL_DIR} \
-opensource \
-shared \
-no-fast \
-no-qt3support \
-qt-zlib \
-qt-libtiff \
-qt-libpng \
-qt-libjpeg \
-qt-libmng \
-no-xinerama \
-no-xvideo \
-nomake demos \
-nomake examples \
-nomake docs \
-nomake translations \
-no-webkit \
-confirm-license
echo "# `date`: --------------------------> make"
make -j10
if [ "./" != ${INSTALL_DIR} ] && [ "" != ${INSTALL_DIR} ]; then
echo "# `date`: --------------------------> install"
make install
fi
echo "# `date`: --------------------------> done"
This diff is collapsed.
#!/bin/bash
# file: qwt_build.sh
# purpose: configure, compile, and install qwt
# use: qwt_build.sh 2>&1 | tee qwt_build_log.txt
export SANDBOX_DIR=/home/oxygen18/JEMIAN/epics/caQtDM_for_APSshare
#export QWT_SRC_DIR=${SANDBOX_DIR}/qwt-6.1.3
export QWT_SRC_DIR=${SANDBOX_DIR}/qwt-6.1.1
# in qwtconfig.pri, make this definition for unix (line :
# QWT_INSTALL_PREFIX = $${INSTALL_ROOT}/qwt-$$QWT_VERSION-qt-$$QT_VERSION
#
export INSTALL_ROOT=${SANDBOX_DIR}/installed
cd ${QWT_SRC_DIR}
# to clean first:
#echo "# `date`: --------------------------> clean"
#make distclean
echo "# `date`: --------------------------> qmake"
qmake qwt.pro
echo "# `date`: --------------------------> make"
make -j10
if [ "./" != ${INSTALL_ROOT} ] && [ "" != ${INSTALL_ROOT} ]; then
echo "# `date`: --------------------------> install"
make install
fi
echo "# `date`: --------------------------> done"
This diff is collapsed.
#!/bin/bash
# usage: source ./setup_environment.sh
# sets up the shell for building caQtDM
# makes certain that Anaconda Python is not providing Qt to the build
export INSTALL_ROOT=/home/oxygen18/JEMIAN/epics/caQtDM_for_APSshare/installed
export JEMIAN_DIR=/home/oxygen/JEMIAN/epics/caQtDM_for_APSshare
#export CAQTDM_BASE=${JEMIAN_DIR}/caqtdm-4.1.6
export CAQTDM_BASE=${JEMIAN_DIR}/caqtdm-master
export CAQTDM_INSTALL_DIR=${INSTALL_ROOT}/caqtdm-4.1.6
export EPICS_BASE=/APSshare/epics/extensions-base/base-3.15.5
export EPICSINCLUDE=${EPICS_BASE}/include
export EPICSBIN=${EPICS_BASE}/bin/${EPICS_HOST_ARCH}
export EPICSLIB=${EPICS_BASE}/lib/${EPICS_HOST_ARCH}
#export EPICSEXTENSIONS=/usr/local/epics/extensions
export EPICSEXTENSIONS=/APSshare/epics/extensions
export ANACONDA_ROOT=/APSshare/anaconda/x86_64
export PYTHONVERSION=2.7
export PYTHONINCLUDE=${ANACONDA_ROOT}/include/python${PYTHONVERSION}
export PYTHONLIB=${ANACONDA_ROOT}/lib/
export QTHOME=${INSTALL_ROOT}/qt-4.8.7
export QWTHOME=${INSTALL_ROOT}/qwt-6.1.3-qt-4.8.7
export QWTINCLUDE=${QWTHOME}/include
export QWTLIB=${QWTHOME}/lib
#export QTCONTROLS_LIBS=`pwd`/caQtDM_Binaries
#export CAQTDM_COLLECT=`pwd`/caQtDM_Binaries
export QTCONTROLS_LIBS=${CAQTDM_BASE}/caQtDM_Binaries
export CAQTDM_COLLECT=${CAQTDM_BASE}/caQtDM_Binaries
export QTBASE=${QTCONTROLS_LIBS}
export QT_PLUGIN_PATH=:${CAQTDM_BASE}/caQtDM_Binaries
#QTBASE for building the package locally, pointing to caQtDM_Binaries
#QTDM_RPATH for runtime search path
#export QTDM_RPATH=${QTDM_LIBINSTALL}:${QTBASE}
export QTDM_RPATH=${CAQTDM_INSTALL_DIR}
#export QTDM_LIBINSTALL=${QTCONTROLS_LIBS}
#export QTDM_BININSTALL=${QTCONTROLS_LIBS}
export QTDM_LIBINSTALL=${CAQTDM_INSTALL_DIR}
export QTDM_BININSTALL=${CAQTDM_INSTALL_DIR}
# no ZMQ, ignore
#ZMQINC now defined as /usr/local/include for locating zmq include files
#ZMQLIB now defined as /usr/local/lib for locating zmq libraries
#export ZMQINC=
#export ZMQLIB=
PATH=${HOME}/bin
PATH+=:${QTHOME}/bin
PATH+=:/usr/local/bin
PATH+=:/bin
PATH+=:/usr/bin
PATH+=:/usr/sbin
PATH+=:/sbin
PATH+=:/home/oxygen/JEMIAN/perl5/bin
PATH+=:/usr/lib64/ccache
PATH+=:${EPICSBIN}
PATH+=:/home/oxygen/JEMIAN/bin
export PATH
export CAQTDM_BINARIES=
mkdir -p ${QTDM_BININSTALL}
mkdir -p ${QTDM_LIBINSTALL}
# clean_all && build_all 2>&1 | tee build.out
alias build_all='date && ./caQtDM_BuildAll && date'
alias clean_all='date && ./caQtDM_CleanAll && date'
#!/bin/bash
# file: setup_env.sh
# purpose: use when starting caQtDM from /APSshare
# 2016-01-21,PRJ - just at APS
export CAQTDM_BASE=/APSshare/caqtdm
export CAQTDM_DISPLAY_PATH=.
export CAQTDM_BINARIES=${CAQTDM_BASE}/caqtdm-4.0.0/caQtDM_Binaries
export LD_LIBRARY_PATH=${CAQTDM_BINARIES}
export LD_LIBRARY_PATH+=:${CAQTDM_BINARIES}/designer/
export QT_PLUGIN_PATH=${CAQTDM_BINARIES}/controlsystems
export QT_PLUGIN_PATH=:${CAQTDM_BINARIES}
alias caqtdm='${CAQTDM_BASE}/bin/caQtDM-4.0.0 -style plastique '
alias caqtdm-designer='${CAQTDM_BASE}/bin/designer '
#!/bin/bash
# usage: source ./setup_environment.sh
# sets up the shell for building caQtDM
# makes certain that Anaconda Python is not providing Qt to the build
export INSTALL_ROOT=/home/oxygen18/JEMIAN/epics/caQtDM_for_APSshare/installed
export JEMIAN_DIR=/home/oxygen/JEMIAN/epics/caQtDM_for_APSshare
#export CAQTDM_BASE=${JEMIAN_DIR}/caqtdm-4.1.6
export CAQTDM_BASE=${JEMIAN_DIR}/caqtdm-master
export CAQTDM_INSTALL_DIR=${INSTALL_ROOT}/caqtdm-4.1.6
export EPICS_BASE=/APSshare/epics/extensions-base/base-3.15.5
export EPICSINCLUDE=${EPICS_BASE}/include
export EPICSBIN=${EPICS_BASE}/bin/${EPICS_HOST_ARCH}
export EPICSLIB=${EPICS_BASE}/lib/${EPICS_HOST_ARCH}
#export EPICSEXTENSIONS=/usr/local/epics/extensions
export EPICSEXTENSIONS=/APSshare/epics/extensions
export ANACONDA_ROOT=/APSshare/anaconda/x86_64
export PYTHONVERSION=2.7
export PYTHONINCLUDE=${ANACONDA_ROOT}/include/python${PYTHONVERSION}
export PYTHONLIB=${ANACONDA_ROOT}/lib/
export QTHOME=${INSTALL_ROOT}/qt-4.8.7
export QWTHOME=${INSTALL_ROOT}/qwt-6.1.3-qt-4.8.7
export QWTINCLUDE=${QWTHOME}/include
export QWTLIB=${QWTHOME}/lib
#export QTCONTROLS_LIBS=`pwd`/caQtDM_Binaries
#export CAQTDM_COLLECT=`pwd`/caQtDM_Binaries
export QTCONTROLS_LIBS=${CAQTDM_BASE}/caQtDM_Binaries
export CAQTDM_COLLECT=${CAQTDM_BASE}/caQtDM_Binaries
export QTBASE=${QTCONTROLS_LIBS}
export QT_PLUGIN_PATH=:${CAQTDM_BASE}/caQtDM_Binaries
#QTBASE for building the package locally, pointing to caQtDM_Binaries
#QTDM_RPATH for runtime search path
#export QTDM_RPATH=${QTDM_LIBINSTALL}:${QTBASE}
export QTDM_RPATH=${CAQTDM_INSTALL_DIR}
#export QTDM_LIBINSTALL=${QTCONTROLS_LIBS}
#export QTDM_BININSTALL=${QTCONTROLS_LIBS}
export QTDM_LIBINSTALL=${CAQTDM_INSTALL_DIR}
export QTDM_BININSTALL=${CAQTDM_INSTALL_DIR}
# no ZMQ, ignore
#ZMQINC now defined as /usr/local/include for locating zmq include files
#ZMQLIB now defined as /usr/local/lib for locating zmq libraries
#export ZMQINC=
#export ZMQLIB=
PATH=${HOME}/bin
PATH+=:${QTHOME}/bin
PATH+=:/usr/local/bin
PATH+=:/bin
PATH+=:/usr/bin
PATH+=:/usr/sbin
PATH+=:/sbin
PATH+=:/home/oxygen/JEMIAN/perl5/bin
PATH+=:/usr/lib64/ccache
PATH+=:${EPICSBIN}
PATH+=:/home/oxygen/JEMIAN/bin
export PATH
export CAQTDM_BINARIES=
mkdir -p ${QTDM_BININSTALL}
mkdir -p ${QTDM_LIBINSTALL}
# clean_all && build_all 2>&1 | tee build.out
alias build_all='date && ./caQtDM_BuildAll && date'
alias clean_all='date && ./caQtDM_CleanAll && date'
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment