Orion,
Thanks for the report. Lintian on Debian reports a number of the same issues.
More comments below.
On Thursday 17 Oct 2013 12:06:57 Alan W. Irwin wrote:
> Hi Orion:
>
> Thanks very much for your report. There are so
> many issues involved, that I am going to answer you in
> several parts.
>
> This is part 1.
>
> On 2013-10-16 20:42-0600 Orion Poplawski wrote:
> > I'm getting the following rpmlint issues with the Fedora plplot 5.9.10
> > package:
> >
> > plplot-doc.noarch: E: zero-length
> > /usr/share/doc/plplot/html/plplotdoc-html.proc
> >
> > Left over from something?
>
> Exactly. For some reason when xmlto produces html from our DocBook
> source (this method is still used now for html and will be used going
> forward), it creates that empty file which is then propagated further.
> I have fixed that (revision 12601) by deleting that file before
> propagation of the remaining files generated by xmlto.
>
> Please test this svn trunk fix.
For Debian I worked around the zero length file by just deleting the file
myself in the
packaging scripts. Better that Alan has now fixed upstream, but my approach
works
for the current release.
> > plplot-libs.x86_64: W: shared-lib-calls-exit
> > /usr/lib64/libqsastime.so.0.0.1 exit@GLIBC_2.2.5
> > plplot-libs.x86_64: W: shared-lib-calls-exit
> > /usr/lib64/libcsirocsa.so.0.0.1 exit@GLIBC_2.2.5
> > plplot-libs.x86_64: W: shared-lib-calls-exit
> > /usr/lib64/libplplotd.so.12.0.0 exit@GLIBC_2.2.5
> > plplot-libs.x86_64: W: shared-lib-calls-exit
> > /usr/lib64/libcsironn.so.0.0.1 exit@GLIBC_2.2.5
> >
> > This library package calls exit() or _exit(), probably in a non-fork()
> > context. Doing so from a library is strongly discouraged - when a library
> > function calls exit(), it prevents the calling program from handling the
> > error, reporting it to the user, closing files properly, and cleaning up
> > any state that the program has. It is preferred for the library to return
> > an actual error code and let the calling program decide how to handle the
> > situation.
>
> This is an issue that has been with us for a while, but I agree it
> should be addressed. I strongly encourage discussing issues here
> first so our bug tracker doesn't get clogged with meaningless stuff,
> but this is a case where you should generate a report on our bug
> tracker for this so we don't lose it.
This has been bounced around on the list a number of times (search the
archives).
Unfortunately it is a fairly fundamental result of the way plplot works. There
is no
graceful error handling and no way to propagate error
codes back up from a function to the user. In light of this the only safe way
to deal with
a fatal error is to exit. The user can override this by changing the exit
handler routine
with plsexit, but this is likely to result in undefined behaviour. It wouldn't
fix these
warnings anyway.
What plplot does is probably wrong, but to fix it properly would require a
complete
API change to allow functions to return an error code. We could do this, but it
would
be a large job and a huge API change. Shows the importance of making the right
design
decisions early on...
It's in Alan's subsequent emails, but for reference I also get a number of
warnings from
lintian about unnecessary linkage. Those I understand I put down to false
alerts. The
ocaml ones I don't understand, so I'm glad Alan is delving deeper here. I'd be
keen to
test any improvements.
Andrew
------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60135991&iu=/4140/ostg.clktrk
_______________________________________________
Plplot-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/plplot-devel