Another zypper dup puzzle; 3 Problems: yast2-apparmor-4.0.0-1.2.noarch, perl-5.24.1-1.7.x86_64, perl

That looks brilliant. Before i try to mimic your steps myself here, can i pls just ask… will this survive in your TW when you do future zypper dup’s, considering that arvidjaar](https://forums.opensuse.org/member.php/69818-arvidjaar) recently said:

perl-Gtk2-Unique was deleted a month ago; either shutter has to be updated to not require it or package has to go back

…ie, is there a risk that the next dup might just remove what you’ve done, because it’s no longer in the repo?

No, zypper does not know about it. So it won’t touch the files created by the above commands.

Hi
Why are looking at building anything, install from the development repository (link indicated), this is the one that will comeback to TW since it’s the one that was dropped from Tumbleweed only, not the development repo… It’s not like it’s gone for ever and all doom and gloom. This is part and parcel of using Tumbleweed.

But it also was not possible. I showed the result, near the bottom of my #12, https://forums.opensuse.org/showthread.php/527512-Another-zypper-dup-puzzle-3-Problems-yast2-apparmor-4-0-0-1-2-noarch-perl-5-24-1-1-7-x86_64-perl?p=2841027#post2841027 . Am i misunderstanding what you mean?

Hi
Yes, your misunderstanding, use the zypper in perl-Gtk2-Unique from the development repo first, then install your shutter application. Once TW gets perl-Gtk2-Unique back you will see it in the -vvv output and can say yes to switch it back.

Let’s be clear, perl-Gtk2-Unique has not gone anywhere, it’s still in the same development repo it has been. All that happened was it was dropped from the staging area for TW, it will be back once the bug is sorted.

Fair enough, but pls try to understand how this looks through the eyes of a semi-clueless but enthusiastic user, rather than a really experienced veteran of both Linux generally & oS specifically. To the latter, i have no doubt that ALL of the posts i have made since i found my way here a few months ago, are naive, histrionic & unbalanced. However through the eyes of someone in the former not latter category, each time TW throws up in Konsole during a dup text that intimates often-incomprehensible dependency conflicts, & gives me choices that more or less require me to abandon the dup or abandon specific pgms *, it really is genuinely alarming & distressing.

So maybe i should be using Leap not TW? That’s something i deeply pondered back at the start, & periodically revisit. That said, this article https://rootco.de/2016-03-28-why-use-tumbleweed/ was one of the things my initial oS research several months ago deeply impressed me & gave me confidence that even a neophyte like me might be comfy in TW. Here’s an extract that i found especially persuasive back then, & still do now in the context of my thread here:

So every test checks that every screen looks the way we want it to look for users. Every function that is tested presses the same keys and clicks on the same mouse buttons that a user would, and then openQA confirms that piece of software behaves in the way it has been taught to expect.openQA does this for every step in installations & upgrades.
openQA checks all the core console commands, systemd, zypper, YaST in ncurses mode, curl, vim, firewall, ssh, etc, etc.
openQA then logs into the desktop environment of choice (GNOME, KDE, lxde, xfce, etc) and checks graphical applications. Is gedit working? firefox? thunderbird? libreoffice? inkscape? gimp? etc, etc.
And it does this all in dozens of different scenarios, over and over again, in parallel across many VMs and machines.
We even do extra testing on incoming package submissions, so many cases we catch things before they get anywhere near a snapshot, and our developers get nice fast feedback about their otherwise potentially destructive change.

So the dup in question, which lead to this thread, telling me that a pgm i use multiple times daily has to be removed, & for which each workaround you kindly suggested seemed not to solve it for me, really was at least a little bit doomy & gloomy. I also struggle to reconcile this scenario with the more rosy scenario i have quoted above [ie, WHY have snapshots that break [i]Shutter* survived the .openQA process & emerged into the daylight to scare dum-dums like me?].

Your post appeared whilst i was still writing my preceding one, so i did not ignore what you’ve written here, instead i simply did not see it til after i posted.

Thank you for the help. Next dumb question; presumably i need to add the Development repo to my repo list, then run your previous command? Earlier, i simply pasted your

zypper in https://download.opensuse.org/repositories/devel:/languages:/perl/openSUSE_Tumbleweed/x86_64/perl-Gtk2-Unique-0.05-8.16.x86_64.rpm

into Konsole [did not first add that repo], then saw the troublesome output i previously posted [in #12]. I still don’t understand what i should do if that happens again when i try again today.

Hi
I think you could have more issues with Leap, since it’s a step backwards with your desktop environment of choice (as in an older release), I’m sure you will chomp at the bit to install all the extra KDE/Plasma repos to get it somewhat like Tumbleweed… :wink:

I think your doing fine, so you have two options, one, wait for things to be fixed, two, use a package from a development repo to get your app back up and running while things are fixed and synced. Things do/will break and eventually get fixed, that’s how it is.

When packages start needing ‘manual’ requires it seems to more prone to issues like this with the automation used or maintainer oversight since it is clear it’s missing at;
https://build.opensuse.org/package/binary/openSUSE:Factory/shutter?arch=i586&filename=shutter-0.94-1.2.noarch.rpm&repository=standard

Shutter is the only package that uses it by the looks;
https://build.opensuse.org/package/binary/devel:languages:perl/perl-Gtk2-Unique?arch=x86_64&filename=perl-Gtk2-Unique-0.05-8.24.x86_64.rpm&repository=openSUSE_Tumbleweed

Hi
No, no need to add, install direct then it will switch back at a point in time when it appears back in Tumbleweed…

Might be easier to download and manually install then…

The release number can change if things rebuild, so better to check a mirror first via;
https://download.opensuse.org/repositories/devel:/languages:/perl/openSUSE_Tumbleweed/x86_64/perl-Gtk2-Unique-0.05-8.16.x86_64.rpm.mirrorlist

I see the current build is 05-8.24;
https://build.opensuse.org/package/binaries/devel:languages:perl/perl-Gtk2-Unique?repository=openSUSE_Tumbleweed

But doesn’t appear to have synced with any mirrors yet.

The currently available package in the development repository is perl-Gtk2-Unique-0.05-8.16.x86_64.rpm, which installs Unique.pm into /usr/lib/perl5/vendor_perl/5.24.1/x86_64-linux-thread-multi/Gtk2/Unique.pm, however the recent dup moved everything over to perl 5.26.1. If your directions are followed, shutter will fail to launch because it is looking in the /usr/lib/perl5/vendor_perl/5.26.1/x86_64-linux-thread-multi path for the Gtk2 Unique.pm, which it will not find.

For the time being until this gets fixed, if shutter is required, karlmistelberger’s instructions will work since it is installing Unique.pm in the expected 5.26.1 path that shutter is looking in upon launch. Dirty, but works if you can’t wait.

Alternatively it can also be done with CPAN, you’ll just need to install libunique1-devel first, which was required for karlmistelberger’s method, then do:

perl -MCPAN -e ‘install Gtk2::Unique’

Doing this allows shutter to function properly for me as well.

Hi
Yes, the rebuilt one 05.8.24 is rebuilt against perl 5.26.1 so is correct… grab via osc binaries or the api;


https://api.opensuse.org/build/devel:languages:perl/openSUSE_Tumbleweed/x86_64/perl-Gtk2-Unique/perl-Gtk2-Unique-0.05-8.24.x86_64.rpm

osc getbinaries devel:languages:perl perl-Gtk2-Unique openSUSE_Tumbleweed x86_64
_buildenv                                                          100% |=================================|  36 kB    00:00     
_statistics                                                        100% |=================================|  784 B    00:00     
perl-Gtk2-Unique-0.05-8.24.x86_64.rpm                              100% |=================================|  40 kB    00:00     
rpmlint.log                                                        100% |=================================|  629 B    00:00

Unlikely to update in the near future so the cpan method should also be fine.

rpms are great as long they are complete and the dependencies are satisfied. Sometimes packaging gets in the way or packages are not available for Tumbleweed. In this case I try to install from scratch (e.g. git repository). Currently I have the following installed:

erlangen:~/perl-Gtk2-Unique # find / -xdev -name Unique.pm
/usr/lib/perl5/vendor_perl/5.24.1/x86_64-linux-thread-multi/Gtk2/Unique.pm
/usr/lib/perl5/vendor_perl/5.26.1/Array/Unique.pm # **different function!**
/usr/lib/perl5/site_perl/5.26.1/x86_64-linux-thread-multi/Gtk2/Unique.pm
/root/perl-Gtk2-Unique/lib/Gtk2/Unique.pm
/root/perl-Gtk2-Unique/blib/lib/Gtk2/Unique.pm
erlangen:~/perl-Gtk2-Unique # zypper verify
Loading repository data...
Reading installed packages...
3 Problems:
Problem: nothing provides perl(:MODULE_COMPAT_5.24.1) needed by perl-Gtk2-Unique-0.05-8.16.x86_64
Problem: nothing provides perl(:MODULE_COMPAT_5.24.1) needed by perl-Gtk2-Unique-0.05-8.16.x86_64
Problem: nothing provides perl(:MODULE_COMPAT_5.24.1) needed by perl-Gtk2-Unique-0.05-8.16.x86_64

Problem: nothing provides perl(:MODULE_COMPAT_5.24.1) needed by perl-Gtk2-Unique-0.05-8.16.x86_64
 Solution 1: deinstallation of perl-Gtk2-Unique-0.05-8.16.x86_64
 Solution 2: break perl-Gtk2-Unique-0.05-8.16.x86_64 by ignoring some of its dependencies

Choose from above solutions by number or skip, retry or cancel [1/2/s/r/c] (c): 
erlangen:~/perl-Gtk2-Unique # zypper if perl-Gtk2-Unique-0.05-8.16.x86_64
Loading repository data...
Reading installed packages...


package 'perl-Gtk2-Unique-0.05-8.16.x86_64' not found.
erlangen:~/perl-Gtk2-Unique # 



All versions of the actual payload Unique.pm are identical and shutter obviously finds and uses one of them.

What puzzles me is zypper verify complaining about perl-Gtk2-Unique-0.05-8.16.x86_64 and zypper if perl-Gtk2-Unique-0.05-8.16.x86_64 failing to display the information.

Many thanks. I tossed a coin & decided that my initial attempt to get back my desired Shutter would be via your technique. It did not work for me; still cannot install Shutter.

  1. I did
gooeygirl@linux-Lappy:~> **sudo zypper in libunique1-devel**

[it completed without errors, but i forgot to copy the Konsole output] then rebooted.

  1. I did this:
gooeygirl@linux-Lappy:~> **sudo perl -MCPAN -e 'install Gtk2::Unique' **[sudo] password for root: 


CPAN.pm requires configuration, but most of it can be done automatically.
If you answer 'no' below, you will enter an interactive dialog for each
configuration option instead.


Would you like to configure as much as possible automatically? [yes] yes




Autoconfiguration complete.


commit: wrote '/root/.cpan/CPAN/MyConfig.pm'


You can re-run configuration any time with 'o conf init' in the CPAN shell
Fetching with LWP:
http://www.cpan.org/authors/01mailrc.txt.gz
Reading '/root/.cpan/sources/authors/01mailrc.txt.gz'                                                                                
............................................................................DONE                                                     
Fetching with LWP:                                                                                                                   
http://www.cpan.org/modules/02packages.details.txt.gz                                                                                
Reading '/root/.cpan/sources/modules/02packages.details.txt.gz'                                                                      
  Database was generated on Mon, 09 Oct 2017 05:17:02 GMT
............................................................................DONE
Fetching with LWP:
http://www.cpan.org/modules/03modlist.data.gz
Reading '/root/.cpan/sources/modules/03modlist.data.gz'
DONE
Writing /root/.cpan/Metadata
Running install for module 'Gtk2::Unique'
Fetching with LWP:
http://www.cpan.org/authors/id/P/PO/POTYL/Gtk2-Unique-0.05.tar.gz
Fetching with LWP:
http://www.cpan.org/authors/id/P/PO/POTYL/CHECKSUMS
Checksum for /root/.cpan/sources/authors/id/P/PO/POTYL/Gtk2-Unique-0.05.tar.gz ok
Configuring P/PO/POTYL/Gtk2-Unique-0.05.tar.gz with Makefile.PL
Including generated API documentation...
Checking if your kit is complete...
Looks good
Unrecognized argument in LIBS ignored: '-pthread'
Invalid LICENSE value 'perl, lgpl' ignored
Generating a Unix-style Makefile
Writing Makefile for Gtk2::Unique
Invalid LICENSE value 'perl, lgpl' ignored
Writing MYMETA.yml and MYMETA.json
  POTYL/Gtk2-Unique-0.05.tar.gz
  /usr/bin/perl Makefile.PL -- OK
Running make for P/PO/POTYL/Gtk2-Unique-0.05.tar.gz
cp /root/.cpan/build/Gtk2-Unique-0.05-0/build/unique.typemap blib/arch/Gtk2/Unique/Install/unique.typemap
cp unique-perl.h blib/arch/Gtk2/Unique/Install/unique-perl.h
cp build/unique-autogen.h blib/arch/Gtk2/Unique/Install/unique-autogen.h
cp lib/Gtk2/Unique.pm blib/lib/Gtk2/Unique.pm
cp build/IFiles.pm blib/arch/Gtk2/Unique/Install/Files.pm
Running Mkbootstrap for Unique ()
chmod 644 "Unique.bs"
"/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Unique.bs blib/arch/auto/Gtk2/Unique/Unique.bs 644
 XS xs/Unique.xs ]
mv xs/Unique.xsc xs/Unique.c
 CC xs/Unique.c ]
