Re: [R-SIG-Mac] Strange C/C++ Compile Errors

2021-12-14 Thread Prof Brian Ripley
You have not shown us the compiler command line used, nor made a 
reproducible example available (and we might need both).


The suspicious line is

> In file included from ./include/stdlib.h:36:

It looks like you may have a file in the package which is masking a 
system header, but we don't have any information to go on.



On 14/12/2021 13:06, Wheeler, Matt (NIH/NIEHS) [E] via R-SIG-Mac wrote:

I hope someone can help me with my C++/Rcpp compile issue. I am building a 
package, which will eventually be on CRAN, but I am currently looking to have 
it available to collaborators who use macOS. I have successfully compiled it 
for Linux and Windows (it passes the CRAN checks), but I have had no such luck 
for macOS. Here, I get strange compile errors based upon namespaces. For 
example, the first two errors are below:



In file included from RcppExports.cpp:4:

In file included from 
/Library/Frameworks/R.framework/Versions/4.1-arm64/Resources/library/RcppGSL/include/RcppGSL.h:25:

In file included from 
/Library/Frameworks/R.framework/Versions/4.1-arm64/Resources/library/RcppGSL/include/RcppGSLForward.h:24:

In file included from 
/Library/Frameworks/R.framework/Versions/4.1-arm64/Resources/library/Rcpp/include/RcppCommon.h:30:

In file included from 
/Library/Frameworks/R.framework/Versions/4.1-arm64/Resources/library/Rcpp/include/Rcpp/r/headers.h:66:

In file included from 
/Library/Frameworks/R.framework/Versions/4.1-arm64/Resources/library/Rcpp/include/Rcpp/platform/compiler.h:100:

In file included from 
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cmath:308:

In file included from 
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/math.h:308:

In file included from ./include/stdlib.h:36:

/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cstdlib:99:9:
 error: no member named 'size_t' in the global namespace

using ::size_t;



In file included from RcppExports.cpp:4:

In file included from 
/Library/Frameworks/R.framework/Versions/4.1-arm64/Resources/library/RcppGSL/include/RcppGSL.h:25:

In file included from 
/Library/Frameworks/R.framework/Versions/4.1-arm64/Resources/library/RcppGSL/include/RcppGSLForward.h:24:

In file included from 
/Library/Frameworks/R.framework/Versions/4.1-arm64/Resources/library/Rcpp/include/RcppCommon.h:30:

In file included from 
/Library/Frameworks/R.framework/Versions/4.1-arm64/Resources/library/Rcpp/include/Rcpp/r/headers.h:66:

In file included from 
/Library/Frameworks/R.framework/Versions/4.1-arm64/Resources/library/Rcpp/include/Rcpp/platform/compiler.h:153:

In file included from 
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/unordered_map:435:

In file included from 
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__hash_table:15:

In file included from 
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/memory:673:

/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/new:319:5:
 error: no member named 'posix_memalign' in the global namespace

  ::posix_memalign(&__result, __alignment, __size);

  ~~^

/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/new:330:5:
 error: reference to unresolved using declaration

  ::free(__ptr);



Essentially, all of the errors are based upon namespace issues.

I have seen that having a ~/.R/Makevars file messes things up, so I emptied 
that directory. I further have no h files in '/usr/local/include,'

which will cause other build errors (i.e. I use NLOPT and GSL), but I want to 
get through this right now. Based upon other threads, I have the following for 
Xcode:



%xcode-select -p

/Library/Developer/CommandLineTools

%xcrun --show-sdk-path

/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk

%which clang

/usr/bin/clang



Now, this is happening on two Macs. The first is an M1 with macOS Monterey 
12.01, and I got it with a clean IT build. The second is the one I use for 
work. It is an Intel using Catalina 10.15.7 (19H1519). I can understand why the 
second one may be messed up. When the issue occurred almost a year ago, I was 
in a research phase, couldn't figure out the solution, installed brew gcc and 
had R compile with this 'nonstandard' compiler with many no-no hacks. It was a 
hack, but it worked. Now, I need to distribute this to the masses, and it is 
still not working on a fresh machine and a newer version of macOS. Before I go 
further, I want to see if there is some setup issue on my machine(s), possibly 
something I need to talk about to IT.



Further, the file RcppExports.cpp is automatically generated in Rcpp, so I 
don't think it is a code issue, but it is a dependency issue with clang, but 
here I am not knowledgeable enough to fix. Quite honestly, Apple�s compiler 
setup is baffling, but I am used to /usr/include/ etc.   I can also compile 
Rcpp from source code, and I have compiled other packages on these machines.



