|
Message-ID: <CAHPF5DAFZkatiD=QnfkT6Ky2PLVku0PUP1FD_GuR5B04hj9LWA@mail.gmail.com>
Date: Wed, 23 Mar 2016 13:08:16 +0000
From: Sérgio Marques <sergio.rtmarques@...il.com>
To: musl@...ts.openwall.com
Subject: Why there's no __MUSL__ macro question
Hi all,
I've seen that there's already a topic on
http://wiki.musl-libc.org/wiki/FAQ#Q:_why_is_there_no_MUSL_macro_.3F
but I would like to understand the reasoning for not having it defined.
Maybe by explaining my use case someone can explain why the macro is not
needed:
I has installing an *R* package in an Alpine linux distribution that uses
musl. That R package needed to be compiled using musl
"Command failed (1)
Failed to run system command:
'/usr/lib/R/bin/R' --vanilla CMD INSTALL '/tmp/RtmpDPDGNf/Rcpp'
--library='/app/packrat/lib/x86_64-alpine-linux-musl/3.2.3' --install-tests
--no-docs --no-multiarch --no-demo
The command failed with output:
* installing *source* package 'Rcpp' ...
** package 'Rcpp' successfully unpacked and MD5 sums checked
** libs
x86_64-alpine-linux-musl-g++ -I/usr/lib/R/include -DNDEBUG
-I../inst/include/ -Os -fomit-frame-pointer -fpic -Os
-fomit-frame-pointer -c Date.cpp -o Date.o
x86_64-alpine-linux-musl-g++ -I/usr/lib/R/include -DNDEBUG
-I../inst/include/ -Os -fomit-frame-pointer -fpic -Os
-fomit-frame-pointer -c Module.cpp -o Module.o
x86_64-alpine-linux-musl-g++ -I/usr/lib/R/include -DNDEBUG
-I../inst/include/ -Os -fomit-frame-pointer -fpic -Os
-fomit-frame-pointer -c Rcpp_init.cpp -o Rcpp_init.o
x86_64-alpine-linux-musl-g++ -I/usr/lib/R/include -DNDEBUG
-I../inst/include/ -Os -fomit-frame-pointer -fpic -Os
-fomit-frame-pointer -c api.cpp -o api.o
api.cpp:40:30: fatal error: execinfo.h: No such file or directory
compilation terminated.
/usr/lib/R/etc/Makeconf:141: recipe for target 'api.o' failed
make: *** [api.o] Error 1
ERROR: compilation failed for package 'Rcpp'
* removing '/app/packrat/lib/x87_64-alpine-linux-musl/3.2.3/Rcpp'"
It happens that the failure is todo with the fact that is no macro in
api.cpp which uniquely identifies we're in a distribution that is using
musl, so the compiler ends up executing some code invalid for that
arquitecture/distribution.
How are we expected to solve this kind of problem if not by using the
__MUSL__ macro?
Thanks in advance.
Content of type "text/html" skipped
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.