I have just upgraded my Ada compiler (GNAT GPL 2009) because the one I  
have been using has a small bug. The old version was 32 bits and the  
new version is 64 bits. I'm on OS X 10.5.8 (Leopard).

Bad idea.

I've changed the paths in my build script (below) to accommodate the  
new compiler. cmake sees it. The build goes OK until it hits a linking  
problem. Here is the problem encountered when linking to a qt library.  
FWIW, my Qt installation is the OS binary from 
http://qt.nokia.com/downloads/mac-os-cpp/ 
.





Linking CXX shared module qt.so
cd /usr/local/plplot_build_dir/drivers && "/Applications/Programming/ 
CMake 2.6-2.app/Contents/bin/cmake" -E cmake_link_script CMakeFiles/ 
qt.dir/link.txt --verbose=1
/usr/bin/c++   -bundle -headerpad_max_install_names  -o qt.so  
CMakeFiles/qt.dir/qt.cpp.o CMakeFiles/qt.dir/__/bindings/qt_gui/ 
plqt.cpp.o ../src/libplplotd.9.7.0.dylib /usr/lib/libm.dylib - 
framework QtSvg -framework QtGui -framework Carbon -framework AppKit - 
framework QtXml -framework QtCore /usr/lib/libz.dylib -framework  
ApplicationServices /usr/lib/libltdl.dylib /usr/lib/libdl.dylib ../lib/ 
csa/libcsirocsa.0.0.1.dylib ../lib/qsastime/libqsastime.0.0.1.dylib / 
usr/lib/libm.dylib
ld: warning in ../src/libplplotd.9.7.0.dylib, file is not of required  
architecture
ld: warning in ../lib/csa/libcsirocsa.0.0.1.dylib, file is not of  
required architecture
ld: warning in ../lib/qsastime/libqsastime.0.0.1.dylib, file is not of  
required architecture
Undefined symbols:
   "_plgesc", referenced from:
       QtPLDriver::getTextPicture(unsigned int, unsigned int*, int,  
double)in plqt.cpp.o
   "_plOpenFile", referenced from:
       plD_init_rasterqt(PLStream*)     in qt.cpp.o
       plD_init_svgqt(PLStream*)     in qt.cpp.o
       plD_init_epspdfqt(PLStream*)     in qt.cpp.o
   "_plP_setphy", referenced from:
       plD_init_rasterqt(PLStream*)     in qt.cpp.o
       plD_init_svgqt(PLStream*)     in qt.cpp.o
       plD_init_epspdfqt(PLStream*)     in qt.cpp.o
       plD_init_qtwidget(PLStream*)     in qt.cpp.o
       plD_init_extqt(PLStream*)     in qt.cpp.o
   "_plGetFam", referenced from:
       plD_bop_bmpqt(PLStream*)     in qt.cpp.o
       plD_bop_jpgqt(PLStream*)     in qt.cpp.o
       plD_bop_pngqt(PLStream*)     in qt.cpp.o
       plD_bop_ppmqt(PLStream*)     in qt.cpp.o
       plD_bop_tiffqt(PLStream*)     in qt.cpp.o
       plD_bop_svgqt(PLStream*)     in qt.cpp.o
       plD_bop_epspdfqt_helper(PLStream*, int) in qt.cpp.o
   "_plP_setpxl", referenced from:
       plD_init_rasterqt(PLStream*)     in qt.cpp.o
       plD_init_svgqt(PLStream*)     in qt.cpp.o
       plD_init_epspdfqt(PLStream*)     in qt.cpp.o
       plD_init_qtwidget(PLStream*)     in qt.cpp.o
       plD_init_extqt(PLStream*)     in qt.cpp.o
   "_plP_fci2hex", referenced from:
       QtPLDriver::getFont(unsigned int)in plqt.cpp.o
       QtPLDriver::getFont(unsigned int)in plqt.cpp.o
       QtPLDriver::getFont(unsigned int)in plqt.cpp.o
   "_plwarn", referenced from:
       qt_family_check(PLStream*)     in qt.cpp.o
   "_c_plparseopts", referenced from:
       plsetqtdev(QtExtWidget*, int, char**)in plqt.cpp.o
   "_c_plcalc_world", referenced from:
       QtExtWidget::mouseMoveEvent(QMouseEvent*)        in plqt.cpp.o
       QtExtWidget::mouseReleaseEvent(QMouseEvent*)        in plqt.cpp.o
   "_plFamInit", referenced from:
       plD_init_rasterqt(PLStream*)     in qt.cpp.o
       plD_init_svgqt(PLStream*)     in qt.cpp.o
       plD_init_epspdfqt(PLStream*)     in qt.cpp.o
   "_plParseDrvOpts", referenced from:
       plD_init_rasterqt(PLStream*)     in qt.cpp.o
       plD_init_svgqt(PLStream*)     in qt.cpp.o
       plD_init_epspdfqt(PLStream*)     in qt.cpp.o
       plD_init_qtwidget(PLStream*)     in qt.cpp.o
   "_c_plgfci", referenced from:
       QtPLDriver::drawText(PLStream*, EscText*)     in plqt.cpp.o
       QtPLWidget::drawText(PLStream*, EscText*)     in plqt.cpp.o
   "_plsc", referenced from:
       _plsc$non_lazy_ptr in qt.cpp.o
       _plsc$non_lazy_ptr in plqt.cpp.o
   "_plRotationShear", referenced from:
       QtPLDriver::drawText(PLStream*, EscText*)     in plqt.cpp.o
       QtPLWidget::drawText(PLStream*, EscText*)     in plqt.cpp.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[2]: *** [drivers/qt.so] Error 1
