From: Greg J. <gv...@gm...> - 2016-01-18 04:59:39
|
Hi all, I've been using a static build of the plplot library to build GDL, in order to have a stable and somewhat unique set of parameters: > cmake -DCMAKE_INSTALL_PREFIX=/d/bld/plplot/linux/cmake-static \ > > -DENABLE_DYNDRIVERS=OFF -DDEFAULT_NO_CAIRO_DEVICES=ON >> -DDEFAULT_NO_QT_DEVICES=ON \ > > -DDEFAULT_NO_BINDINGS=ON -DENABLE_cxx=ON -DENABLE_wxwidgets=ON >> -DOLD_WXWIDGETS=ON \ > > -DWITH_FREETYPE=OFF -DBUILD_SHARED_LIBS=OFF \ > > -DPLD_pdf=OFF -DPLD_psttf=OFF \ > > /f/tarball/plplot-5.11.1 > > OLD_WIDGETS is a requirement for the gdl widgets subroutines to operate. After I install this result in /usr/local/lib, I apply the following: (libplplotXXX.a files have been renamed to libplplotXXX-static.a) in /usr/local/lib: > rm -rf .o .p libplplot-custom.a libplplotcxx-custom.a > mkdir .p && cd .p && ar x ../libplplot-static.a && ar x > ../libplplotwxwidgets-static.a && cd .. > mkdir .o && cd .o > ar x ../libcsironn.a > ar x ../libcsirocsa.a > ar x ../libqsastime.a > ar x ../libshp.a > ar x ../libqhullstatic.a > cd .. > ar rc libplplot-custom.a .p/* .o/* > cp -p libplplotcxx-static.a libplplotcxx-custom.a And this works fine, on the usual build of GDL. ( Which I encourage any and all of you to do - its only 2 MB of code with a minimal patch https://sourceforge.net/p/gnudatalanguage/patches/102/ that will adapt the current (recent) distribution to a mingw, or mingw-w64, build.) I am running into an issue now trying to build gdl as a llibrary+main program, the error output suggest I don;t have enough -fPIC-compiled routines: Linking CXX shared library libgnudatalanguage.so /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: > /usr/local/lib/libplplot-custom.a(global.c.o): relocation R_X86_64_32S > against `qh_qh' can not be used when making a shared object; recompile with > -fPIC /usr/local/lib/libplplot-custom.a: error adding symbols: Bad value collect2: error: ld returned 1 exit status src/CMakeFiles/gnudatalanguage.dir/build.make:3397: recipe for target > 'src/libgnudatalanguage.so.0' failed I tried setting re-building the qhullstatic.a library with CFLAGS, CXXFLAGS=-fPIC to no avail. Can anyone clue me in to where the problem is? Thanks, Greg |