Gumstix cMsg

From New IAC Wiki
Jump to navigation Jump to search

Compiling cMsg library for Gumstix


V 3.0

Download source code from JLab

You need the cMsg code

https://coda.jlab.org/wiki/index.php/CMsg_-_Publish/Subcribe_messaging


and the Makefile extensions

ftp://ftp.jlab.org/pub/coda/BMS/

I copied the makefile extension

BMS/Makefile.vxworks-ppc

to Makefile.gumstix

then change the compiler so it points to the gumstix cross compiler

~/gumstix/gumstix-oe/tmp/cross/arm-angstrom-linux-gnueabi/bin/gcc
~/gumstix/gumstix-oe/tmp/cross/arm-angstrom-linux-gnueabi/bin/g++

Install Using SCONS

Carl Timmer edited the SConstruct file

set the environemental variables

INSTALL_DIR and GUMBASE

bin >printenv INSTALL_DIR /home/daq/gumstix/cMsg-3.0

bin >printenv GUMBASE /home/daq/gumstix/gumstix-oe/tmp/cross/arm-angstrom-linux-gnueabi

scons --gum install scons --gum examples

scons --gum -c

scons -h

Installing on cdaql3 at JLAB

I downloaded the tarball into /net/cdaqfs/apps/local/build/scons

and did

scons-src-1.3.0]$ python bootstrap.py build/scons

as instructed by the README file


I then did

export SCONS_LIB_DIR=`pwd`/src/engine

and

export SCONS_LIB_DIR=`pwd`/src/engine

then I did

cd build/scons/ and

python setup.py install --prefix=/net/cdaqfs/apps/local/RHEL5

I now see it in

[cdaq@cdaql3 scons]:ls /net/cdaqfs/apps/local/RHEL5/bin/
bltsh    bltwish24            gsl-config     scons        sconsign-1.3.0
bltsh24  fftw-wisdom          gsl-histogram  scons-1.3.0  scons-time
bltwish  fftw-wisdom-to-conf  gsl-randist    sconsign     scons-time-1.3.0

I next went to the cMsg-3.0 directory

/net/cdaqfs/apps/local/build/gumstix/cMsg-3.0

and did export INSTALL_DIR=/net/cdaqfs/apps/local/RHEL5

and then

/net/cdaqfs/apps/local/RHEL5/bin/scons install

this put the cMsg libraries and binaries in INSTALL_DIR/Linux-686


I see producer and consumer at

[cdaq@cdaql3 cMsg-3.0]:/net/cdaqfs/apps/local/RHEL5/Linux-i686/bin/producer
/net/cdaqfs/apps/local/RHEL5/Linux-i686/bin/producer: error while loading shared libraries: libcmsgRegex.so: cannot open shared object file: No such file or directory

I now need to set the LD_LIBRARY_PATH so it can see the shared libraries or move them to one of the subdirectories currently in the path

[cdaq@cdaql3 cMsg-3.0]:printenv LD_LIBRARY_PATH
/usr/local/coda/CMLOG/2.1/lib/Linux-rhe:/site/coda/2.5/Linux-rhe/lib:/usr/local/coda/cdev_1.7.5/lib/Linux-rhe:/net/cdaqfs/home/EPICS/dvlepics/extensions-R3.13.2/lib/Linux:/apps/root/5.18-00/root/lib


[1] Gumstix_Verdex [2] CMsg