make[1]: *** [drivers/CMakeFiles/qt.dir/all] Error 2
make: *** [all] Error 2





Here is the build script:



#!/bin/bash

# Set environment so that cmake can find the Ada compiler, BLAS, and  
LAPACK.

# Following used for OS X 10.5 with MacAda 32-bit compiler.
#CMAKE_LIBRARY_PATH=/usr/local/ada-4.3/lib/gcc/i686-apple- 
darwin9/4.3.0/adalib:\
#/usr/lib/libblas.dylib:\
#/usr/lib/liblapack.dylib:\
#/usr/lib/libtcl.dylib:\
#/usr/lib/libtk.dylib

# Following used for OS X 10.5 with GNAT GPL 2009 64-bit installed  
April 13, 2010.
CMAKE_LIBRARY_PATH=/usr/local/ada-4.3/lib/gcc/x86_64-apple- 
darwin9.6.0/4.3.4/adalib:\
/usr/lib/libblas.dylib:\
/usr/lib/liblapack.dylib:\
/usr/lib/libtcl.dylib:\
/usr/lib/libtk.dylib

export CMAKE_LIBRARY_PATH

# cd to the build directory.
cd /usr/local/plplot_build_dir

# Clean the build directory.
echo "Deleting most recent build and installation."
sudo rm -rf /usr/local/plplot_build_dir/*

# Delete the installation directory.
sudo rm -rf /usr/local/plplot

echo "Running cmake."
# Run cmake.
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/plplot \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DBUILD_TEST=ON \
-DDEFAULT_NO_BINDINGS=ON \
-DENABLE_ada=ON \
-DENABLE_java=OFF \
-DENABLE_tcl=OFF \
-DENABLE_tk=OFF \
-DENABLE_wxwidgets=OFF \
-DPLD_aqt=OFF \
-DPLD_wxwidgets=OFF \
-DENABLE_qt=ON\
-DHAVE_ADA_2007=OFF \
-DBUILD_TEST=ON \
-DBUILD_DOC=ON \
/Users/jb/Documents/Programs/Ada/Code/Bindings/PLplot/plplot_svn/ 
plplot >& cmake.out

less cmake.out

echo "Running make."
make

echo "Running make install as root."
sudo make install

echo "Finished installing PLplot."

# Run ctest which builds the examples and runs them. See file called  
run_ctest.sh.
echo "Running ctest to test examples."
cd /usr/local/plplot_build_dir
export DYLD_LIBRARY_PATH=/usr/local/plplot_build_dir/bindings/ada:\
#/usr/local/ada-4.3/lib/gcc/i686-apple-darwin9/4.3.0/adalib # 32-bit  
GNAT from MacAda.org
/usr/local/ada-4.3/lib/gcc/x86_64-apple-darwin9.6.0/4.3.4/adalib # 64- 
bit GNAT GPL 2009 from AdaCore
ctest --verbose --tests-regex ada

echo "Finished building and installing PLplot from SVN."
exit 0


------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to