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...{{dropped:2}}
_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel