On Sat, Aug 13, 2011 at 08:48:58AM +0100, Andrew Ross wrote:
> On Fri, Aug 12, 2011 at 04:35:00PM -0600, Orion Poplawski wrote:
> > On 08/01/2011 12:37 PM, Hazen Babcock wrote:
> > >
> > > Hello,
> > >
> > > Version 5.9.8 of PLplot is now available.
> > 
> > I'm getting segfaults on the following tests building for Fedora 15-17:
> > 
> > The following tests FAILED:
> >           25 - examples_pdfqt (Failed)
> >           24 - examples_epsqt (Failed)
> >           23 - examples_svgqt (Failed)
> > 
> > I think it has something to do with library linking:
> > 
> > [mockbuild@mock1 plplot_test]$ xvfb-run 
> > /builddir/build/BUILD/plplot-5.9.8/fedora/examples/c/x02c -dev pdfqt -o 
> > ./x02c%
> > 
> > *** PLPLOT WARNING ***
> > All pages after the first skipped because family file output not specified.
> > 
> > /usr/bin/xvfb-run: line 166: 11264 Segmentation fault      
> > DISPLAY=:$SERVERNUM 
> > XAUTHORITY=$AUTHFILE "$@" 2>&1
> > 
> > [mockbuild@mock1 plplot_test]$ LD_PRELOAD=/lib64/libpthread.so.0 xvfb-run 
> > /builddir/build/BUILD/plplot-5.9.8/fedora/examples/c/x02c -dev pdfqt -o 
> > ./x02c%
> > 
> > *** PLPLOT WARNING ***
> > All pages after the first skipped because family file output not specified.
> > 
> > /builddir/build/BUILD/plplot-5.9.8/fedora/examples/c/x02c: symbol lookup 
> > error: /usr/lib64/libQtGui.so.4: undefined symbol: 
> > _ZN18QThreadStorageDataD1Ev
> > 
> > [mockbuild@mock1 plplot_test]$ ldd 
> > /builddir/build/BUILD/plplot-5.9.8/fedora/examples/c/x02c
> >          linux-vdso.so.1 =>  (0x00007fff001ff000)
> >          libplplotd.so.11 => 
> > /builddir/build/BUILD/plplot-5.9.8/fedora/src/libplplotd.so.11 
> > (0x00007f50e2f74000)
> >          libm.so.6 => /lib64/libm.so.6 (0x00007f50e2ce1000)
> >          libltdl.so.7 => /usr/lib64/libltdl.so.7 (0x00007f50e2ad8000)
> >          libdl.so.2 => /lib64/libdl.so.2 (0x00007f50e28d4000)
> >          libcsirocsa.so.0 => 
> > /builddir/build/BUILD/plplot-5.9.8/fedora/lib/csa/libcsirocsa.so.0 
> > (0x00007f50e26cc000)
> >          libcsironn.so.0 => 
> > /builddir/build/BUILD/plplot-5.9.8/fedora/lib/nn/libcsironn.so.0 
> > (0x00007f50e24c4000)
> >          libqhull.so.5 => /usr/lib64/libqhull.so.5 (0x00007f50e2271000)
> >          libqsastime.so.0 => 
> > /builddir/build/BUILD/plplot-5.9.8/fedora/lib/qsastime/libqsastime.so.0 
> > (0x00007f50e206b000)
> >          libfreetype.so.6 => /usr/lib64/libfreetype.so.6 
> > (0x00007f50e1dcf000)
> >          libc.so.6 => /lib64/libc.so.6 (0x00007f50e1a35000)
> >          libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f50e181f000)
> >          /lib64/ld-linux-x86-64.so.2 (0x00007f50e31dd000)
> > 
> > I'm guessing here that because x02c is not linked with Qt & phtreads 
> > something 
> > doesn't get set up correctly when Qt is dlopened.  But this is pretty 
> > beyond 
> > me.  Any thoughts?
> 
> It might also be related to the issues I encountered with debian. As of 5.9.8 
> the Qt driver always initialises devices as GUI applications, even for 
> non-interactive devices. This is because the library can only be initialised
> once even if there are multiple streams and subsequent streams might be
> qtwidgets. Yesterday I committed a patch so that if DISPLAY  is not set (and
> so qtwidget would never work anyway) then all devices are initialised as 
> not GUI (and hence don't open an X connection). For me this meant that
> the non-interactive devices worked in a root environment without X doing
> something like (unset DISPLAY; make test_noninteractive) to ensure DISPLAY
> was not set. Might be worth checking.

Orion,

I don't know if you have made any more progress on this, but my fix in SVN 
only partially works for me. I can now get all the bitmap qt devices to 
work without X, but the epsqt, pdfqt and svgqt devices all produce a 
segfault on example 1 when I run make test_noninteractive, either in the 
build or install tree using my latest Debian 5.9.8 packages. This is in a 
chroot environment (I'm using pbuilder) to get Debian testing. I get the
same result with or without DISPLAY set. The version of Qt is 4.7.3. 

The somewhat unhelpful output is:

Generate C results for epsqt file device
Testing front-end c
x01c
/tmp/buildd/plplot-5.9.8/debian/build_tmp/plplot_test/test_c.sh: line 32:  6126 
Segmentation fault      $DEBUG_CMD "$cdir"/x${index}${lang} -dev $device -o
"${OUTPUT_DIR}"/x${index}${lang}%n.$dsuffix $options 2> test.error 
>|"${OUTPUT_DIR}"/x${index}${lang}_${dsuffix}.txt
make[4]: *** [examples/x01c01.epsqt] Error 1

"make test_interactive" works fine (with X obviously) except for the 
qtwidget device which fails with the same error.

Everything works fine on both my Ubuntu boxes (with 2 different versions 
of Ubuntu on) whether I have DISPLAY set or not, so I'm suspecting this is 
a Qt version problem. Can anyone else confirm / deny this? I will try to 
dig deeper using valgrind. 

Andrew

------------------------------------------------------------------------------
Special Offer -- Download ArcSight Logger for FREE!
Finally, a world-class log management solution at an even better 
price-free! And you'll get a free "Love Thy Logs" t-shirt when you
download Logger. Secure your free ArcSight Logger TODAY!
http://p.sf.net/sfu/arcsisghtdev2dev
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to