[GenABEL-dev] clang
Maksim Struchalin
m.v.struchalin at mail.ru
Tue Dec 10 12:00:34 CET 2013
Hi Maarten & Lennart,
Following Maarten suggestion to add support of clang in Jenkins, I tried
to intsall clang on my UBUNTU and here I want to share what I got.
We duscused something separatly already but I thik it is better to move
in the list so we can trace the dialog back in the future.
I installed 'clang' and 'llvm' (both precompiled). And I run in a
command line:
clang++ -std=c++11 -stdlib=libc++ -fsanitize=undefined
-fno-omit-frame-pointer -I/usr/share/R/include/ -DNDEBUG
-I/home/maksim/distrib/libcxx/include -DCOMPILE_WITH_R -fpic -g -O2
-Wall -pedantic -mtune=native -c convert_snp_illumina.cpp -o
convert_snp_illumina.o
it spit out:
convert_snp_illumina.cpp:70:14: warning: comparison between NULL and
non-pointer ('ifstream' (aka 'basic_ifstream<char>') and NULL)
[-Wnull-arithmetic]
if (illfile == NULL) {
~~~~~~~ ^ ~~~~
convert_snp_illumina.cpp:70:14: error: invalid operands to binary
expression ('ifstream' (aka 'basic_ifstream<char>') and 'long')
if (illfile == NULL) {
~~~~~~~ ^ ~~~~
convert_snp_illumina.cpp:270:14: warning: comparison between NULL and
non-pointer ('ofstream' (aka 'basic_ofstream<char>') and NULL)
[-Wnull-arithmetic]
if (outfile == NULL) {
~~~~~~~ ^ ~~~~
convert_snp_illumina.cpp:270:14: error: invalid operands to binary
expression ('ofstream' (aka 'basic_ofstream<char>') and 'long')
if (outfile == NULL) {
~~~~~~~ ^ ~~~~
Here -I/home/maksim/distrib/libcxx/include is a standard library for
clang ('libcxx' was downloaded from http://libcxx.llvm.org/).
This is exactly the warinings/errors which CRAN people sent us. To run
it as R CMD INSTALL, we need to change /etc/R/Makeconf (as Maarten
mentioned already) appropraitelly and compile the library 'libcxx' (now,
I just downloaded it and used headers files only). I tried 'sudo apt-get
install libc++-dev' as Maarten suggested but got many conflicts with
other packages and could not install it.
That's what I got by now.
p.s. It seems we always should use 'clang' for compiling R packages
because as I understand it makes more extensive diagnostic of C++ code
before compiling. What do you think?
best,
Maksim
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/genabel-devel/attachments/20131210/6d440ca2/attachment.html>
More information about the genabel-devel
mailing list