On Wed, Nov 30, 2011 at 11:11:47AM +0000, Andrew Ross wrote: > On Tue, Nov 29, 2011 at 04:54:27PM -0700, Orion Poplawski wrote: > > On 11/28/2011 11:56 PM, Alan W. Irwin wrote: > >> So this should complete my NON_TRANSITIVE changes to the build system. > >> > >> Orion and Andrew: I hope this effort has been worth it and greatly > >> reduces packaging warnings you have been getting on both Fedora and Debian > >> concerning overlinking. > > > > Thanks for the work on this. Here's where it stands from my testing: > > > > Build failures: > > > > /usr/lib/ccache/gcc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 > > -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 > > -march=i686 -mtune=atom -fasynchronous-unwind-tables > > CMakeFiles/plserver.dir/plserver.c.o -o plserver -rdynamic > > ../../src/libplplotd.so.11.0.0 ../tcl/libplplottcltkd.so.9.2.0 > > ../../src/libplplotd.so.11.0.0 > > -Wl,-rpath,/builddir/build/BUILD/plplot-5.9.9/fedora/src:/builddir/build/BUILD/plplot-5.9.9/fedora/bindings/tcl:/builddir/build/BUILD/plplot-5.9.9/fedora/lib/csa:/builddir/build/BUILD/plplot-5.9.9/fedora/lib/nn:/builddir/build/BUILD/plplot-5.9.9/fedora/lib/qsastime: > > > > > > -Wl,-rpath-link,/builddir/build/BUILD/plplot-5.9.9/fedora/lib/csa:/builddir/build/BUILD/plplot-5.9.9/fedora/lib/nn:/builddir/build/BUILD/plplot-5.9.9/fedora/lib/qsastime:/builddir/build/BUILD/plplot-5.9.9/fedora/bindings/tcl > > > > > > > > /usr/bin/ld: CMakeFiles/plserver.dir/plserver.c.o: undefined reference > > to symbol 'Tcl_SetVar' > > /usr/bin/ld: note: 'Tcl_SetVar' is defined in DSO /usr/lib/libtcl8.5.so > > so try adding it to the linker command line > > /usr/lib/libtcl8.5.so: could not read symbols: Invalid operation > > > > And: > > > > /usr/bin/ld: CMakeFiles/plserver.dir/plserver.c.o: undefined reference > > to symbol 'Tk_ParseArgv' > > /usr/bin/ld: note: 'Tk_ParseArgv' is defined in DSO /usr/lib/libtk8.5.so > > so try adding it to the linker command line > > > > The Fedora linker requires explicit linking to libraries used by the > > compiled code. The attached patch fixes this and similar errors. > > This is always the case I think. Debian also requires this. I confirm your > patch for tcl / tk fixes things for me and I have applied it to svn > > > rpmlint shlib ouput: > > > > plplot-libs.i686: W: unused-direct-shlib-dependency > > /usr/lib/libplplotf77d.so.9.1.1 /lib/libm.so.6 > > plplot-libs.i686: W: unused-direct-shlib-dependency > > /usr/lib/libplplotf77d.so.9.1.1 /lib/libgcc_s.so.1 > > plplot-libs.i686: W: unused-direct-shlib-dependency > > /usr/lib/libplplotf77d.so.9.1.1 /usr/lib/libquadmath.so.0 > > > > plplot-libs.i686: W: unused-direct-shlib-dependency > > /usr/lib/libplplotf95d.so.9.1.1 /lib/libm.so.6 > > plplot-libs.i686: W: unused-direct-shlib-dependency > > /usr/lib/libplplotf95d.so.9.1.1 /lib/libgcc_s.so.1 > > plplot-libs.i686: W: unused-direct-shlib-dependency > > /usr/lib/libplplotf95d.so.9.1.1 /usr/lib/libquadmath.so.0 > > > > These may just be issues with gfortran as these don't appear on the link > > line. > > > > plplot-libs.i686: W: unused-direct-shlib-dependency > > /usr/lib/libplplotcxxd.so.10.0.0 /lib/libm.so.6 > > plplot-libs.i686: W: unused-direct-shlib-dependency > > /usr/lib/libplplotcxxd.so.10.0.0 /lib/libgcc_s.so.1 > > > > same here with g++ > > > > plplot-libs.i686: W: unused-direct-shlib-dependency > > /usr/lib/libplplotd.so.11.0.0 /lib/libdl.so.2 > > > > plplot-qt.i686: W: unused-direct-shlib-dependency > > /usr/lib/libplplotqtd.so.0.0.1 /usr/lib/libQtXml.so.4 > > > > plplot-tk.i686: W: unused-direct-shlib-dependency > > /usr/lib/libplplottcltkd.so.9.2.0 /usr/lib/libSM.so.6 > > plplot-tk.i686: W: unused-direct-shlib-dependency > > /usr/lib/libplplottcltkd.so.9.2.0 /usr/lib/libICE.so.6 > > plplot-tk.i686: W: unused-direct-shlib-dependency > > /usr/lib/libplplottcltkd.so.9.2.0 /usr/lib/libXext.so.6 > > > > plplot-wxGTK.i686: W: unused-direct-shlib-dependency > > /usr/lib/libplplotwxwidgetsd.so.0.0.0 /usr/lib/libagg.so.2 > > plplot-wxGTK.i686: W: unused-direct-shlib-dependency > > /usr/lib/libplplotwxwidgetsd.so.0.0.0 /usr/lib/libaggfontfreetype.so.2 > > plplot-wxGTK.i686: W: unused-direct-shlib-dependency > > /usr/lib/libplplotwxwidgetsd.so.0.0.0 /usr/lib/libfreetype.so.6 > > plplot-wxGTK.i686: W: unused-direct-shlib-dependency > > /usr/lib/libplplotwxwidgetsd.so.0.0.0 /lib/libm.so.6 > > plplot-wxGTK.i686: W: unused-direct-shlib-dependency > > /usr/lib/libplplotwxwidgetsd.so.0.0.0 /lib/libpthread.so.0 > > > > Some other rpmlint issues: > > > > > > plplot.i686: W: file-not-utf8 /usr/share/doc/plplot-5.9.9/README.release > > plplot.i686: E: incorrect-fsf-address > > /usr/share/doc/plplot-5.9.9/COPYING.LIB > > plplot-octave.i686: E: incorrect-fsf-address > > /usr/share/plplot_octave/struct_contains.m > > I agree with you Orion that this should probably be fixed. I recently > fixed up Copyright for the same reason (wrong address) as Debian lintian > complained about it. Debian doesn't install COPYING.LIB. I maintains > central copies of the GPL licenses and links to these so I didn't fix > COPYING.LIB as well. > > > Building examples in the installed tree with make: > > > > /usr/bin/gnatmake -aI/usr/share/ada/adainclude/plplotadad > > -aL/usr/lib/ada/adalib/plplotadad x15a.adb \ > > -cargs `PKG_CONFIG_PATH=/usr/lib/pkgconfig pkg-config --cflags > > plplotd-ada` -largs `PKG_CONFIG_PATH=/usr/lib/pkgconfig pkg-config > > --libs plplotd-ada` > > gcc -c -I/usr/share/ada/adainclude/plplotadad -I/usr/include/plplot x15a.adb > > gnatbind -aI/usr/share/ada/adainclude/plplotadad > > -aO/usr/lib/ada/adalib/plplotadad -x x15a.ali > > gnatlink x15a.ali -lplplotadad > > /usr/bin/ld: ./x15a.o: undefined reference to symbol 'c_plfill' > > /usr/bin/ld: note: 'c_plfill' is defined in DSO > > /usr/lib/libplplotd.so.11 so try adding it to the linker command line > > I think this is because the plfill is being passed as a function argument > in this case. I don't understand enough about ada to know why this is a > problem but I suspect we need to explicitly link to plplotd in the > pkgconfig-ada file. We do this for the cmake build of the examples > already. > > > /usr/lib/ccache/c++ wxPLplotDemo.cpp -o wxPLplotDemo `pkg-config > > --cflags --libs plplotd-wxwidgets` > > /usr/bin/ld: /tmp/cc2nmLCB.o: undefined reference to symbol > > 'plstream::line(int, double const*, double const*)' > > /usr/bin/ld: note: 'plstream::line(int, double const*, double const*)' > > is defined in DSO /usr/lib/libplplotcxxd.so.10 so try adding it to the > > linker command line > > This is a less obvious error since the source code does not directly > mention plstream, but the wxPlplotstream class inherits from plstream > and so plplotcxxd needs explicitly linking in for pkgconfig-wxwidgets > > > cd f95; make > > make[1]: Entering directory `/usr/share/plplot5.9.9/examples/f95' > > /usr/bin/gfortran x01f.f90 -o x01f `pkg-config --cflags --libs > > plplotd-f95` > > x01f.f90:24.19: > > > > use plf95demolib > > 1 > > Fatal Error: Can't open module file 'plf95demolib.mod' for reading at > > (1): No such file or directory > > > > This file does not appear to have been installed. > > This is odd - I do not see this error. The .mod file is installed in > lib/fortran/modules/plplot for me. > > > make[1]: Entering directory `/usr/share/plplot5.9.9/examples/tk' > > /usr/lib/ccache/gcc xtk01.c -o xtk01 `pkg-config --cflags --libs > > plplotd-tcl` > > /usr/bin/ld: /tmp/ccJlYbFQ.o: undefined reference to symbol 'c_plvsta' > > /usr/bin/ld: note: 'c_plvsta' is defined in DSO > > /usr/lib/libplplotd.so.11 so try adding it to the linker command line > > Confirmed. > > In addition the d language examples fail to explcitly link in plplotd > for the install tree examples. > > I'll try and fix these up. Incidentally, examples works fine in the > install tree if you use the cmake build system (1 issue with tk examples > now fixed) and they also work fine in the build tree. > > Andrew
I have fixed all the issues I have found. Still outstanding is Orions fortran issue (I don't see this) and the copyright issue. Andrew ------------------------------------------------------------------------------ All the data continuously generated in your IT infrastructure contains a definitive record of customers, application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-novd2d _______________________________________________ Plplot-devel mailing list Plplot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/plplot-devel