/bin/sh: cc: command not found
make: *** [Makefile:365: xs/Unique.o] Error 127
  POTYL/Gtk2-Unique-0.05.tar.gz
  /usr/bin/make -- NOT OK
  1. I tried but failed to install Shutter.
gooeygirl@linux-Lappy:~> **sudo zypper in shutter   **Loading repository data...
Reading installed packages...
Resolving package dependencies...


Problem: nothing provides perl(Gtk2::Unique) needed by shutter-0.94-1.2.noarch
 Solution 1: do not install shutter-0.94-1.2.noarch
 Solution 2: break shutter-0.94-1.2.noarch by ignoring some of its dependencies


Choose from above solutions by number or cancel [1/2/c] (c): c 

Can you spot where i stuffed-up pls? I assume that this is significant

/bin/sh: cc: command not found

but i’m afraid i don’t understand what i should do to solve it.

Try:

erlangen:~ # zypper in gcc
Loading repository data...
Reading installed packages...
'gcc' is already installed.
No update candidate for 'gcc-7-2.5.x86_64'. The highest available version is already installed.
Resolving package dependencies...

Nothing to do.
erlangen:~ # 

Then rerun sudo perl -MCPAN -e ‘install Gtk2::Unique’ and install shutter anyway ignoring the dependencies (solution 2).

