[Users] Clawsker doesn't start (Can't locate Gtk3.pm in @INC...)

H.Merijn Brand h.m.brand at xs4all.nl
Mon Nov 12 18:57:35 CET 2018


On Mon, 12 Nov 2018 19:00:09 +0200, Removed GDPR <removed-gdpr at example.com>
wrote:

> On Mon, 12 Nov 2018 17:28:10 +0100 H.Merijn Brand
> wrote:
> 
> > Oké, but our advices, though both valid and sane,
> > should not be mixed  
> 
> Actually I tried your advice first (before proceeding
> with Dave's) and the result was the same as before. In
> what I pasted I simply repeated the step you suggested
> *again* after following Dave's advise, just to see if
> the result would be different. It wasn't.
> 
> > My proposition was to use an older version of Gtk3
> > to match the system installed introspection stuff.
> > As you first tried Dave's solution, you uninstalled
> > the system stuff, and thereby removed the situation
> > my advice was based on.  
> 
> I still don't know what you guys mean by "system
> installed". I install everything manually. The system
> does not install anything itself, so this is quite
> confusing for me.

System installed perl is what is installed through the package system,
in case of openSUSE, that is zypper

$ rpm -qf /usr/bin/perl
perl-base-5.26.1-lp150.6.3.1.x86_64

The core perl comes with its own set of basic modules:

$ rpm -ql perl-base-5.26.1-lp150.6.3.1.x86_64 | grep '\.pm$' | wc -l
93

but zypper offers a whole lot more

$ zypper se perl- | grep ' perl-' | wc -l
1334

With "just" 246 out of those installed

$ zypper se -i perl- | wc -l
246

You see the increase of .pm files:

$ find /usr/lib/perl5/ -name \*.pm | wc -l
5108

That is system perl. Now compare to my personal perl farm

$ find /pro/lib/perl5 -name \*.pm | wc -l
107650

(I know, a bit insane)

> To test things with the opposite combination I removed
> gobject-introspection and installed
> perl-Glib-Object-Introspection.
> 
> Then I ran:
> 
> $ rm -rf ~/.cpanm/ ~/perl5/
> $ cpanm XAOC/Gtk3-0.032.tar.gz
> 
> which gave:
> 
> ! Installing XAOC/Gtk3-0.032.tar.gz failed.
> 
> Here is the full output:
> 
> https://files.invalid.tld/2018-11-12-cpanm-4.txt

File not found

> > As you now uninstalled the system stuff, and you
> > have run several cpanm commands using local::lib,
> > your ~/perl5/lib/perl5/ might now contain stuff that
> > mismatches your expectations.  
> 
> So far I have run command #1 from above before each
> attempt. If that is wrong please suggest a procedure
> which I should try.
> 
> > On my openSUSE-42.3 I use a non-system perl-5.24.1,
> > and typing
> > 
> >  $ cpan Gtk3
> > 
> > worked like a charm.  
> 
> I am on Leap 15.0 here and using
> perl-5.26.1-lp150.6.3.1.x86_64. Not sure if that
> matters.

No, it doesn't

System perl:
$ /usr/bin/perl -v
This is perl 5, version 26, subversion 1 (v5.26.1) built for x86_64-linux-thread-multi

My perl:
$ /pro/bin/perl -v
This is perl 5, version 28, subversion 0 (v5.28.0) built for x86_64-linux-thread-multi-ld

Note that on openSUSE 42.3 and 15.0 perl-Gtk3 is not available (yet).
But you w=found that earlier in this thread

$ zypper se perl-gtk
Loading repository data...
Reading installed packages...

S  | Name                           | Summary                                               | Type
---+--------------------------------+-------------------------------------------------------+-----------
i+ | perl-Gtk2                      | Perl interface to the 2.x series of the GTK+ library  | package
   | perl-Gtk2-AppIndicator         | Perl interface to the libappindicator                 | package
i+ | perl-Gtk2-Ex-FormFactory       | Makes building complex GUI's easy                     | package
   | perl-Gtk2-Ex-FormFactory       | Makes building complex GUI's easy                     | srcpackage
   | perl-Gtk2-GladeXML             | Create user interfaces directly from Glade XML files  | package
   | perl-Gtk2-GladeXML             | Create user interfaces directly from Glade XML files  | srcpackage
   | perl-Gtk2-GladeXML-debuginfo   | Debug information for package perl-Gtk2-GladeXML      | package
   | perl-Gtk2-GladeXML-debugsource | Debug sources for package perl-Gtk2-GladeXML          | package
   | perl-Gtk2-ImageView            | Perl bindings to the GtkImageView image viewer widget | package
   | perl-Gtk2-Notify               | Perl interface to libnotify                           | package
   | perl-Gtk2-Notify               | Perl interface to libnotify                           | srcpackage
   | perl-Gtk2-Notify-debuginfo     | Debug information for package perl-Gtk2-Notify        | package
   | perl-Gtk2-Notify-debugsource   | Debug sources for package perl-Gtk2-Notify            | package
   | perl-Gtk2-TrayIcon             | Perl interface to the EggTrayIcon library             | package
   | perl-Gtk2-TrayIcon             | Perl interface to the EggTrayIcon library             | srcpackage
   | perl-Gtk2-TrayIcon-debuginfo   | Debug information for package perl-Gtk2-TrayIcon      | package
   | perl-Gtk2-TrayIcon-debugsource | Debug sources for package perl-Gtk2-TrayIcon          | package
   | perl-Gtk2-Unique               | Perl bindings for the C library "libunique"           | package
   | perl-Gtk2-Unique               | Perl bindings for the C library "libunique"           | srcpackage
   | perl-Gtk2-WebKit               | Web content engine library for Gtk2                   | package
   | perl-Gtk2-WebKit               | Web content engine library for Gtk2                   | srcpackage
   | perl-Gtk2-WebKit-debuginfo     | Debug information for package perl-Gtk2-WebKit        | package
   | perl-Gtk2-WebKit-debugsource   | Debug sources for package perl-Gtk2-WebKit            | package

> > Then I took clawsker-1.0.2, changed all Gtk2:: to
> > Gtk3::, split the [...]
> > no more time to dig deeper. I'll stick to the Gtk2
> > version  
> 
> You are a Perl expert and you obviously know what you
> are doing but as of this moment I know neither how to
> use Gtk3 for the needs of clawsker, nor how to "stick
> to the Gtk2 version" (which I was actually asking for
> in my second message in this thread).

