Issue #6616 has been updated by phasis68 (Heesob Park).


I think r36161 is not related with this issue.
After applying r36161, this issue is not fixed.

C:\work\snapshot>miniruby -e "system('dir')"
-e:1:in `system': wrong argument type Object (expected exec_arg) (TypeError)
        from -e:1:in `<main>'

Also, I can see many warning during building.

process.c: In function 'proc_exec_cmd':
process.c:1138:9: warning: passing argument 2 of 'execve' from incompatible pointer type
c:\devkit\mingw\bin\../lib/gcc/mingw32/4.5.2/../../../../include/process.h:119:42: note: expected 'const char * const*' but argument is of type 'char **'
process.c:1138:9: warning: passing argument 3 of 'execve' from incompatible pointer type
c:\devkit\mingw\bin\../lib/gcc/mingw32/4.5.2/../../../../include/process.h:119:42: note: expected 'const char * const*' but argument is of type 'char **'
process.c: In function 'rb_exec_async_signal_safe':
process.c:2876:5: warning: 'rb_run_exec_options_err' is deprecated (declared at process.c:2839)
process.c:2876:5: warning: passing argument 1 of 'rb_run_exec_options_err' from incompatible pointer type
process.c:2839:1: note: expected 'const struct rb_exec_arg *' but argument is of type 'struct rb_execarg *'
process.c: In function 'rb_spawn_process':
process.c:3502:5: warning: 'rb_run_exec_options_err' is deprecated (declared at process.c:2839)
process.c:3502:5: warning: passing argument 1 of 'rb_run_exec_options_err' from incompatible pointer type
process.c:2839:1: note: expected 'const struct rb_exec_arg *' but argument is of type 'struct rb_execarg *'
process.c:3502:5: warning: passing argument 2 of 'rb_run_exec_options_err' from incompatible pointer type
process.c:2839:1: note: expected 'struct rb_exec_arg *' but argument is of type 'struct rb_execarg *'
process.c:3532:5: warning: 'rb_run_exec_options_err' is deprecated (declared at process.c:2839)
process.c:3532:5: warning: passing argument 1 of 'rb_run_exec_options_err' from incompatible pointer type
process.c:2839:1: note: expected 'const struct rb_exec_arg *' but argument is of type 'struct rb_execarg *'


----------------------------------------
Bug #6616: MinGW: cannot build extensions or run tests due changes in exec_arg?
https://bugs.ruby-lang.org/issues/6616#change-27332

Author: luislavena (Luis Lavena)
Status: Assigned
Priority: High
Assignee: akr (Akira Tanaka)
Category: build
Target version: 2.0.0
ruby -v: trunk r36158


Hello,

Originally reported in [ruby-core:45727] due Redmine being down.

Latest trunk revision (r36154) is failing on me:
https://gist.github.com/2959908

Decided to attempt a Git bisect to determine the commit that
introduced this and which doing it found another error at r36148:
https://gist.github.com/2960374

Worker machine as 4GB of RAM (Windows 7 x64) and memory was no
exhausted during tests (monitored memory usage)

Git bisect didn't tell me precisely which commit failed since the
error happens randomly except for last commit, which happens always.

Build was made on a separate directory (build32) inside Ruby's source.

MinGW GCC 4.6.3 was used (mingw-w64) which has build successfully
everything in the past.

Entire work tree is reset on every build.

I can attribute this issue to support libraries or compiler since
those have been the same and work properly in the past revisions and
also against ruby_1_9_3 branch.

Further investigation shows the following:

configuring digest/md5
wrong argument type false (expected exec_arg)
Failed to configure digest/md5. It will not be installed.
configuring digest/rmd160
wrong argument type false (expected exec_arg)
Failed to configure digest/rmd160. It will not be installed.
configuring digest/sha1
wrong argument type false (expected exec_arg)
Failed to configure digest/sha1. It will not be installed.
configuring digest/sha2
wrong argument type false (expected exec_arg)
Failed to configure digest/sha2. It will not be installed.
configuring dl
wrong argument type false (expected exec_arg)
Failed to configure dl. It will not be installed.

Which might indicate an incompatible change with exec?


-- 
http://bugs.ruby-lang.org/