Thanks 

[R-SIG-Mac] Strange C/C++ Compile Errors

2021-12-14 Thread Wheeler, Matt (NIH/NIEHS) [E] via R-SIG-Mac
I hope someone can help me with my C++/Rcpp compile issue. I am building a 
package, which will eventually be on CRAN, but I am currently looking to have 
it available to collaborators who use macOS. I have successfully compiled it 
for Linux and Windows (it passes the CRAN checks), but I have had no such luck 
for macOS. Here, I get strange compile errors based upon namespaces. For 
example, the first two errors are below:



In file included from RcppExports.cpp:4:

In file included from 
/Library/Frameworks/R.framework/Versions/4.1-arm64/Resources/library/RcppGSL/include/RcppGSL.h:25:

In file included from 
/Library/Frameworks/R.framework/Versions/4.1-arm64/Resources/library/RcppGSL/include/RcppGSLForward.h:24:

In file included from 
/Library/Frameworks/R.framework/Versions/4.1-arm64/Resources/library/Rcpp/include/RcppCommon.h:30:

In file included from 
/Library/Frameworks/R.framework/Versions/4.1-arm64/Resources/library/Rcpp/include/Rcpp/r/headers.h:66:

In file included from 
/Library/Frameworks/R.framework/Versions/4.1-arm64/Resources/library/Rcpp/include/Rcpp/platform/compiler.h:100:

In file included from 
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cmath:308:

In file included from 
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/math.h:308:

In file included from ./include/stdlib.h:36:

/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cstdlib:99:9:
 error: no member named 'size_t' in the global namespace

using ::size_t;



In file included from RcppExports.cpp:4:

In file included from 
/Library/Frameworks/R.framework/Versions/4.1-arm64/Resources/library/RcppGSL/include/RcppGSL.h:25:

In file included from 
/Library/Frameworks/R.framework/Versions/4.1-arm64/Resources/library/RcppGSL/include/RcppGSLForward.h:24:

In file included from 
/Library/Frameworks/R.framework/Versions/4.1-arm64/Resources/library/Rcpp/include/RcppCommon.h:30:

In file included from 
/Library/Frameworks/R.framework/Versions/4.1-arm64/Resources/library/Rcpp/include/Rcpp/r/headers.h:66:

In file included from 
/Library/Frameworks/R.framework/Versions/4.1-arm64/Resources/library/Rcpp/include/Rcpp/platform/compiler.h:153:

In file included from 
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/unordered_map:435:

In file included from 
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__hash_table:15:

In file included from 
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/memory:673:

/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/new:319:5:
 error: no member named 'posix_memalign' in the global namespace

 ::posix_memalign(&__result, __alignment, __size);

 ~~^

/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/new:330:5:
 error: reference to unresolved using declaration

 ::free(__ptr);



Essentially, all of the errors are based upon namespace issues.

I have seen that having a ~/.R/Makevars file messes things up, so I emptied 
that directory. I further have no h files in '/usr/local/include,'

which will cause other build errors (i.e. I use NLOPT and GSL), but I want to 
get through this right now. Based upon other threads, I have the following for 
Xcode:



%xcode-select -p

/Library/Developer/CommandLineTools

%xcrun --show-sdk-path

/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk

%which clang

/usr/bin/clang



Now, this is happening on two Macs. The first is an M1 with macOS Monterey 
12.01, and I got it with a clean IT build. The second is the one I use for 
work. It is an Intel using Catalina 10.15.7 (19H1519). I can understand why the 
second one may be messed up. When the issue occurred almost a year ago, I was 
in a research phase, couldn't figure out the solution, installed brew gcc and 
had R compile with this 'nonstandard' compiler with many no-no hacks. It was a 
hack, but it worked. Now, I need to distribute this to the masses, and it is 
still not working on a fresh machine and a newer version of macOS. Before I go 
further, I want to see if there is some setup issue on my machine(s), possibly 
something I need to talk about to IT.



Further, the file RcppExports.cpp is automatically generated in Rcpp, so I 
don't think it is a code issue, but it is a dependency issue with clang, but 
here I am not knowledgeable enough to fix. Quite honestly, Apple�s compiler 
setup is baffling, but I am used to /usr/include/ etc.   I can also compile 
Rcpp from source code, and I have compiled other packages on these machines.



Thanks in advance,



Matt


[[alternative HTML version deleted]]

___
R-SIG-Mac mailing list
R-SIG-Mac@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-mac