[Bioc-devel] Rhtslib-linked package not compiling on Windows

Lucas Nell |uc@@ @end|ng |rom |uc@@ne||@com
Sun Jan 26 20:00:11 CET 2020


Hello Herve,

Thank you so much for your help! The package I'm developing is actually on
CRAN, but using the new Rtools40 with gcc 8.0 seems to work. For a testing
environment on Windows, win-builder
<https://win-builder.r-project.org/upload.aspx> has a version that uses
Rtools40.

Cheers,
Lucas


On Tue, Jan 21, 2020 at 12:16 PM Pages, Herve <hpages using fredhutch.org> wrote:

> Hi Lucas,
>
> In order to compile an Rhtslib client package on Windows you need a
> setup that mimics closely what we have on our Windows builders. In
> particular you need to install a bunch of external libraries in
> C:\extsoft and edit R\etc\i386\Makeconf and R\etc\x64\Makeconf to let R
> know about these external libraries. The exact setup is documented here:
>
>
>
> https://github.com/Bioconductor/BBS/blob/master/Doc/Prepare-Windows-Server-2012-HOWTO.md
>
> End users don't need any of this because they typically install the
> Windows package binaries which are statically linked.
>
> Unfortunately, if Windows is the platform where you intend to develop
> your package, you'll have to go thru the complicated setup described
> above. Alternatively, if that's an option for you, you could develop
> your package on Linux. Installing the external libraries there is very
> easy so the development process will be a lot easier. Then, when you
> summit your package to Bioconductor, we'll start building the Windows
> and Mac binaries for you so you'll get build reports for these
> platforms. Also, once the package is accepted, we'll distribute the
> Windows and Mac binaries so on these platforms your users won't need any
> of the external dependencies.
>
> Hope this helps,
>
> H.
>
> On 1/20/20 14:09, Lucas Nell wrote:
> > Hello,
> >
> > I'm having trouble linking to Rhtslib on Windows, specifically with
> finding
> > some of the required linked libraries (libcurl, among others). I made a
> > simple R package with only one function that compresses a file using BGZF
> > (link here <
> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_lucasnell_RhtslibTest&d=DwICAg&c=eRAMFD45gAfqt84VtBcfhQ&r=BK7q3XeAvimeWdGbWY_wJYbW0WYiZvSXAJJKaaPhzWA&m=M_5C6uruEPQfiEzLNV1mTopiZUJFpvKl7CLciyW9Dy8&s=CgHR-N9UB_5VJQ26fH3tIjkgqoljnilxhldpBmbxRaE&e=
> >). After reading
> > through the Rhtslib instructions again, I tried building the package on
> > Windows 10 and got the output below. The directory C:/extsoft does not
> > exist, so I feel like there's something else I need to install.
> >
> > Thanks for your help! (And thank you to the Rhtslib creators for a super
> > useful package!)
> >
> > Cheers,
> > Lucas
> >
> >
> > ==> Rcpp::compileAttributes()
> >
> > * Updated R/RcppExports.R
> >
> > ==> Rcmd.exe INSTALL --preclean --no-multiarch --with-keep.source
> > RhtslibTest
> >
> > * installing to library 'C:/Users/acuit/Documents/R/win-library/3.6'
> > * installing *source* package 'RhtslibTest' ...
> > ** using staged installation
> > ** libs
> > C:/Rtools/mingw_64/bin/g++ -std=gnu++11
> -I"C:/PROGRA~1/R/R-36~1.2/include"
> > -DNDEBUG -D_FILE_OFFSET_BITS=64
> > -I"C:/Users/acuit/Documents/R/win-library/3.6/Rcpp/include"
> > -I"C:/Users/acuit/Documents/R/win-library/3.6/Rhtslib/include"
> > -I"C:/Users/acuit/Documents/R/win-library/3.6/zlibbioc/include"
> -O2
> > -Wall  -mtune=generic -c RcppExports.cpp -o RcppExports.o
> > C:/Rtools/mingw_64/bin/g++ -std=gnu++11
> -I"C:/PROGRA~1/R/R-36~1.2/include"
> > -DNDEBUG -D_FILE_OFFSET_BITS=64
> > -I"C:/Users/acuit/Documents/R/win-library/3.6/Rcpp/include"
> > -I"C:/Users/acuit/Documents/R/win-library/3.6/Rhtslib/include"
> > -I"C:/Users/acuit/Documents/R/win-library/3.6/zlibbioc/include"
> -O2
> > -Wall  -mtune=generic -c write_bgzf.cpp -o write_bgzf.o
> > write_bgzf.cpp: In function 'int compress_file(const string&, const
> int&)':
> > write_bgzf.cpp:54:9: warning: variable 'in_code' set but not used
> > [-Wunused-but-set-variable]
> >       int in_code;
> >           ^
> > C:/Rtools/mingw_64/bin/g++ -std=gnu++11 -shared -s -static-libgcc -o
> > RhtslibTest.dll tmp.def RcppExports.o write_bgzf.o
> > C:/Users/acuit/Documents/R/win-library/3.6/Rhtslib/usrlib/x64/libhts.a
> > -LC:/extsoft/lib/x64 -lcurl -lrtmp -lssl -lssh2 -lcrypto -lgdi32 -lz
> > -lws2_32 -lwldap32 -lwinmm -LC:/PROGRA~1/R/R-36~1.2/bin/x64 -lR
> >
> C:/Rtools/mingw_64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.3/../../../../x86_64-w64-mingw32/bin/ld.exe:
> > cannot find -lcurl
> >
> C:/Rtools/mingw_64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.3/../../../../x86_64-w64-mingw32/bin/ld.exe:
> > cannot find -lrtmp
> >
> C:/Rtools/mingw_64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.3/../../../../x86_64-w64-mingw32/bin/ld.exe:
> > cannot find -lssl
> >
> C:/Rtools/mingw_64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.3/../../../../x86_64-w64-mingw32/bin/ld.exe:
> > cannot find -lssh2
> >
> C:/Rtools/mingw_64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.3/../../../../x86_64-w64-mingw32/bin/ld.exe:
> > cannot find -lcrypto
> > collect2.exe: error: ld returned 1 exit status
> > no DLL was created
> > ERROR: compilation failed for package 'RhtslibTest'
> > * removing 'C:/Users/acuit/Documents/R/win-library/3.6/RhtslibTest'
> >
> > Exited with status 1.
> >
> >       [[alternative HTML version deleted]]
> >
> > _______________________________________________
> > Bioc-devel using r-project.org mailing list
> >
> https://urldefense.proofpoint.com/v2/url?u=https-3A__stat.ethz.ch_mailman_listinfo_bioc-2Ddevel&d=DwICAg&c=eRAMFD45gAfqt84VtBcfhQ&r=BK7q3XeAvimeWdGbWY_wJYbW0WYiZvSXAJJKaaPhzWA&m=M_5C6uruEPQfiEzLNV1mTopiZUJFpvKl7CLciyW9Dy8&s=fXiXCaC0HTtpKTHt3AVTisnRXYGRpWBwdkcwiU5FBSs&e=
> >
>
> --
> Hervé Pagès
>
> Program in Computational Biology
> Division of Public Health Sciences
> Fred Hutchinson Cancer Research Center
> 1100 Fairview Ave. N, M1-B514
> P.O. Box 19024
> Seattle, WA 98109-1024
>
> E-mail: hpages using fredhutch.org
> Phone:  (206) 667-5791
> Fax:    (206) 667-1319
>

	[[alternative HTML version deleted]]



More information about the Bioc-devel mailing list