Can't locate File/ in @INC

Can't locate File/ in @INC (you may need to install the File::RandomAccess module) (@INC contains: /usr/bin/lib /usr/lib/perl5/site_perl/5.24.1/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.24.1 /usr/lib/perl5/vendor_perl/5.24.1/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.24.1 /usr/lib/perl5/5.24.1/x86_64-linux-thread-multi /usr/lib/perl5/5.24.1 /usr/lib/perl5/site_perl .) at /usr/lib/perl5/vendor_perl/5.24.1/Image/ line 21.
BEGIN failed--compilation aborted at /usr/lib/perl5/vendor_perl/5.24.1/Image/ line 21.
Compilation failed in require at /usr/bin/exiftool line 30.
BEGIN failed--compilation aborted at /usr/bin/exiftool line 30.

I recently started getting this when trying to open exiftool. I tried to reinstall exiftool but it did not help. I suspect there is something wrong with perl installed in my system.
Does anyone know how to fix that?

The message is clear, you’re missing the RandomAccess module, not the exiftool

zypper in perl-File-RandomAccess

Sure, the application code needs to be fixed, @INC changed (deprecated?) in perl 5.26.0

* Wed Aug 30 2017
- update to perl-5.26.0
  * "." no longer in @INC

It’s a requires on exiftool…?

@OP, how are you updating your system, via zypper dup?

Edit: Ahh, user has not updated to 5.26.1…

I use both system tray update widget and zypper dup.

I actually just fixed that via running zypper up and zypper in perl. I got a warning that a package is broken and need to change vendor from packman to opensuse. I accepted that, the package got downgraded but exiftool works now.

Problem: perl-DateTime-Format-ISO8601-0.08-1.13.noarch requires perl(:MODULE_COMPAT_5.24.1), but this requirement cannot be provided
  deleted providers: perl-5.24.1-1.7.x86_64
 Solution 1: Following actions will be done:
  downgrade of perl-DateTime-Format-ISO8601-0.08-1.13.noarch to perl-DateTime-Format-ISO8601-0.08-1.1.noarch
  install perl-DateTime-Format-ISO8601-0.08-1.1.noarch (with vendor change)  -->  openSUSE
The following NEW package is going to be installed:

The following 108 packages are going to be upgraded:
  apparmor-utils libsnmp30 pciutils-ids perl perl-apparmor perl-Archive-Zip perl-base perl-B-Hooks-EndOfScope perl-Bootloader perl-Class-Data-Inheritable perl-Class-Factory-Util
  perl-Class-Inspector perl-Class-Method-Modifiers perl-Class-Singleton perl-Config-Crontab perl-CPAN-Changes perl-Crypt-SmbHash perl-DateTime perl-DateTime-Format-Builder
  perl-DateTime-Format-Strptime perl-DateTime-Locale perl-DateTime-TimeZone perl-DBD-SQLite perl-DBI perl-Devel-Caller perl-Devel-LexAlias perl-Devel-StackTrace perl-Devel-Symdump
  perl-Digest-HMAC perl-Digest-MD4 perl-Digest-SHA1 perl-Dist-CheckConflicts perl-Encode-Locale perl-Eval-Closure perl-Exception-Class perl-File-Find-Rule perl-File-Listing perl-File-ShareDir
  perl-gettext perl-HTML-Parser perl-HTML-Tagset perl-HTTP-Cookies perl-HTTP-Daemon perl-HTTP-Date perl-HTTP-Message perl-HTTP-Negotiate perl-Image-ExifTool perl-IO-HTML perl-IO-Socket-SSL
  perl-libwww-perl perl-LWP-MediaTypes perl-LWP-Protocol-https perl-Module-Implementation perl-Module-Runtime perl-MRO-Compat perl-namespace-autoclean perl-namespace-clean perl-Net-DBus
  perl-Net-DNS perl-Net-HTTP perl-Net-LibIDN perl-Net-SSLeay perl-Number-Compare perl-Package-DeprecationManager perl-Package-Stash perl-Package-Stash-XS perl-PadWalker perl-Params-Util
  perl-Params-Validate perl-Params-ValidationCompiler perl-Parse-RecDescent perl-Perl-Tidy perl-Pod-Coverage perl-Role-Tiny perl-RPC-XML perl-Scalar-List-Utils perl-Specio
  perl-Sub-Exporter-Progressive perl-Sub-Identify perl-Sub-Install perl-Sub-Name perl-Sub-Quote perl-Term-ReadKey perl-TermReadLine-Gnu perl-Test-Fatal perl-Test-Pod perl-Test-Pod-Coverage
  perl-Text-Glob perl-TimeDate perl-Try-Tiny perl-URI perl-Variable-Magic perl-WWW-RobotRules perl-X11-Protocol perl-X500-DN perl-XML-LibXML perl-XML-NamespaceSupport perl-XML-Parser
  perl-XML-SAX perl-XML-SAX-Base perl-XML-SAX-Expat perl-XML-Simple perl-XML-Twig perl-XML-XPath vim yast2-apparmor yast2-core yast2-perl-bindings

The following package is going to be downgraded:

The following package is going to change vendor:
  perl-DateTime-Format-ISO8601 -> openSUSE

108 packages to upgrade, 1 to downgrade, 1 new, 1 to change vendor.
Overall download size: 8.1 MiB. Already cached: 17.9 MiB. After the operation, additional 1.3 MiB will be used.

After finishing that everything worked.

Using Tumbleweed. the only way to ensure you won’t run into issues like this is always zypper dup not up from the command line, no GUi tools…

If you want to see what is happening is add some verbosity with -vvv (the more v’s the more verbose).

Can I remove the widget then? I still can’t get used to openSUSE’s patterns. patterns-kde-kde_plasma is just killing me. I am missing patterns-openSUSE-plasma5_basis

Please include the prompt + command invoked when posting output. And use ‘zypper dup’ and nothing else.