Thank you very much Martin, adding the Makevars did the trick.

> On 21 Jun 2017, at 1:05 pm, Martin Morgan <martin.mor...@roswellpark.org> 
> wrote:
> 
> On 06/20/2017 10:57 PM, Shian Su wrote:
>> Thanks Martin,
>> Should this be as simple as removing all my local htslib files, adding the 
>> LinkingTo specifiers and rebuilding? Currently getting
>> Error in dyn.load(dllfile) :
>>   unable to load shared object ‘~/Programs/R/scPipe/src/scPipe.so':
>>   dlopen(~/Programs/R/scPipe/src/scPipe.so, 6): Symbol not found: 
>> _seq_nt16_table
>>   Referenced from: ~/Programs/R/scPipe/src/scPipe.so
>>   Expected in: flat namespace
>>  in ~/Programs/R/scPipe/src/scPipe.so
>> Perhaps I’ve done something silly.
> 
> There's a short vignette
> 
> http://bioconductor.org/packages/devel/bioc/vignettes/Rhtslib/inst/doc/Rhtslib.html
> 
> describing use; LinkingTo gives you the headers, but you still need to tell R 
> where to find the compiled binaries via a src/Makevars
> 
> Martin
> 
>> Shian
>>> On 21 Jun 2017, at 12:12 pm, Martin Morgan <martin.mor...@roswellpark.org 
>>> <mailto:martin.mor...@roswellpark.org>> wrote:
>>> 
>>> 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><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><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><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 confidential 
>>> information.  If you are not the intended recipient(s), or the employee or 
>>> agent responsible for the delivery of this message to the intended 
>>> recipient(s), you are hereby notified that any disclosure, copying, 
>>> distribution, or use of this email message is prohibited.  If you have 
>>> received this message in error, please notify the sender immediately by 
>>> e-mail and delete this email message from your computer. Thank you.
> 
> 
> This email message may contain legally privileged and/or confidential 
> information.  If you are not the intended recipient(s), or the employee or 
> agent responsible for the delivery of this message to the intended 
> recipient(s), you are hereby notified that any disclosure, copying, 
> distribution, or use of this email message is prohibited.  If you have 
> received this message in error, please notify the sender immediately by 
> e-mail and delete this email message from your computer. Thank you.

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

Reply via email to