Stick to the 1.2.0 version: (I accidentally said 1.0.2 in my previous
post), visit https://www.claws-mail.org/clawsker.php to check the most
recent version

$ wget https://www.claws-mail.org/tools/clawsker-1.2.0.tar.xz
$ xz -d < clawsker-1.2.0.tar.xz | tar xf -
$ cd clawsker-1.2.0
$ perl ./clawsker

This needs Gtk2, which my perl had not installed (yet). As my perl is
my perl, I just installed that

$ cpan Gtk2

that also installed Cairo and Pango, and

$ perl ./clawsker ran fine

(with one warning on my 15.0 box:

Argument "3.15.0.28" isn't numeric in subroutine entry at clawsker line 562.

To show what modules it actually used I used Devel::TraceUse

$ perl -d:TraceUse ./clawsker
Argument "3.15.0.28" isn't numeric in subroutine entry at ./clawsker line 562.
Modules used from ./clawsker:
   1.  strict 1.11, ./clawsker line 18 [main]
   2.  utf8 1.21, ./clawsker line 19 [main]
   3.  version 0.9924, ./clawsker line 20 [main]
   4.    warnings::register 1.04, version.pm line 6
   5.      warnings 1.42, warnings/register.pm line 4
   6.    version::vxs 0.9924, version.pm line 18 (eval 1)
   7.      XSLoader 0.30, version/vxs.pm line 12
   8.    version::regex 0.9924, version.pm line 62
   9.  Glib 1.328, ./clawsker line 21 [main]
  10.    Exporter 5.73, Glib.pm line 26
  24.      Exporter::Heavy 5.73, Exporter.pm line 16
  11.    constant 1.33, Glib.pm line 43
  12.    overload 1.30, Glib.pm line 89 [Glib::Flags]
  13.      overloading 0.02, overload.pm line 81
  14.    Carp 1.50, Glib.pm line 111 [Glib::Object::Property]
  15.    vars 1.04, Glib.pm line 192 [Glib::Object::_LazyLoader]
  16.    DynaLoader 1.45, Glib.pm line 27
  17.      Config 5.028000, DynaLoader.pm line 22
  18.  Gtk2 1.24992, ./clawsker line 22 [main]
  19.    Pango 1.227, Gtk2.pm line 31
  20.      Cairo 1.106, Pango.pm line 27 (eval 6)
  21.    POSIX 1.84, Gtk2.pm line 108
  22.      Fcntl 1.13, POSIX.pm line 17
  23.      Tie::Hash 1.05, POSIX.pm line 505 [POSIX::SigRt]
  25.  Locale::gettext 1.07, ./clawsker line 24 [main]
  26.    Encode 2.98, Locale/gettext.pm line 43
  27.      Encode::Alias 2.24, Encode.pm line 52
  28.      Encode::MIME::Name 1.03, Encode.pm line 53
  29.      Storable 3.11, Encode.pm line 55
  30.        Log::Agent, Storable.pm line 47 (FAILED)
  31.        Storable::Limit, Storable.pm line 35
  32.      parent 0.237, Encode.pm line 305 [Encode::UTF_EBCDIC]
  33.        Encode::Encoding 2.08, parent.pm line 16
  34.      bytes 1.06, Encode.pm line 368 [Encode::utf8]
  35.      Encode::Config 2.05, Encode.pm line 60
  36.      Encode::ConfigLocal, Encode.pm line 69 (FAILED)
  37.  Digest::MD5 2.55, ./clawsker line 26 [main]
  38.    Digest::base 1.16, Digest/MD5.pm line 13
  39.  Getopt::Long 2.5, ./clawsker line 27 [main]
  40.  PerlIO 1.10, ./clawsker line 15 [main]
  41.    PerlIO::encoding 0.26, PerlIO.pm line 22

> George

-- 
H.Merijn Brand  http://tux.nl   Perl Monger  http://amsterdam.pm.org/
using perl5.00307 .. 5.29   porting perl5 on HP-UX, AIX, and openSUSE
http://mirrors.develooper.com/hpux/        http://www.test-smoke.org/
http://qa.perl.org   http://www.goldmark.org/jeff/stupid-disclaimers/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 473 bytes
Desc: OpenPGP digital signature
URL: <http://lists.claws-mail.org/pipermail/users/attachments/20181112/5957bac6/attachment.sig>


More information about the Users mailing list