Closed GreenhouseCH closed 4 years ago
An installation of RMETAR via the R Shell fails on OSX due to conflicting types in strnstr.
install_github("jwijffels/RMETAR", subdir="/pkg") Downloading GitHub repo jwijffels/RMETAR@master from URL https://api.github.com/repos/jwijffels/RMETAR/zipball/master Installing RMETAR '/Library/Frameworks/R.framework/Resources/bin/R' --no-site-file --no-environ --no-save --no-restore --quiet CMD \ INSTALL \ '/private/var/folders/6c/0spqx2ld32nf_dwdhypxlrr80000gn/T/RtmpqluVpH/devtools34c4297a95f7/jwijffels-RMETAR-2ebd79d/pkg' \ --library='/Library/Frameworks/R.framework/Versions/3.4/Resources/library' --install-tests
^
./local.h:1039:9: warning: unknown pragma ignored [-Wunknown-pragmas]
./local.h:1042:9: warning: unknown pragma ignored [-Wunknown-pragmas]
./local.h:1049:9: warning: unknown pragma ignored [-Wunknown-pragmas]
./local.h:1052:9: warning: unknown pragma ignored [-Wunknown-pragmas]
./local.h:1055:9: warning: unknown pragma ignored [-Wunknown-pragmas]
./local.h:1119:9: warning: unknown pragma ignored [-Wunknown-pragmas]
./local.h:1122:9: warning: unknown pragma ignored [-Wunknown-pragmas]
./local.h:1190:7: error: conflicting types for 'strnstr' char strnstr(char , char , size_t); ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/string.h:161:7: note: previous declaration is here char strnstr(const char __big, const char __little, size_t __len); ^ METAR_R_extraction.c:31:40: warning: comparison of constant 2147483647 with expression of type 'MDSP_BOOL' (aka 'unsigned short') is always true [-Wtautological-constant-out-of-range-compare] if(Mptr->RRVR[element].vrbl_visRange != MAXINT) vrbl_visRange = ScalarInteger(Mptr->RRVR[element].vrbl_visRange); else vrbl_visRange = ScalarInteger(NA_INTEGER);
METAR_R_extraction.c:32:40: warning: comparison of constant 2147483647 with expression of type 'MDSP_BOOL' (aka 'unsigned short') is always true [-Wtautological-constant-out-of-range-compare] if(Mptr->RRVR[element].below_min_RVR != MAXINT) below_min_RVR = ScalarInteger(Mptr->RRVR[element].below_min_RVR); else below_min_RVR = ScalarInteger(NA_INTEGER); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~ METAR_R_extraction.c:33:40: warning: comparison of constant 2147483647 with expression of type 'MDSP_BOOL' (aka 'unsigned short') is always true [-Wtautological-constant-out-of-range-compare] if(Mptr->RRVR[element].above_max_RVR != MAXINT) above_max_RVR = ScalarInteger(Mptr->RRVR[element].above_max_RVR); else above_max_RVR = ScalarInteger(NA_INTEGER); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~ METAR_R_extraction.c:67:30: warning: comparison of constant 2147483647 with expression of type 'MDSP_BOOL' (aka 'unsigned short') is always true [-Wtautological-constant-out-of-range-compare] if(Mptr->DVR.vrbl_visRange != MAXINT) vrbl_visRange = ScalarInteger(Mptr->DVR.vrbl_visRange); else vrbl_visRange = ScalarInteger(NA_INTEGER); ~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~ METAR_R_extraction.c:68:30: warning: comparison of constant 2147483647 with expression of type 'MDSP_BOOL' (aka 'unsigned short') is always true [-Wtautological-constant-out-of-range-compare] if(Mptr->DVR.below_min_DVR != MAXINT) below_min_DVR = ScalarInteger(Mptr->DVR.below_min_DVR); else below_min_DVR = ScalarInteger(NA_INTEGER); ~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~ METAR_R_extraction.c:69:30: warning: comparison of constant 2147483647 with expression of type 'MDSP_BOOL' (aka 'unsigned short') is always true [-Wtautological-constant-out-of-range-compare] if(Mptr->DVR.above_max_DVR != MAXINT) above_max_DVR = ScalarInteger(Mptr->DVR.above_max_DVR); else above_max_DVR = ScalarInteger(NA_INTEGER); ~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~ METAR_R_extraction.c:134:28: warning: comparison of constant 2147483647 with expression of type 'MDSP_BOOL' (aka 'unsigned short') is always true [-Wtautological-constant-out-of-range-compare] if(Mptr->winData.windVRB != MAXINT) windVRB = ScalarInteger(Mptr->winData.windVRB); else windVRB = ScalarInteger(NA_INTEGER); ~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~ 15 warnings and 1 error generated. make: *** [METAR_R_extraction.o] Error 1 ERROR: compilation failed for package ‘RMETAR’
The current dev version of the package builds successfully on OSX on Travis. I think we can close this, since it will be fixed by #8
An installation of RMETAR via the R Shell fails on OSX due to conflicting types in strnstr.
pragma linkage(ASCTOEB, OS)
./local.h:1039:9: warning: unknown pragma ignored [-Wunknown-pragmas]
pragma linkage(EAXLATE, OS)
./local.h:1042:9: warning: unknown pragma ignored [-Wunknown-pragmas]
pragma linkage(PASCTOEB, OS)
./local.h:1049:9: warning: unknown pragma ignored [-Wunknown-pragmas]
pragma linkage(CCAPREAD, OS)
./local.h:1052:9: warning: unknown pragma ignored [-Wunknown-pragmas]
pragma linkage(CCAPWRIT, OS)
./local.h:1055:9: warning: unknown pragma ignored [-Wunknown-pragmas]
pragma linkage(PPTOI, OS)
./local.h:1119:9: warning: unknown pragma ignored [-Wunknown-pragmas]
pragma linkage(readrec, OS)
./local.h:1122:9: warning: unknown pragma ignored [-Wunknown-pragmas]
pragma linkage(writerec, OS)
./local.h:1190:7: error: conflicting types for 'strnstr' char strnstr(char , char , size_t); ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/string.h:161:7: note: previous declaration is here char strnstr(const char __big, const char __little, size_t __len); ^ METAR_R_extraction.c:31:40: warning: comparison of constant 2147483647 with expression of type 'MDSP_BOOL' (aka 'unsigned short') is always true [-Wtautological-constant-out-of-range-compare] if(Mptr->RRVR[element].vrbl_visRange != MAXINT) vrbl_visRange = ScalarInteger(Mptr->RRVR[element].vrbl_visRange); else vrbl_visRange = ScalarInteger(NA_INTEGER);