[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#687563: RFS: opengrm-ngram/1.0.3-1 [ITP] -- opengrm n-gram, library



Il 09/04/2013 14:57, Jakub Wilk ha scritto:
> Lintian emits:
> X: libngram0: shlib-calls-exit usr/lib/libngram.so.0.0.0
> 
> Do I understand correctly that this comes from libfst, and would have to be fixed there?

I have not found any direct exit reference in libngram source code.
So I checked libfst code and there are just a few calls:

1) One is in FailedNewHandler() in src/lib/compat.cc. As far as I can tell this is only a convenience function to call exit and print an error message, to be used with
std::set_new_handler() in applications.

2) Some are in SetFlags() in src/lib/flags.cc. This seems a convenience function to be used at the begin of a program to parse flags, handle errors and exit if needed (I am
not 100% sure anyway). It is also called by the deprecated similar convenience function InitFst().

3) Another one is in LogMessage() in src/include/fst/log.h, when invoked with FATAL type.

4) TestProperties() in src/include/fst/test-properties.h, if FLAGS_fst_verify_properties is set, LogMessage(FATAL) may be called.

5) If FLAGS_fst_error_fatal is set all FSTERROR() calls results in a LogMessage(FATAL) call.

1), 2), 4), 5) are not directly called in libngram.

3) is used several way in libngram instead.

I am not sure about how to deal with this issue. OpenFST exit calls seem reasonable to me, while LOG(FATAL) calls in libngram seem not.
What is your opinion about this?

Bests,
	Giulio.


Reply to: