onelson / jq-src

rust crate providing a bundled libjq

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

_Something_ sometimes breaks the build script

onelson opened this issue · comments

Sometimes, and not all the time, alternating between a non-bundled build and a bundled build can break the build script (the C source tree appears to get partially cleaned up and not properly recreated?).

The tail end of the cargo output usually looks like:

gcc: error: src/lexer.c: No such file or directory
gcc: fatal error: no input files
compilation terminated.
make[2]: *** [src/lexer.lo] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [install-recursive] Error 1
make: *** [install] Error 2
thread 'main' panicked at '
command did not execute successfully, got: exit code: 2

I'm still struggling to figure out how exactly to force this to happen.

Doesn't seem like switching features is required to trigger this. I just saw it happen after adding a new dev dependency. I'm still chasing ghosts here.

Just saw this in jq-rs's ci today. The paper patch I put over the hole isn't holding, and we need a more complete fix. I'm not sure what direction to turn in. I still suspect the best-case scenario would be to drop the dependency on the autotools crate, instead using the cc crate.

When I looked into switching to cc, I ran into a bunch of deadends with no clear solutions, but maybe I'm smarter than I was before.

Other solutions might be to watch filesystem changes while a build is in progress to try and figure out why certain files are reported as missing when they really shouldn't be. I don't know.