'Can't locate Hash/Merge.pm' in manjaro linux 25.0.10

Added by Daniel Duque 7 days ago

Hello all,

I have been a happy user of AMC for about a year, but my last manjaro update
has rendered the software unusable.

It returns, upon a cli call:

Can't locate Hash/Merge.pm in @INC (you may need to install the Hash::Merge module) (@INC entries checked: /usr/lib/perl5/5.42/site_perl /usr/share/perl5/site_perl /usr/lib/perl5/5.42/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5/5.42/core_perl /usr/share/perl5/core_perl) at /usr/share/perl5/vendor_perl/AMC/TopicsTest.pm line 26.
BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/AMC/TopicsTest.pm line 26.
Compilation failed in require at /usr/share/perl5/vendor_perl/AMC/Project.pm line 31.
BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/AMC/Project.pm line 31.
Compilation failed in require at /usr/lib/AMC/perl/AMC-gui.pl line 38.
BEGIN failed--compilation aborted at /usr/lib/AMC/perl/AMC-gui.pl line 38.

This is a perl error I have been unable to fix.

I have temporarily fixed the issue by downgrading AMC from 1.7.0 to 1.6.0.

That has allowed my to generate my exams and run layout detection. However,
after the exam I find that the scans are not read, I am getting the 'No layout for ID 0/0/0'
error!

My system:

$ lsb_release -av
LSB Version: n/a
Distributor ID: ManjaroLinux
Description: Manjaro Linux
Release: 25.0.10
Codename: Zetar

Thank you!


Replies (11)

RE: 'Can't locate Hash/Merge.pm' in manjaro linux 25.0.10 - Added by Alexis Bienvenüe 7 days ago

Can't locate Hash/Merge.pm in @INC

You need the Hash::Merge perl module, that seems to be packaged in the perl-hash-merge package. I don't know if your Manjaro version includes it.
https://manjaristas.org/branch_compare?q=perl-hash-merge

RE: 'Can't locate Hash/Merge.pm' in manjaro linux 25.0.10 - Added by Alexis Bienvenüe 7 days ago

No layout for ID 0/0/0

This can be the result of several problems.
Can you try data capture in debugging mode and join the produced log file?

RE: 'Can't locate Hash/Merge.pm' in manjaro linux 25.0.10 - Added by Daniel Duque 7 days ago

Thanks for your answer.

The perl-hash-merge package does exist in arch linux (some versions, at least), but
not in manjaro. It could very well be due to that.

About the log file, I am a bit embarrassed that I have been unable to find how to get one.
I attach the result of

auto-multiple-choice analyse --debug ./debug.log

I also get this, but I don't think it's important

WARNING: The convert command is deprecated in IMv7, use "magick" instead of "convert" or "magick convert"

debug.log (5 kB)

RE: 'Can't locate Hash/Merge.pm' in manjaro linux 25.0.10 - Added by Daniel Duque 7 days ago

Sorry, wrong log file. That is the one for the downgraded version, 1.6.0.

But, for some reason, AMC is now working? I have not done much, just upgraded AMC again.
And now it works...

RE: 'Can't locate Hash/Merge.pm' in manjaro linux 25.0.10 - Added by Alexis Bienvenüe 7 days ago

About the log file, I am a bit embarrassed that I have been unable to find how to get one.

From the GUI, select "Debugging" from the Help menu. Then try automatic data capture.

But, for some reason, AMC is now working? I have not done much, just upgraded AMC again.

Strange.

RE: 'Can't locate Hash/Merge.pm' in manjaro linux 25.0.10 - Added by Gregory F 7 days ago

Hi!

Happy Manjaro user here as well. Although I only use AMC on Manjaro as a backup, I needed it yesterday and faced the same issue.

It has been quite a struggle to troubleshoot is with the help of Claude but in the end it worked. The night has passed and I did not document the fix.

Yet, I am happy to share my chat session with Claude this can help (probably loo near the end):
https://claude.ai/share/077fce63-1490-4d90-a628-2c16720a27c7

Also, below is my terminal history prior to fixing it:

 8959  pacman -Qqo '/usr/lib/perl5/5.34'
 8960  sudo pacman -S $(pacman -Qqo '/usr/lib/perl5/5.34')
 8961  sudo pacman -S perl-app-cpanminus
 8962  LC_ALL=C find "/usr/lib/perl5/5.36" -type f -exec pacman -Qqo {} + |& sed -n 's/^error: No package owns \(.*\)$/\1/p'
 8963  perl -MHash::Merge -e 'print "Hash::Merge is installed\n"'
 8965  sudo pacman -S perl-app-cpanminus
 8966  which cpanm
 8967  /usr/bin/cpanm --version
 8968  pacman -Ql cpanminus | grep bin
 8969  sudo perl -MCPAN -e 'install Hash::Merge'
 8970  auto-multiple-choice

Hope this can be of any assistance.

Cheers,

Greg

RE: 'Can't locate Hash/Merge.pm' in manjaro linux 25.0.10 - Added by Daniel Duque 7 days ago

Sure, I can do that now. But now, it's working.

While before, I was unable to do do anything: the "Can't locate Hash/Merge.pm" message was
displayed as stderr, AMC never started!

RE: 'Can't locate Hash/Merge.pm' in manjaro linux 25.0.10 - Added by Daniel Duque 6 days ago

Thinking about what I might have done to fix this, I did try

pamac build perl-hash-merge-simple
pamac install perl-hash-ordered

After each of those, I tried running auto-multiple-choice with no success.
But I have rebooted my PC since then, maybe that was what fixed. I will try
this on my work PC, on which I have the same OS (and same problem), but I won't
be able to do so until tomorrow, or maybe later.

RE: 'Can't locate Hash/Merge.pm' in manjaro linux 25.0.10 - Added by Daniel Duque 5 days ago

Hi again.

So, here I am at work, and AMC does not work, as it should not.

I attach the log file I get from

auto-multiple-choice analyse --debug log.log

(As I said, I am not sure how to get a more complete log file.)

log.log (8.7 kB)

RE: 'Can't locate Hash/Merge.pm' in manjaro linux 25.0.10 - Added by Alexis Bienvenüe 5 days ago

Your command call does not process anything. Can you enter debugging mode from the GUI (menu button, then Help, then Debugging) and try an action that fails?

RE: 'Can't locate Hash/Merge.pm' in manjaro linux 25.0.10 - Added by Daniel Duque 5 days ago

Hi.

No, I am afraid I cannot. The program instantly crashes and prints out the error above ("Can't locate Hash/Merge.pm "...).

The GUI is never opened.

I suspect fiddling with cpanminus as suggested will fix the problem, but I didn't have the time to play with this at work.

(1-11/11)