LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Arch (http://www.linuxquestions.org/questions/arch-29/)
-   -   Can't run shutter (http://www.linuxquestions.org/questions/arch-29/cant-run-shutter-866723/)

Mr. Alex 03-06-2011 05:46 AM

Can't run shutter
 
I got the latest shutter from AUR: 0.87-1.
When I try to run it, it fails with an error:
Code:

Can't locate Gtk2/Unique.pm in @INC (@INC contains: /usr/lib/perl5/site_perl /usr/share/perl5/site_perl /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5/core_perl /usr/share/perl5/core_perl .) at /usr/bin/shutter line 47.
BEGIN failed--compilation aborted at /usr/bin/shutter line 47.

What should I do to fix it?

druuna 03-06-2011 05:54 AM

Hi,

You seem to be missing the (perl) Gtk2/Unique module. Install it (I would use cpan, but maybe this module is included in the Arch package manager).

Hope this helps.

Mr. Alex 03-06-2011 06:15 AM

Code:

sudo cpan Gtk2::Unique
completed with
Code:

Including generated API documentation...
Checking if your kit is complete...
Looks good
Unrecognized argument in LIBS ignored: '-pthread'
Writing Makefile for Gtk2::Unique
cp build/IFiles.pm blib/arch/Gtk2/Unique/Install/Files.pm
cp /root/.cpan/build/Gtk2-Unique-0.05-tPl0Qc/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
[ XS xs/Unique.xs ]
[ CC xs/Unique.c ]
[ XS xs/UniqueApp.xs ]
[ CC xs/UniqueApp.c ]
[ XS xs/UniqueBackend.xs ]
[ CC xs/UniqueBackend.c ]
[ XS xs/UniqueMessageData.xs ]
[ CC xs/UniqueMessageData.c ]
Running Mkbootstrap for Gtk2::Unique ()
chmod 644 Unique.bs
rm -f blib/arch/auto/Gtk2/Unique/Unique.so
[ LD blib/arch/auto/Gtk2/Unique/Unique.so ]
chmod 755 blib/arch/auto/Gtk2/Unique/Unique.so
cp Unique.bs blib/arch/auto/Gtk2/Unique/Unique.bs
chmod 644 blib/arch/auto/Gtk2/Unique/Unique.bs
Parsing XS files...
Generating POD...
Loaded 2 extra types from /usr/lib/perl5/vendor_perl/Pango/Install/doctypes
Loaded 8 extra types from /usr/lib/perl5/vendor_perl/Glib/Install/doctypes
Loaded 8 extra types from /usr/lib/perl5/vendor_perl/Gtk2/Install/doctypes
Loaded 4 extra types from /usr/lib/perl5/vendor_perl/Cairo/Install/doctypes
/usr/bin/perl -MExtUtils::Command -e mkpath blib/lib/Gtk2/Unique
Creating POD index...
Manifying blib/man3/Gtk2::Unique.3pm
Manifying blib/man3/Gtk2::UniqueMessageData.3pm
Manifying blib/man3/Gtk2::Unique::index.3pm
Manifying blib/man3/Gtk2::UniqueBackend.3pm
Manifying blib/man3/Gtk2::UniqueApp.3pm
  POTYL/Gtk2-Unique-0.05.tar.gz
  /usr/bin/make -- OK
'YAML' not installed, will not store persistent state
Running make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/Unique.t ......... ok   
t/UniqueApp.t ...... ok   
t/UniqueBackend.t .. ok 
All tests successful.
Files=3, Tests=40,  1 wallclock secs ( 0.05 usr  0.01 sys +  0.35 cusr  0.04 csys =  0.45 CPU)
Result: PASS
  POTYL/Gtk2-Unique-0.05.tar.gz
  /usr/bin/make test -- OK
Running make install
Manifying blib/man3/Gtk2::Unique.3pm
Manifying blib/man3/Gtk2::UniqueMessageData.3pm
Manifying blib/man3/Gtk2::Unique::index.3pm
Manifying blib/man3/Gtk2::UniqueBackend.3pm
Manifying blib/man3/Gtk2::UniqueApp.3pm
Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
Installing /usr/lib/perl5/site_perl/Gtk2/Unique/Install/unique.typemap
Installing /usr/lib/perl5/site_perl/Gtk2/Unique/Install/Files.pm
Installing /usr/lib/perl5/site_perl/Gtk2/Unique/Install/unique-perl.h
Installing /usr/lib/perl5/site_perl/Gtk2/Unique/Install/unique-autogen.h
Installing /usr/lib/perl5/site_perl/auto/Gtk2/Unique/Unique.bs
Installing /usr/lib/perl5/site_perl/auto/Gtk2/Unique/Unique.so
Installing /usr/lib/perl5/site_perl/Gtk2/UniqueMessageData.pod
Installing /usr/lib/perl5/site_perl/Gtk2/UniqueApp.pod
Installing /usr/lib/perl5/site_perl/Gtk2/Unique.pm
Installing /usr/lib/perl5/site_perl/Gtk2/UniqueBackend.pod
Installing /usr/lib/perl5/site_perl/Gtk2/Unique.pod
Installing /usr/lib/perl5/site_perl/Gtk2/Unique/index.pod
Installing /usr/share/man/man3/Gtk2::UniqueApp.3pm
Installing /usr/share/man/man3/Gtk2::Unique::index.3pm
Installing /usr/share/man/man3/Gtk2::Unique.3pm
Installing /usr/share/man/man3/Gtk2::UniqueBackend.3pm
Installing /usr/share/man/man3/Gtk2::UniqueMessageData.3pm
Appending installation info to /usr/lib/perl5/core_perl/perllocal.pod
  POTYL/Gtk2-Unique-0.05.tar.gz
  /usr/bin/make install  -- OK

But shutter still can't start - the same error.

druuna 03-06-2011 06:55 AM

Hi,

That is strange.

From the posted cpan output:
Code:

Installing /usr/lib/perl5/site_perl/Gtk2/Unique.pm
And from post #1:
Code:

(@INC contains: /usr/lib/perl5/site_perl /usr/share/perl5/site_perl .......... .)
GTK2/Unique.pm is installed in a location that is checked by shutter.

Can you confirm it (gtk2/unique.pm) is present at the mentioned location?

Also: Are you sure shutter is complaining about the same module?

Mr. Alex 03-06-2011 09:39 AM

Quote:

Originally Posted by druuna
Can you confirm it (gtk2/unique.pm) is present at the mentioned location?

Code:

ls -l /usr/lib/perl5/site_perl
total 8
drwxr-x--- 3 root root 4096 Mar  6 15:07 Gtk2
drwxr-x--- 3 root root 4096 Mar  6 15:07 auto

Code:

sudo ls -l /usr/lib/perl5/site_perl/Gtk2
Password:
total 28
drwxr-x--- 3 root root 4096 Mar  6 15:07 Unique
-r--r--r-- 1 root root 2397 May  5  2010 Unique.pm
-r--r--r-- 1 root root  823 Mar  6 15:07 Unique.pod
-r--r--r-- 1 root root 6897 Mar  6 15:07 UniqueApp.pod
-r--r--r-- 1 root root 2131 Mar  6 15:07 UniqueBackend.pod
-r--r--r-- 1 root root 2269 Mar  6 15:07 UniqueMessageData.pod

Code:

sudo ls -l /usr/lib/perl5/site_perl/Gtk2/Unique
Password:
total 8
drwxr-x--- 2 root root 4096 Mar  6 15:07 Install
-r--r--r-- 1 root root  195 Mar  6 15:07 index.pod

Code:

sudo ls -l /usr/lib/perl5/site_perl/Gtk2/Unique/Install
Password:
total 16
-r--r--r-- 1 root root 1215 Mar  6 15:07 Files.pm
-r--r--r-- 1 root root 3557 Mar  6 15:07 unique-autogen.h
-r--r--r-- 1 root root  134 May  5  2010 unique-perl.h
-r--r--r-- 1 root root 1218 Mar  6 15:07 unique.typemap

Code:

sudo ls -l /usr/share/perl5/site_perl 
Password:
total 0

Quote:

Originally Posted by druuna
Also: Are you sure shutter is complaining about the same module?

All it sais is:
Code:

$ shutter
Can't locate Gtk2/Unique.pm in @INC (@INC contains: /usr/lib/perl5/site_perl /usr/share/perl5/site_perl /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5/core_perl /usr/share/perl5/core_perl .) at /usr/bin/shutter line 47.
BEGIN failed--compilation aborted at /usr/bin/shutter line 47.


druuna 03-06-2011 09:52 AM

Hi,

The file is there, but the following doesn't look right:
Code:

ls -l /usr/lib/perl5/site_perl
total 8
drwxr-x--- 3 root root 4096 Mar  6 15:07 Gtk2
drwxr-x--- 3 root root 4096 Mar  6 15:07 auto

Looks like the world is not allowed access to these directories, the permissions on the files look good though.

Permissions on those dirextories should be 755 (drwxr-xr-x).

Is your umask setting off by any chance? umask, as root, should give you: 0022.

Hope this helps.

Mr. Alex 03-06-2011 11:05 AM

I set umask to 007 in /etc/profile. I need it to be so.
So I changed permissions to 755 plus some further directories, now shutter starts. Thanks.

druuna 03-06-2011 11:13 AM

You're welcome.

All my users have a restricted umask. root had, not any more, too many unexpected results and changing it back and forth wasn't worth the trouble :)

Mr. Alex 03-06-2011 11:37 AM

One more thing: the shutter icon can't load: http://i.imgur.com/zSZ1d.png . Permissions seem to be OK:
Code:

ls -l /usr/share/icons/hicolor/24x24/apps/shutter.png
-rw-r--r-- 1 root root 1267 Mar  6 14:34 /usr/share/icons/hicolor/24x24/apps/shutter.png

Code:

ls -l /usr/share/icons/hicolor/24x24/apps/shutter-panel.png
-rw-r--r-- 1 root root 1267 Mar  6 14:34 /usr/share/icons/hicolor/24x24/apps/shutter-panel.png

Where to dig?


All times are GMT -5. The time now is 10:17 AM.