Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
-
None
Description
For mingw64 on windows 64bits, we got the compile error like these:
[exec] "C:/Program Files/Java/jdk1.7.0_67/bin/javah" -force -classpath target/classes -o target/jni-classes/org/apache/commons/crypto/random/OpenSslCryptoRandomNative.h org.apache.commons.crypto.random.OpenSslCryptoRandomNative [exec] Picked up _JAVA_OPTIONS: [exec] In file included from C:/msys64/mingw64/x86_64-w64-mingw32/include/guiddef.h:148:0, [exec] from C:/msys64/mingw64/x86_64-w64-mingw32/include/winnt.h:628, [exec] from C:/msys64/mingw64/x86_64-w64-mingw32/include/minwindef.h:163, [exec] from C:/msys64/mingw64/x86_64-w64-mingw32/include/windef.h:8, [exec] from C:/msys64/mingw64/x86_64-w64-mingw32/include/Windows.h:69, [exec] from src/main/native/org/apache/commons/crypto/org_apache_commons_crypto.h:132, [exec] from src/main/native/org/apache/commons/crypto/random/org_apache_commons_crypto_random.h:22, [exec] from src/main/native/org/apache/commons/crypto/random/OpenSslCryptoRandomNative.c:19: [exec] C:/msys64/mingw64/x86_64-w64-mingw32/include/string.h:107:3: error: 'inline' in empty declaration [exec] __CRT_INLINE int __cdecl strncasecmp (const char *__sz1, const char *__sz2, size_t __sizeMaxCompare) { return _strnicmp (__sz1, __sz2, __sizeMaxCompare); } [exec] ^ [exec] C:/msys64/mingw64/x86_64-w64-mingw32/include/string.h:108:3: error: 'inline' in empty declaration [exec] __CRT_INLINE int __cdecl strcasecmp (const char *__sz1, const char *__sz2) { return _stricmp (__sz1, __sz2); } [exec] ^ [exec] gcc -I"C:/Program Files/Java/jdk1.7.0_67/include" -Ilib/inc_win -O2 -fno-inline-functions -Ilib/include -I/usr/include -I"src/main/native/org/apache/commons/crypto/" -I"C:/Program Files/Java/jdk1.7.0_67/include/win32" -I"target/jni-classes/org/apache/commons/crypto/cipher" -I"target/jni-classes/org/apache/commons/crypto/random" -c src/main/native/org/apache/commons/crypto/random/OpenSslCryptoRandomNative.c -o target/commons-crypto-1.0.0-SNAPSHOT-Windows-x86_64/OpenSslCryptoRandomNative.o [exec] In file included from C:/msys64/mingw64/lib/gcc/x86_64-w64-mingw32/5.4.0/include/mm_malloc.h:27:0, [exec] from C:/msys64/mingw64/lib/gcc/x86_64-w64-mingw32/5.4.0/include/xmmintrin.h:34, [exec] from C:/msys64/mingw64/lib/gcc/x86_64-w64-mingw32/5.4.0/include/x86intrin.h:31, [exec] from C:/msys64/mingw64/x86_64-w64-mingw32/include/winnt.h:1519, [exec] from C:/msys64/mingw64/x86_64-w64-mingw32/include/minwindef.h:163, [exec] from C:/msys64/mingw64/x86_64-w64-mingw32/include/windef.h:8, [exec] from C:/msys64/mingw64/x86_64-w64-mingw32/include/Windows.h:69, [exec] from src/main/native/org/apache/commons/crypto/org_apache_commons_crypto.h:132, [exec] from src/main/native/org/apache/commons/crypto/random/org_apache_commons_crypto_random.h:22, [exec] from src/main/native/org/apache/commons/crypto/random/OpenSslCryptoRandomNative.c:19: [exec] C:/msys64/mingw64/x86_64-w64-mingw32/include/stdlib.h:313:3: error: 'inline' in empty declaration [exec] __CRT_INLINE __MINGW_ATTRIB_NORETURN void __cdecl _Exit(int status) [exec] ^ [exec] C:/msys64/mingw64/x86_64-w64-mingw32/include/stdlib.h:650:3: error: 'inline' in empty declaration [exec] __MINGW_EXTENSION __CRT_INLINE long long __cdecl llabs(long long _j) { return (_j >= 0 ? _j : -_j); } [exec] ^ [exec] C:/msys64/mingw64/x86_64-w64-mingw32/include/stdlib.h:668:3: error: 'inline' in empty declaration [exec] __MINGW_EXTENSION __CRT_INLINE long long __cdecl atoll (const char * _c) { return _atoi64 (_c); } [exec] ^ [exec] C:/msys64/mingw64/x86_64-w64-mingw32/include/stdlib.h:669:3: error: 'inline' in empty declaration [exec] __MINGW_EXTENSION __CRT_INLINE char *__cdecl lltoa (long long _n, char * _c, int _i) { return _i64toa (_n, _c, _i); } [exec] ^ [exec] C:/msys64/mingw64/x86_64-w64-mingw32/include/stdlib.h:670:3: error: 'inline' in empty declaration [exec] __MINGW_EXTENSION __CRT_INLINE char *__cdecl ulltoa (unsigned long long _n, char * _c, int _i) { return _ui64toa (_n, _c, _i); } [exec] ^ [exec] C:/msys64/mingw64/x86_64-w64-mingw32/include/stdlib.h:671:3: error: 'inline' in empty declaration [exec] __MINGW_EXTENSION __CRT_INLINE long long __cdecl wtoll (const wchar_t * _w) { return _wtoi64 (_w); } [exec] ^ [exec] C:/msys64/mingw64/x86_64-w64-mingw32/include/stdlib.h:672:3: error: 'inline' in empty declaration [exec] __MINGW_EXTENSION __CRT_INLINE wchar_t *__cdecl lltow (long long _n, wchar_t * _w, int _i) { return _i64tow (_n, _w, _i); } [exec] ^ [exec] C:/msys64/mingw64/x86_64-w64-mingw32/include/stdlib.h:673:3: error: 'inline' in empty declaration [exec] __MINGW_EXTENSION __CRT_INLINE wchar_t *__cdecl ulltow (unsigned long long _n, wchar_t * _w, int _i) { return _ui64tow (_n, _w, _i); } [exec] ^ [exec] In file included from C:/msys64/mingw64/x86_64-w64-mingw32/include/minwindef.h:163:0, [exec] from C:/msys64/mingw64/x86_64-w64-mingw32/include/windef.h:8, [exec] from C:/msys64/mingw64/x86_64-w64-mingw32/include/Windows.h:69, [exec] from src/main/native/org/apache/commons/crypto/org_apache_commons_crypto.h:132, [exec] from src/main/native/org/apache/commons/crypto/random/org_apache_commons_crypto_random.h:22, [exec] from src/main/native/org/apache/commons/crypto/random/OpenSslCryptoRandomNative.c:19: [exec] C:/msys64/mingw64/x86_64-w64-mingw32/include/winnt.h:1583:5: error: 'inline' in empty declaration [exec] __CRT_INLINE LONG64 MultiplyExtract128(LONG64 Multiplier,LONG64 Multiplicand,BYTE Shift) { [exec] ^ [exec] C:/msys64/mingw64/x86_64-w64-mingw32/include/winnt.h:1592:5: error: 'inline' in empty declaration [exec] __CRT_INLINE DWORD64 UnsignedMultiplyExtract128(DWORD64 Multiplier,DWORD64 Multiplicand,BYTE Shift) { [exec] ^ [exec] In file included from C:/msys64/mingw64/x86_64-w64-mingw32/include/minwindef.h:163:0, [exec] from C:/msys64/mingw64/x86_64-w64-mingw32/include/windef.h:8, [exec] from C:/msys64/mingw64/x86_64-w64-mingw32/include/Windows.h:69, [exec] from src/main/native/org/apache/commons/crypto/org_apache_commons_crypto.h:132, [exec] from src/main/native/org/apache/commons/crypto/random/org_apache_commons_crypto_random.h:22, [exec] from src/main/native/org/apache/commons/crypto/random/OpenSslCryptoRandomNative.c:19: [exec] C:/msys64/mingw64/x86_64-w64-mingw32/include/winnt.h:7335:5: error: 'inline' in empty declaration [exec] __CRT_INLINE PVOID WINAPI RtlSecureZeroMemory(PVOID ptr,SIZE_T cnt) { [exec] ^ [exec] In file included from C:/msys64/mingw64/x86_64-w64-mingw32/include/Windows.h:114:0, [exec] from src/main/native/org/apache/commons/crypto/org_apache_commons_crypto.h:132, [exec] from src/main/native/org/apache/commons/crypto/random/org_apache_commons_crypto_random.h:22, [exec] from src/main/native/org/apache/commons/crypto/random/OpenSslCryptoRandomNative.c:19: [exec] C:/msys64/mingw64/x86_64-w64-mingw32/include/stralign.h:61:3: error: 'inline' in empty declaration [exec] __CRT_INLINE LPUWSTR ua_CharUpperW(LPUWSTR String) { [exec] ^ [exec] C:/msys64/mingw64/x86_64-w64-mingw32/include/stralign.h:80:3: error: 'inline' in empty declaration [exec] __CRT_INLINE int ua_lstrcmpW(LPCUWSTR String1,LPCUWSTR String2) { [exec] ^ [exec] C:/msys64/mingw64/x86_64-w64-mingw32/include/stralign.h:88:3: error: 'inline' in empty declaration [exec] __CRT_INLINE int ua_lstrcmpiW(LPCUWSTR String1,LPCUWSTR String2) { [exec] ^ [exec] C:/msys64/mingw64/x86_64-w64-mingw32/include/stralign.h:96:3: error: 'inline' in empty declaration [exec] __CRT_INLINE int ua_lstrlenW(LPCUWSTR String) { [exec] ^ [exec] C:/msys64/mingw64/x86_64-w64-mingw32/include/stralign.h:120:3: error: 'inline' in empty declaration [exec] __CRT_INLINE PUWSTR_C ua_wcschr(PCUWSTR String,WCHAR Character) { [exec] ^ [exec] C:/msys64/mingw64/x86_64-w64-mingw32/include/stralign.h:124:3: error: 'inline' in empty declaration [exec] __CRT_INLINE PUWSTR_C ua_wcsrchr(PCUWSTR String,WCHAR Character) { [exec] ^ [exec] C:/msys64/mingw64/x86_64-w64-mingw32/include/stralign.h:139:3: error: 'inline' in empty declaration [exec] __CRT_INLINE PUWSTR ua_wcscpy(PUWSTR Destination,PCUWSTR Source) { [exec] ^ [exec] C:/msys64/mingw64/x86_64-w64-mingw32/include/stralign.h:144:3: error: 'inline' in empty declaration [exec] __CRT_INLINE size_t ua_wcslen(PCUWSTR String) { [exec] ^ [exec] C:/msys64/mingw64/x86_64-w64-mingw32/include/stralign.h:153:3: error: 'inline' in empty declaration [exec] __CRT_INLINE int ua_wcsicmp(LPCUWSTR String1,LPCUWSTR String2) { [exec] ^ [exec] In file included from C:/msys64/mingw64/include/openssl/asn1.h:62:0, [exec] from C:/msys64/mingw64/include/openssl/objects.h:965, [exec] from C:/msys64/mingw64/include/openssl/evp.h:94, [exec] from src/main/native/org/apache/commons/crypto/org_apache_commons_crypto.h:196, [exec] from src/main/native/org/apache/commons/crypto/random/org_apache_commons_crypto_random.h:22, [exec] from src/main/native/org/apache/commons/crypto/random/OpenSslCryptoRandomNative.c:19: [exec] C:/msys64/mingw64/x86_64-w64-mingw32/include/time.h:171:3: error: 'inline' in empty declaration [exec] __CRT_INLINE wchar_t *__cdecl _wctime(const time_t *_Time) { return _wctime64(_Time); } [exec] ^ [exec] C:/msys64/mingw64/x86_64-w64-mingw32/include/time.h:183:3: error: 'inline' in empty declaration [exec] __CRT_INLINE errno_t __cdecl _wctime_s (wchar_t *_Buffer,size_t _SizeInWords,const time_t *_Time) { return _wctime64_s (_Buffer,_SizeInWords,_Time); } [exec] ^ [exec] C:/msys64/mingw64/x86_64-w64-mingw32/include/time.h:205:1: error: 'inline' in empty declaration [exec] __CRT_INLINE double __cdecl difftime(time_t _Time1,time_t _Time2) [exec] ^ [exec] C:/msys64/mingw64/x86_64-w64-mingw32/include/time.h:207:1: error: 'inline' in empty declaration [exec] __CRT_INLINE char *__cdecl ctime(const time_t *_Time) { return _ctime64(_Time); } [exec] ^ [exec] C:/msys64/mingw64/x86_64-w64-mingw32/include/time.h:208:1: error: 'inline' in empty declaration [exec] __CRT_INLINE struct tm *__cdecl gmtime(const time_t *_Time) { return _gmtime64(_Time); } [exec] ^ [exec] C:/msys64/mingw64/x86_64-w64-mingw32/include/time.h:209:1: error: 'inline' in empty declaration [exec] __CRT_INLINE struct tm *__cdecl localtime(const time_t *_Time) { return _localtime64(_Time); } [exec] ^ [exec] C:/msys64/mingw64/x86_64-w64-mingw32/include/time.h:210:1: error: 'inline' in empty declaration [exec] __CRT_INLINE time_t __cdecl mktime(struct tm *_Tm) { return _mktime64(_Tm); } [exec] ^ [exec] C:/msys64/mingw64/x86_64-w64-mingw32/include/time.h:211:1: error: 'inline' in empty declaration [exec] __CRT_INLINE time_t __cdecl _mkgmtime(struct tm *_Tm) { return _mkgmtime64(_Tm); } [exec] ^ [exec] C:/msys64/mingw64/x86_64-w64-mingw32/include/time.h:212:1: error: 'inline' in empty declaration [exec] __CRT_INLINE time_t __cdecl time(time_t *_Time) { return _time64(_Time); } [exec] ^ [exec] In file included from C:/msys64/mingw64/x86_64-w64-mingw32/include/time.h:284:0, [exec] from C:/msys64/mingw64/include/openssl/asn1.h:62, [exec] from C:/msys64/mingw64/include/openssl/objects.h:965, [exec] from C:/msys64/mingw64/include/openssl/evp.h:94, [exec] from src/main/native/org/apache/commons/crypto/org_apache_commons_crypto.h:196, [exec] from src/main/native/org/apache/commons/crypto/random/org_apache_commons_crypto_random.h:22, [exec] from src/main/native/org/apache/commons/crypto/random/OpenSslCryptoRandomNative.c:19: [exec] C:/msys64/mingw64/x86_64-w64-mingw32/include/sys/timeb.h:107:3: error: 'inline' in empty declaration [exec] __CRT_INLINE void __cdecl ftime(struct timeb *_Tmb) { [exec] ^
It is an inline issue, just disable inline at 64bits windows.