Hi David,
Yes, definitely related to this thread.
FWIW the msa compilation problem on veracruz2 seems to be caused by
some recent changes to the clang compiler. Following the CRAN folks
lead, we use clang 4 on veracruz2, which is a more recent version
than the one shipped with Xcode. It's available here:
http://r.research.att.com/libs/
Seems that the following simple change solves msa compilation problem:
veracruz2:msa biocbuild$ svn diff
Index: src/ClustalOmega/src/hhalign/util-C.h
===================================================================
--- src/ClustalOmega/src/hhalign/util-C.h (revision 128757)
+++ src/ClustalOmega/src/hhalign/util-C.h (working copy)
@@ -50,8 +50,8 @@
inline double fmean(double x, double y, double d) { return pow(
(pow(x,d)+pow(y,d))/2 ,1./d);}
// log base 2
-inline float log2(float x) {return (x<=0?
(float)(-100000):1.442695041*log(x));}
-inline float log10(float x) {return (x<=0?
(float)(-100000):0.434294481*log(x));}
+#define log2 log2f
+#define log10 log10f
Ideally, this kind of fix should be applied upstream to the ClustalOmega
source.
Cheers,
H.
On 04/16/2017 01:24 PM, Coffey, David G wrote:
Hello,
My Bioconductor Package ‘LymphoSeq’ received the following build
error<https://urldefense.proofpoint.com/v2/url?u=http-3A__bioconductor.org_checkResults_3.5_bioc-2DLATEST_LymphoSeq_veracruz2-2Dbuildsrc.html&d=DwIGaQ&c=eRAMFD45gAfqt84VtBcfhQ&r=BK7q3XeAvimeWdGbWY_wJYbW0WYiZvSXAJJKaaPhzWA&m=jnChabNsv9hAlCjUWK2OZaz9ASgV9yIlOrr4v73R5_Y&s=Bu3zpsOOHDUFFPyTen53BCscwlG7cLKR9zFvmS878V4&e=
> on veracruz2:
ERROR: dependency ‘msa’ is not available for package ‘LymphoSeq’
Indeed, ‘msa’ is one of my package dependencies. The package was built under
the latest version of MacOS on my computer and I have never see this error
before. I am wondering if this problem is related to this thread. Will my
package not be pushed to the release version because of this error?
Thank you,
David
On Apr 14, 2017, at 12:50 PM, Martin Morgan
<martin.mor...@roswellpark.org<mailto:martin.mor...@roswellpark.org>> wrote:
On 04/07/2017 11:26 AM, Ulrich Bodenhofer wrote:
Hi,
The devel version of our package 'msa' currently does not compile on
veracruz2 (R 3.4.0 alpha under OS X 10.11.6 El Capitan), but it seems to
work on toluca2 (R-devel on OS X 10.9.5 Mavericks). I also checked on my
Mac at home (R 3.3.3 under macOS 10.12.3 Sierra using the very latest
version of Xcode), and it also compiles without any problems.
The error stems from a conflicting definition of the math functions
'log2' and 'log10' in the source code of the ClustalOmega library which
is integrated into 'msa' (the same error appears for the inline
definition of 'log10'):
hhalign/util-C.h:53:14: error: 'log2' is missing exception
specification 'throw()'
inline float log2(float x) {return (x<=0?
(float)(-100000):1.442695041*log(x));}
Any ideas? 'log2' and 'log10' are defined in the standard math library.
The definitions work well on Linux along with '#include <cmath>' , while
Windows requires '#include <math.h>'. So far, '#include <cmath>' also
worked on Mac OS, but it seems that now, on veracruz2, neither one nor
the other works. Any thoughts? Is this something I should care about or
is there something exotic about veracruz2 such that I can simply ignore
this issue?
I guess the minimal reproducible example is
$ cat log2.cpp
#include <cmath> // or <math.h>
inline float log2(float x) {return (x<=0? (float)(-100000):1.442695041*log(x));}
$ R CMD SHLIB log2.cpp
clang++ -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG
-I/usr/local/include -I/opt/X11/include -fPIC -Wall -g -O2 -c log2.cpp -o
log2.o
log2.cpp:3:14: error: 'log2' is missing exception specification 'throw()'
inline float log2(float x) {return (x<=0? (float)(-100000):1.442695041*...
^
throw()
/usr/local/clang+llvm-4.0.0-x86_64-apple-darwin/bin/../include/c++/v1/math.h:1221:46:
note:
previous declaration is here
inline _LIBCPP_INLINE_VISIBILITY float log2(float __lcpp_x) _NOEX...
^
1 error generated.
make: *** [log2.o] Error 1
It could be that final changes in the compiler used by R to build mac binaries
could change, but at this point I think it would be prudent to implement a
work-around; veracruz2 will be our main macOS builder for the release, and if
the package is not building on it then the package will not be available to
macOS users.
I am not enough of a C++ programmer to be able to give concrete advice on how
the problem should be addressed; maybe others on the list have insight...?
Martin
Thanks a lot in advance and best regards,
Ulrich
_______________________________________________
Bioc-devel@r-project.org<mailto:Bioc-devel@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=HjFin7ZZwuYWdlO8wvE3KmoPwjRiq-bV_UKHWdKLLP4&m=q0lYA_4-5lp09oKeciuTpv2FDm4ZddBJHxUO8yw2Tys&s=jeKQlveT4DG2tLfM8ykFwfCXpfvgOHoAQDuZ_1hjVVY&e=
This email message may contain legally privileged and/or...{{dropped:2}}
_______________________________________________
Bioc-devel@r-project.org<mailto:Bioc-devel@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=HjFin7ZZwuYWdlO8wvE3KmoPwjRiq-bV_UKHWdKLLP4&m=q0lYA_4-5lp09oKeciuTpv2FDm4ZddBJHxUO8yw2Tys&s=jeKQlveT4DG2tLfM8ykFwfCXpfvgOHoAQDuZ_1hjVVY&e=
[[alternative HTML version deleted]]
_______________________________________________
Bioc-devel@r-project.org mailing list
https://urldefense.proofpoint.com/v2/url?u=https-3A__stat.ethz.ch_mailman_listinfo_bioc-2Ddevel&d=DwIGaQ&c=eRAMFD45gAfqt84VtBcfhQ&r=BK7q3XeAvimeWdGbWY_wJYbW0WYiZvSXAJJKaaPhzWA&m=jnChabNsv9hAlCjUWK2OZaz9ASgV9yIlOrr4v73R5_Y&s=oDD2_encverkZOMDMsj6H8TdvzaHmyOMuqf638eCsxE&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: hpa...@fredhutch.org
Phone: (206) 667-5791
Fax: (206) 667-1319
_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel