Skip to content

fix error with p7zip's 7z command not finding 7z.dll#13542

Merged
Micket merged 4 commits intoeasybuilders:developfrom
krometis:20210802092532_new_pr_p7zip1703
Aug 3, 2021
Merged

fix error with p7zip's 7z command not finding 7z.dll#13542
Micket merged 4 commits intoeasybuilders:developfrom
krometis:20210802092532_new_pr_p7zip1703

Conversation

@krometis
Copy link
Copy Markdown
Contributor

@krometis krometis commented Aug 2, 2021

(created using eb --new-pr)

fixes #13540

@Micket
Copy link
Copy Markdown
Contributor

Micket commented Aug 2, 2021

Could you also add the fix to version 17.04?

@Micket Micket added the bug fix label Aug 2, 2021
@Micket Micket added this to the next release (4.4.2?) milestone Aug 2, 2021
@krometis
Copy link
Copy Markdown
Contributor Author

krometis commented Aug 2, 2021

Could you also add the fix to version 17.04?

Apologies. You beat me to it by a minute or two. This should be done in the commit that I just made.

@branfosj
Copy link
Copy Markdown
Member

branfosj commented Aug 2, 2021

Can we add a sanity check command to catch this issue? I see this, which lists the problem:

$ 7z i

7-Zip [64] 17.04 : Copyright (c) 1999-2021 Igor Pavlov : 2017-08-28
p7zip Version 17.04 (locale=en_GB.UTF-8,Utf16=on,HugeFiles=on,64 bits,80 CPUs x64)

Can't load './7z.dll' (./7z.so: cannot open shared object file: No such file or directory)

Libs:

Formats:

Codecs:

Hashers:

The "Can't load" line goes away once we rebuild using the EasyConfigs in this PR.

Micket
Micket previously approved these changes Aug 3, 2021
Copy link
Copy Markdown
Contributor

@Micket Micket left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, edit: Ah, I forgot about @branfosj comment while i was reviewing the changes

@krometis
Copy link
Copy Markdown
Contributor Author

krometis commented Aug 3, 2021

Sorry, was busy with other things yesterday and had to figure out some annoying quote escaping but think the sanity check that I just uploaded catches the previous error. I added it to the old easyconfig and the build failed with

== FAILED: Installation ended unsuccessfully (build directory: /dev/shm/jkrometi/build/p7zip/17.03/GCCcore-10.2.0): build failed (first 300 chars): Sanity check failed: sanity check command ! 7z i | grep -q "Can't load" exited with code 1 (output: ) (took 22 sec)

and when I ran the new easyconfig (the one that I committed) it completed and the log said

== 2021-08-03 11:05:29,876 easyblock.py:3047 INFO sanity check command ! 7z i | grep -q "Can't load" ran successfully! (output: )

@krometis
Copy link
Copy Markdown
Contributor Author

krometis commented Aug 3, 2021

Sorry, I don't know why it's failing to parse - I'm sure it doesn't like how I've done the escaping but EasyBuild built the module just fine for me (after throwing parsing errors at other escape combinations that I attempted). Would someone else please take a look at this?

@Micket
Copy link
Copy Markdown
Contributor

Micket commented Aug 3, 2021

Something (in EB) is rewriting the string as """! 7z i | grep -q "Can't load"""" (which indeed it incorrect) then tries to reparse it later on.
I would suspect this happens whenever the last character is an escaped " and ' is already used. We could add a space at the end of the string to avoid this, probably the easiest way out right now

@krometis
Copy link
Copy Markdown
Contributor Author

krometis commented Aug 3, 2021

Thanks, that seems to have fixed it. It would have taken me forever to find that/be willing to attempt something so simple.

Copy link
Copy Markdown
Contributor

@Micket Micket left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@Micket
Copy link
Copy Markdown
Contributor

Micket commented Aug 3, 2021

@boegelbot please test @ generoso

@boegelbot
Copy link
Copy Markdown
Collaborator

@Micket: Request for testing this PR well received on generoso

PR test command 'EB_PR=13542 EB_ARGS= /apps/slurm/default/bin/sbatch --job-name test_PR_13542 --ntasks=4 ~/boegelbot/eb_from_pr_upload_generoso.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 17862

Test results coming soon (I hope)...

Details

- notification for comment with ID 891977456 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@boegelbot
Copy link
Copy Markdown
Collaborator

Test report by @boegelbot
SUCCESS
Build succeeded for 2 out of 2 (2 easyconfigs in total)
generoso-c1-s-4 - Linux centos linux 8.2.2004, x86_64, Intel(R) Xeon(R) CPU E5-2667 v3 @ 3.20GHz (haswell), Python 3.6.8
See https://gist.github.com/efad56c6513e08bcf8e688423b04f142 for a full test report.

@Micket
Copy link
Copy Markdown
Contributor

Micket commented Aug 3, 2021

Test report by @Micket
SUCCESS
Build succeeded for 2 out of 2 (2 easyconfigs in total)
alvis-c1 - Linux centos linux 7.9.2009, x86_64, Intel Xeon Processor (Skylake), Python 3.6.8
See https://gist.github.com/8a7e3d8d34313c8ee10371a1b1b0e8b4 for a full test report.

@Micket
Copy link
Copy Markdown
Contributor

Micket commented Aug 3, 2021

Going in, thanks @krometis!

@Micket Micket merged commit ab6377a into easybuilders:develop Aug 3, 2021
@krometis krometis deleted the 20210802092532_new_pr_p7zip1703 branch August 3, 2021 16:27
@boegel boegel changed the title Fix p7zip path issues (Issue #13540) fix error with p7zip's 7z command not finding 7z.dll Aug 3, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

p7zip error: Can't load './7z.dll'

4 participants