On 06/20/2017 09:38 PM, Shian Su wrote:
My warning is

checking compiled code ... WARNING
File ‘scPipe/libs/scPipe.so’:
   Found ‘___stderrp’, possibly from ‘stderr’ (C)
     Objects: ‘bgzf.o’, ‘hts.o’, ‘sam.o’
   Found ‘_abort’, possibly from ‘abort’ (C)
     Object: ‘sam.o’
   Found ‘_exit’, possibly from ‘exit’ (C)
     Object: ‘bgzf.o’

Compiled code should not call entry points which might terminate R nor
write to stdout/stderr instead of to the console, nor the system RNG.

As far as I can tell my source files are identical to the ones in Rhtslib, how 
does Rhtslib avoid this warning? I feel safer with one less dependency but I’ll 
consider linking to Rhtslib, thanks!

please reuse Rhtslib instead of adding code that requires independent maintenance; in particular considerable effort is required to make htslib available across platforms. If there are issues with Rhtslib then report them and, especially if a patch is provided, they will be fixed.

Rhtslib builds the library in src/htslib/.libs/libhts.so whereas R checks src/Rhstlib.so, which contains a single function that reports the version. So R doesn't find the use of stderr, etc.

A previous discussion of similar issues is at

  https://stat.ethz.ch/pipermail/bioc-devel/2017-April/010837.html

and other posts in the same thread.

For Rsamtools I had introduced in src/Makevars.common a macro that redirects fprintf / exit / abort to code that does not use these macros, but to do so requires unsetting _FORTIFY_SOURCE

DFLAGS = -D_USE_KNETFILE -D_FILE_OFFSET_BITS=64 \
  -U_FORTIFY_SOURCE -DBGZF_CACHE \
  -Dfprintf=_samtools_fprintf \
  -Dexit=_samtools_exit \
  -Dabort=_samtools_abort

but this is not a perfect solution.

Martin


On 20 Jun 2017, at 8:03 pm, Vincent Carey 
<st...@channing.harvard.edu<mailto:st...@channing.harvard.edu>> wrote:

Have you looked at the Bioconductor package Rhtslib?

Is your package's source visible on github?  If so please provide the URL.

If not, please provide more details on the error messages observed.

It would seem to me that the best way to proceed would be to link to Rhtslib.

On Tue, Jun 20, 2017 at 2:29 AM, Shian Su 
<s...@wehi.edu.au<mailto:s...@wehi.edu.au>> wrote:
Hi all,

I am using parts of htslib in a new package. R CMD check gives me warnings 
about R terminating entry points and such resulting from htslib’s calls. Is 
there a way to get around this or do I have to go into the source code of 
htslib and change all their calls.

Also, Hadley’s best practices recommends using “error” instead of “exit” 
however I am using Rcpp to glue things together which only seems to provide 
“stop” for this purpose. Can exits be simply swapped out with Rcpp::stop?

Kind regards,
Shian Su
_______________________________________________
Bioc-devel@r-project.org<mailto:Bioc-devel@r-project.org> mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel



        [[alternative HTML version deleted]]

_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel



This email message may contain legally privileged and/or...{{dropped:2}}

_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel

Reply via email to