Please do not reply directly to this email. All additional comments should be made in the comments box of this bug.
https://bugzilla.redhat.com/show_bug.cgi?id=479978
Jussi Lehtola jussi.lehtola@iki.fi changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jussi.lehtola@iki.fi
--- Comment #12 from Jussi Lehtola jussi.lehtola@iki.fi 2009-07-08 13:03:32 EDT --- (In reply to comment #6)
- Use of the exit() function in the upstream code (myexcept.cpp). 'rpmlint
-i' states: "newmat.x86_64: W: shared-lib-calls-exit /usr/lib64/libnewmat.so.11.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." I have thus written a patch (http://denisarnaud.fedorapeople.org/newmat/11/1/newmat-11-fix-exit-issue.pat...) fixing that issue. That patch should be submitted/proposed upstream (as I have just coded a work-around, which upstream may not find appropriate).
For good or worse, this is quite common behaviour in scientific packages. The rpmlint warning can be safely omitted, one can ask upstream to fix it but any Fedora specific hacks are out of the question since they break compatibility.
**
- It seems you have added the functionality to build the shared library yourself. In this case no soname should be set (just produce an unversioned .so file). You should ask upstream to provide the option to build soname'd shared libraries.
Denis: please don't post spec files of your own as this makes the review rather confusing. I almost mistook your spec file for that of Pascal. If you want to suggest changes, do so with an attached patch.
Pascal: please fill your whole name in bugzilla.