Excellent, thanks, that fixed it. So “cc” really meant “gcc”… i would have recognised what to do if it had actually said it was gcc that was missing, so that’s a bit weird. This time Step 2 ended better, with

/usr/bin/make install  -- OK

It’s a good thing that you did advise me to ignore the missing shutter dependencies, as otherwise when i reached that step #3 i would have just aborted it again. Given i had done all the preceding steps, WHY did zypper still say

gooeygirl@linux-Lappy:~> sudo zypper in shutter
Loading repository data...
Reading installed packages...
Resolving package dependencies...


Problem: nothing provides perl(Gtk2::Unique) needed by shutter-0.94-1.2.noarch
 Solution 1: do not install shutter-0.94-1.2.noarch
 Solution 2: break shutter-0.94-1.2.noarch by ignoring some of its dependencies


Choose from above solutions by number or cancel [1/2/c] (c): 2
Resolving dependencies...
Resolving package dependencies...


The following application is going to be installed:
  Shutter


The following 2 NEW packages are going to be installed:
  shutter shutter-lang


2 new packages to install.
Overall download size: 1.7 MiB. Already cached: 0 B. After the operation, additional 15.6 MiB will be used.
Continue? [y/n/...? shows all options] (y): 
Retrieving package shutter-lang-0.94-1.2.noarch                                                 (1/2), 368.0 KiB (  2.1 MiB unpacked)
Retrieving: shutter-lang-0.94-1.2.noarch.rpm .....................................................................[done (99.3 KiB/s)]
Retrieving package shutter-0.94-1.2.noarch                                                      (2/2),   1.3 MiB ( 13.5 MiB unpacked)
Retrieving: shutter-0.94-1.2.noarch.rpm ..........................................................................[done (74.6 KiB/s)]
Checking for file conflicts: ..................................................................................................[done]
(1/2) Installing: shutter-lang-0.94-1.2.noarch ................................................................................[done]
(2/2) Installing: shutter-0.94-1.2.noarch .....................................................................................[done]
gooeygirl@linux-Lappy:~> 

… it kind of makes me wonder why i bothered with those previous steps to supply perl(Gtk2::Unique) , if it still didn’t make zypper / Shutter happy anyway?

Now that you have all collectively helped me here, it seems viable that i can now proceed to do my overdue dup on Tower, to upgrade it from its 20170928, letting it remove Shutter in the process, then repeating the above procedure from Lappy, on Tower, to once more end up with Shutter there too. Yay.

Thank you all again.

Because as far as zypper is concerned perl-Gtk2-Unique is not installed, we are bypassing the packaging system entirely for the reasons previously stated earlier in the thread. The package it wants that provides what it needs (the Gtk2::Unique perl module for perl 5.26.1) is not available, at least not by any normal means, so we have manually installed the perl module that Shutter seeks when it is launched.

Face-palm, oh yeah, i was told that. I’m a bit dim, sorry.

PS - Tower now successfully at 20171007, & Shutter successfully reinstalled with same multi-step procedure per Lappy. Excellent. Thanks again :slight_smile: