[Bioc-devel] package 'msa' not building on veracruz2, but on toluca2 and other Mac OS systems

Hervé Pagès hpages at fredhutch.org
Mon Apr 17 01:26:42 CEST 2017


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.morgan at roswellpark.org<mailto:martin.morgan at 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 at r-project.org<mailto:Bioc-devel at 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 at r-project.org<mailto:Bioc-devel at 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 at 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: hpages at fredhutch.org
Phone:  (206) 667-5791
Fax:    (206) 667-1319



More information about the Bioc-devel mailing list