From: takashikkbn@... Date: 2018-10-20T01:21:51+00:00 Subject: [ruby-core:89484] [Ruby trunk Bug#14964][Feedback] [MJIT] missing builtin methods Issue #14964 has been updated by k0kubun (Takashi Kokubun). Status changed from Open to Feedback I succeeded to install msys1. I'm trying to reproduce your build error (and it's slowly proceeding), but your configure seems to have many options. Could you minimize the number of configure options that still reproduce your build failure? ---------------------------------------- Bug #14964: [MJIT] missing builtin methods https://bugs.ruby-lang.org/issues/14964#change-74525 * Author: ahorek (Pavel Rosick��) * Status: Feedback * Priority: Normal * Assignee: k0kubun (Takashi Kokubun) * Target version: * ruby -v: * Backport: 2.3: UNKNOWN, 2.4: UNKNOWN, 2.5: UNKNOWN ---------------------------------------- I'm having trouble building Ruby 2.6 on Windows. this is the first error: ``` building rb_mjit_header.h rb_mjit_header.h updated building .ext/include/x64-mingw32/rb_mjit_min_header-2.6.0.h ./miniruby.exe -I../ruby_2_6/lib -I. -I.ext/common ../ruby_2_6/tool/transform_mjit_header.rb "x86_64-w64-mingw32-gcc " rb_mjit_header.h .ext/include/x64-mingw32/rb_mjit_min_header-2.6.0.h error in initial header file: C:/Users/pdaho/AppData/Local/Temp/20180805-10076-12b1zho.c:1: warning: "__STDC__" redefined #define __STDC__ 1 : note: this is the location of the previous definition C:/Users/pdaho/AppData/Local/Temp/20180805-10076-12b1zho.c:2: warning: "__STDC_VERSION__" redefined #define __STDC_VERSION__ 201710L : note: this is the location of the previous definition C:/Users/pdaho/AppData/Local/Temp/20180805-10076-12b1zho.c:3: warning: "__STDC_UTF_16__" redefined #define __STDC_UTF_16__ 1 : note: this is the location of the previous definition C:/Users/pdaho/AppData/Local/Temp/20180805-10076-12b1zho.c:4: warning: "__STDC_UTF_32__" redefined #define __STDC_UTF_32__ 1 : note: this is the location of the previous definition C:/Users/pdaho/AppData/Local/Temp/20180805-10076-12b1zho.c:5: warning: "__STDC_HOSTED__" redefined #define __STDC_HOSTED__ 1 : note: this is the location of the previous definition C:/Users/pdaho/AppData/Local/Temp/20180805-10076-12b1zho.c:29: warning: "__BIGGEST_ALIGNMENT__" redefined #define __BIGGEST_ALIGNMENT__ 32 : note: this is the location of the previous definition C:/Users/pdaho/AppData/Local/Temp/20180805-10076-12b1zho.c: In function '__crc32b': C:/Users/pdaho/AppData/Local/Temp/20180805-10076-12b1zho.c:6216:10: error: implicit declaration of function '__builtin_ia32_crc32qi'; did you mean '__builtin_ia32_rolqi'? [-Werror=implicit-function-declaration] return __builtin_ia32_crc32qi (__C, __V); ^~~~~~~~~~~~~~~~~~~~~~ __builtin_ia32_rolqi compilation terminated due to -Wfatal-errors. cc1.exe: some warnings being treated as errors make: *** [.ext/include/x64-mingw32/rb_mjit_min_header-2.6.0.h] Error 1 rm x64-msvcrt-ruby260.rc rake aborted! ``` I tried various CFLAGS, it looks like -mcrc32 helped ``` building rb_mjit_header.h rb_mjit_header.h updated building .ext/include/x64-mingw32/rb_mjit_min_header-2.6.0.h ./miniruby.exe -I../ruby_2_6/lib -I. -I.ext/common ../ruby_2_6/tool/transform_mjit_header.rb "x86_64-w64-mingw32-gcc " rb_mjit_header.h .ext/include/x64-mingw32/rb_mjit_min_header-2.6.0.h error in initial header file: C:/Users/pdaho/AppData/Local/Temp/20180805-1196-12y4d1j.c:1: warning: "__STDC__" redefined #define __STDC__ 1 : note: this is the location of the previous definition C:/Users/pdaho/AppData/Local/Temp/20180805-1196-12y4d1j.c:2: warning: "__STDC_VERSION__" redefined #define __STDC_VERSION__ 201710L : note: this is the location of the previous definition C:/Users/pdaho/AppData/Local/Temp/20180805-1196-12y4d1j.c:3: warning: "__STDC_UTF_16__" redefined #define __STDC_UTF_16__ 1 : note: this is the location of the previous definition C:/Users/pdaho/AppData/Local/Temp/20180805-1196-12y4d1j.c:4: warning: "__STDC_UTF_32__" redefined #define __STDC_UTF_32__ 1 : note: this is the location of the previous definition C:/Users/pdaho/AppData/Local/Temp/20180805-1196-12y4d1j.c:5: warning: "__STDC_HOSTED__" redefined #define __STDC_HOSTED__ 1 : note: this is the location of the previous definition C:/Users/pdaho/AppData/Local/Temp/20180805-1196-12y4d1j.c: In function '_mm_stream_sd': C:/Users/pdaho/AppData/Local/Temp/20180805-1196-12y4d1j.c:9317:3: error: implicit declaration of function '__builtin_ia32_movntsd'; did you mean '__builtin_ia32_movntpd'? [-Werror=implicit-function-declaration] __builtin_ia32_movntsd (__P, (__v2df) __Y); ^~~~~~~~~~~~~~~~~~~~~~ __builtin_ia32_movntpd compilation terminated due to -Wfatal-errors. cc1.exe: some warnings being treated as errors make: *** [.ext/include/x64-mingw32/rb_mjit_min_header-2.6.0.h] Error 1 rm x64-msvcrt-ruby260.rc rake aborted! ``` I tried to add -march=barcelona -mtune=barcelona -msse4a as the gcc documentation says, but it didn't help. It looks like these instruction are SSE4a specific and some headers are missing. rev. https://github.com/ruby/ruby/commit/88975c821c99b852959958e2934de68a45be15e6 Windows 10 64bit, x86_64-w64-mingw32 GCC 7.2.0 - http://downloads.sourceforge.net/project/mingw-w64/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/7.2.0/threads-win32/seh AMD FX-8300 8C I can compile the lastest Ruby 2.5.1 with the same options. Is it a known problem? Maybe GCC isn't supported on Windows yet? ---Files-------------------------------- mjitheaders.zip (1.31 MB) diff.diff (3.65 KB) rb_mjit_header_msys2.zip (673 KB) diff_msys2.diff (1.75 MB) env.txt (2.58 KB) output_archflag_72.txt (109 KB) output_optflag_81.txt (83.3 KB) output_witharch_81.txt (31 KB) shippable_node_pools.png (31.7 KB) -- https://bugs.ruby-lang.org/ Unsubscribe: