Rebuild failure: "extconf failed, exit code 1" -- due to old Docker?

Well. I’ll be.

Look!

root@www:~# find /var/lib/docker -name mkmf.log|grep rbtrac|xargs ls -tl
-rw-r--r-- 1 1000 1000 35035 Oct 23 19:45 /var/lib/docker/aufs/diff/53a65982150d745a518e8e8b3d1c4e5e21df4aeaf387d952d9018f688e676391/var/www/discourse/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/rbtrace-0.4.14/mkmf.log
-rw-r--r-- 1 1000 1000 35329 Apr  9  2023 /var/lib/docker/aufs/diff/f324a4557c610412bd944c93adb2b1cb93a3e368bbd10b4f3a7b0160d320be6c/var/www/discourse/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/rbtrace-0.4.14/mkmf.log
-rw-r--r-- 1 1000 1000 35329 Apr  9  2023 /var/lib/docker/aufs/mnt/de948aa2097c3527c79c437dbfae65d2c71bdde2843896306868d409ae4b0937/var/www/discourse/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/rbtrace-0.4.14/mkmf.log
-rw-r--r-- 1 1000 1000 35147 Dec 21  2022 /var/lib/docker/aufs/diff/484330416e5a8c7cda4005d144c20205d5410d62dd23a599b4e9b2d408510c13/var/www/discourse/vendor/bundle/ruby/3.1.0/extensions/x86_64-linux/3.1.0/rbtrace-0.4.14/mkmf.log

Looks like something like this is to blame:

have_func: checking for rb_gc_add_event_hook() in ruby.h,node.h... -------------------- no

LD_LIBRARY_PATH=.:/usr/local/lib "gcc -o conftest -I/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rbtrace-0.4.14/ext/dst/include -I/usr/local/include/ruby-3.2.0/x86_64-linux -I/usr/local/include/ruby-3.2.0/ruby/backward -I/usr/local/include/ruby-3.2.0 -I.    -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wdiv-by-zero -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wold-style-definition -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wundef  -fPIC conftest.c  -L. -L/usr/local/lib -Wl,-rpath,/usr/local/lib -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,--no-as-needed    -lmsgpackc_ext  -Wl,-rpath,/usr/local/lib -L/usr/local/lib -lruby -lmsgpackc_ext  -lm -lpthread  -lc"
conftest.c:4:10: fatal error: node.h: No such file or directory

and also

conftest.c: In function ‘t’:
conftest.c:16:57: error: ‘rb_postponed_job_register_one’ undeclared (first use in this function)
   16 | int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_postponed_job_register_one; return !p; }
      |                                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Doesn’t make sense that this could be due to an old docker. But I’m still afraid to break this site without cause.

here is a link that expires in 12 hours.