Conversation
casperisfine
commented
Mar 19, 2024
```
posix-spawn.c:226:27: error: incompatible function pointer types passing 'int (VALUE, VALUE, posix_spawn_file_actions_t *)' (aka 'int (unsigned long, unsigned long, void **)') to parameter of type 'int
(*)(VALUE, VALUE, VALUE)' (aka 'int (*)(unsigned long, unsigned long, unsigned long)') [-Wincompatible-function-pointer-types]
rb_hash_foreach(options, posixspawn_file_actions_operations_iter, (VALUE)fops);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/rubies/3.4-dev-03-19/include/ruby-3.4.0+0/ruby/internal/intern/hash.h:83:40: note: passing argument to parameter 'func' here
void rb_hash_foreach(VALUE hash, int (*func)(VALUE key, VALUE val, VALUE arg), VALUE arg);
```
|
I wanted to bump this as I am coming across the same issue at the moment. I ran the tests and observed these failures. Finished in 1.940804s, 76.7723 runs/s, 242.1677 assertions/s.
1) Failure:
ChildTest#test_max_with_stubborn_child_pgroup_kill [test/test_child.rb:127]:
POSIX::Spawn::MaximumOutputExceeded expected but nothing was raised.
2) Failure:
ChildTest#test_max_with_stubborn_child [test/test_child.rb:120]:
POSIX::Spawn::MaximumOutputExceeded expected but nothing was raised.
3) Failure:
ChildTest#test_max_with_child_hierarchy_pgroup_kill [test/test_child.rb:113]:
POSIX::Spawn::MaximumOutputExceeded expected but nothing was raised.
4) Failure:
ChildTest#test_max_with_partial_output [test/test_child.rb:135]:
POSIX::Spawn::MaximumOutputExceeded expected but nothing was raised.
5) Failure:
ChildTest#test_max [test/test_child.rb:92]:
POSIX::Spawn::MaximumOutputExceeded expected but nothing was raised.
6) Failure:
ChildTest#test_max_with_child_hierarchy [test/test_child.rb:106]:
POSIX::Spawn::MaximumOutputExceeded expected but nothing was raised.I am not super familiar with the project and these may already be known issues. Additionally, the benchmarks seem to run without issue. benchmarking fork/exec vs. posix_spawn over 1000 runs at 100M res
user system total real
fspawn (fork/exec): 0.025123 0.284463 1.182938 ( 1.492710)
pspawn (posix_spawn): 0.011391 0.393620 0.833269 ( 0.944768)
spawn (native): 0.020049 0.270129 0.903074 ( 1.162991)Let me know if I can help move this along. I am on MacOS Sonoma 14.4, M1 |
|
@dtaivpp just FYI, THe only exception to that is if you are running as root, Ruby de-optimize to use regular All this to say, unless some other gem cause you this hard dependency, the best course of action is likely to just stop using |
|
@casperisfine thanks for the context. jekyll-last-modified-at depends on it and looks to be unmaintained so I was hoping to find a fix here. Maybe I should look to see if someone has a replacement for it at this point though. 😐 Thanks for the info as well! |
|
As short term you can point your gemfile at this PR: NB: make sure you don't have a |
|
This worked for me on clang 15.0.0 (clang-1500.3.9.4) on arm64-apple-darwin23.5.0, and also for a coworker on archlinux. |
|
I was having problems on Arch Linux after Ruby updated to 3.2.0. This worked! Thanks! |