manyclangs
manyclangs copied to clipboard
Error when running `elfshaker extract`: *FATAL*: Some files in the repository have been removed or modified unexpectedly!
After trying to follow the instructions at https://github.com/elfshaker/manyclangs#x86-64, when I get to the elfshaker extract command, I get the following error:
$ elfshaker extract 20211130-02660T231245-9b704d31b54a616 [WARN (main) 130.625487ms]: File /home/nr/manyclangs/link.sh is more recent than the current HEAD! [ERROR (main) 132.172898ms]: FATAL: Some files in the repository have been removed or modified unexpectedly! You can use --force to skip this check, but this might result in DATA LOSS!
I don't really understand the error -- what repository is it talking about?
As best I can remember, I haven't done anything since a previous occasion when the command was successful, besides downloading a different month's set of builds.
Adding --force does seem to result in a usable clang binary.
And subsequent runs of elfshaker extract are successful without --force.
Hi, thanks for reporting. The 'repository' in this case would be the 'elfshaker repository' (by analogy with a git repository).
If I take the message at face value, it suggests that link.sh was modified since you last extracted. Is it possible it was opened in a text editor for example? There could be bugs, though.
I'll leave this issue open for now, but if you are able to make a minimal reproducer which reliably recreates the issue, please file it in the elfshaker repository.
If I take the message at face value, it suggests that
link.shwas modified since you last extracted. Is it possible it was opened in a text editor for example?
Not that I can recall, but it's possible.
I was initially hesitant to try --force due to the scary "DATA LOSS" warning; perhaps there's an opportunity to clarify that the potential for data loss is limited to maybe having to redownload a batch of clang builds, which would make it less scary.
Hopefully the above discussion helped. Thanks for the feedback. I'm going to close this one for the time being; patches are welcomed if it improves the messaging.