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

Reply via email to