IRC channel logs
2023-07-04.log
back to list of logs
<rekado>I’ve been able to simplify the npm install problem somewhat <rekado>I’m running “strace -ff --abbrev=none -s 1024 -o log $(guix build node)/lib/node_modules/npm/node_modules/@npmcli/arborist/bin/index.js reify --install-links=true” from a test directory containing only a package.json referencing chain-able. <rekado>and I see that the files it installs on the cluster are incomplete <rekado>narrowed it down to the “tar” package, which is how npm copies files <rekado>the correct list of files is generated on both systems and added to the tar stream, but not all of them come out at the end. <rekado>on the broken system npm filters a file because it is considered to be a link <rekado>whereas on my working system it doesn’t filter it, because it is *not* considered a link <rekado>and in fact, stat says that the file in question has 2 links, whereas on my good system it has only one. <rekado>the problem is that it treats hardlinks as links and then decides not to unpack them. <rekado>this is in _tarxOptions in pacote/lib/fetcher.js <rekado>the question is whether tar is right in creating a Link entry here instead of a File entry <rekado>that happens purposely in tar/lib/write-entry.js <rekado>with a little patch to avoid marking links I get very close to finishing the build of js-panmirror, but the check phase fails due to a missing “test” stript.