[GiNaC-devel] Shared lib calls exit

Richard B. Kreckel kreckel at ginac.de
Sun Feb 1 18:28:21 CET 2009


Fabian Affolter wrote:
> I'm packaging ginac for the Fedora Package Collection.  Now I have
> the following rpmlint warning on ginac 1.4.4.  Can you have a look
> at it and have it fixed for the next release, please?
> 
> [fab at laptop24 i386]$ rpmlint -i ginac*
> ginac.i386: W: shared-lib-calls-exit /usr/lib/libginac-1.4.so.0.0.4
> exit at GLIBC_2.0
> 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.
> 
> Perhaps the intention was to *return* something, and perhaps non-zero?

GiNaC itself doesn't call exit() or _exit(). What you're seeing is an 
artifact introduced into the library by flex.

I suggest to ignore this warning for the time being. GiNaC-1.5 won't 
make use of flex any more in the library proper.

Best
   -richy.
-- 
Richard B. Kreckel
<http://www.ginac.de/~kreckel/>


More information about the GiNaC-devel mailing list