Uploaded image for project: 'Commons Crypto'
  1. Commons Crypto
  2. CRYPTO-116

Fix compile error at 64 bits Windows

    XMLWordPrintableJSON

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.

      Attachments

        Activity

          People

            kexianda Xianda Ke
            dapengsun Dapeng Sun
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: