Home of the Squeezebox™ & Transporter® network music players.
Page 1 of 2 12 LastLast
Results 1 to 10 of 11
  1. #1
    Junior Member
    Join Date
    Mar 2009
    Posts
    4

    gentoo fail to load new perl modules (after upgrade to 7.3.2)

    after merge 7.3.2 - it required a lot of unmask,
    as now many modules were ~x86

    marliv@slimserver /etc/portage $ cat package.keywords
    media-sound/squeezecenter ~x86
    media-sound/alac_decoder ~x86
    dev-perl/DBI ~x86
    dev-perl/SQL-Abstract-Limit ~x86
    dev-perl/YAML-Syck ~x86
    dev-perl/Encode-Detect ~x86
    dev-perl/JSON-XS ~x86
    marliv@slimserver /etc/portage $

    squeezecenter fails to start with following error:

    * Starting SqueezeCenter ...
    Found custom OS support file for unix
    Can't load '/usr/lib/perl5/vendor_perl/5.8.8/i686-linux/auto/Encode/Detect/Detector/Detector.so' for
    module Encode:etect:etector: /usr/lib/perl5/vendor_perl/5.8.8/i686-linux/auto/Encode/Detect/Det
    ector/Detector.so: undefined symbol: _ZTVN10__cxxabiv120__si_class_type_infoE at /usr/lib/perl5/5.8.
    8/i686-linux/DynaLoader.pm line 230.
    at /usr/lib/perl5/vendor_perl/5.8.8/Slim/Utils/Unicode.pm line 40
    Compilation failed in require at /usr/lib/perl5/vendor_perl/5.8.8/Slim/Utils/Unicode.pm line 40.
    BEGIN failed--compilation aborted at /usr/lib/perl5/vendor_perl/5.8.8/Slim/Utils/Unicode.pm line 40.
    Compilation failed in require at /usr/lib/perl5/vendor_perl/5.8.8/Slim/Utils/Prefs/Namespace.pm line
    30.
    BEGIN failed--compilation aborted at /usr/lib/perl5/vendor_perl/5.8.8/Slim/Utils/Prefs/Namespace.pm
    line 30.
    Compilation failed in require at /usr/lib/perl5/vendor_perl/5.8.8/Slim/Utils/Prefs.pm line 81.
    BEGIN failed--compilation aborted at /usr/lib/perl5/vendor_perl/5.8.8/Slim/Utils/Prefs.pm line 81.
    Compilation failed in require at /usr/sbin/squeezecenter-server line 138.
    BEGIN failed--compilation aborted at /usr/sbin/squeezecenter-server line 138.
    * Failed to start SqueezeCenter [ !! ]

    any idea?

  2. #2
    Senior Member hickinbottoms's Avatar
    Join Date
    Apr 2005
    Location
    Wokingham, UK
    Posts
    544

    gentoo fail to load new perl modules (afterupgrade to 7.3.2)

    I put together the SqueeceCenter package for Gentoo - sorry you're
    having trouble.

    Can you try re-emerging Encode:etect with "emerge -aDvt
    dev-perl/Encode-Detect" first and seeing if that helps?

    Stuart


    On Sat, 2009-03-07 at 09:10 -0800, marliv wrote:
    > after merge 7.3.2 - it required a lot of unmask,
    > as now many modules were ~x86
    >
    > marliv@slimserver /etc/portage $ cat package.keywords
    > media-sound/squeezecenter ~x86
    > media-sound/alac_decoder ~x86
    > dev-perl/DBI ~x86
    > dev-perl/SQL-Abstract-Limit ~x86
    > dev-perl/YAML-Syck ~x86
    > dev-perl/Encode-Detect ~x86
    > dev-perl/JSON-XS ~x86
    > marliv@slimserver /etc/portage $
    >
    > squeezecenter fails to start with following error:
    >
    > * Starting SqueezeCenter ...
    > Found custom OS support file for unix
    > Can't load
    > '/usr/lib/perl5/vendor_perl/5.8.8/i686-linux/auto/Encode/Detect/Detector/Detector.so'
    > for
    > module Encode:etect:etector:
    > /usr/lib/perl5/vendor_perl/5.8.8/i686-linux/auto/Encode/Detect/Det
    > ector/Detector.so: undefined symbol:
    > _ZTVN10__cxxabiv120__si_class_type_infoE at /usr/lib/perl5/5.8.
    > 8/i686-linux/DynaLoader.pm line 230.
    > at /usr/lib/perl5/vendor_perl/5.8.8/Slim/Utils/Unicode.pm line 40
    > Compilation failed in require at
    > /usr/lib/perl5/vendor_perl/5.8.8/Slim/Utils/Unicode.pm line 40.
    > BEGIN failed--compilation aborted at
    > /usr/lib/perl5/vendor_perl/5.8.8/Slim/Utils/Unicode.pm line 40.
    > Compilation failed in require at
    > /usr/lib/perl5/vendor_perl/5.8.8/Slim/Utils/Prefs/Namespace.pm line
    > 30.
    > BEGIN failed--compilation aborted at
    > /usr/lib/perl5/vendor_perl/5.8.8/Slim/Utils/Prefs/Namespace.pm
    > line 30.
    > Compilation failed in require at
    > /usr/lib/perl5/vendor_perl/5.8.8/Slim/Utils/Prefs.pm line 81.
    > BEGIN failed--compilation aborted at
    > /usr/lib/perl5/vendor_perl/5.8.8/Slim/Utils/Prefs.pm line 81.
    > Compilation failed in require at /usr/sbin/squeezecenter-server line
    > 138.
    > BEGIN failed--compilation aborted at /usr/sbin/squeezecenter-server
    > line 138.
    > * Failed to start SqueezeCenter
    > [ !! ]
    >
    > any idea?
    >
    >



  3. #3
    Junior Member
    Join Date
    Mar 2009
    Posts
    4
    done. couple hours and 30 packages.
    but it didn't help.

    Martin

  4. #4
    Senior Member hickinbottoms's Avatar
    Join Date
    Apr 2005
    Location
    Wokingham, UK
    Posts
    544

    gentoo fail to load new perl modules (afterupgrade to 7.3.2)

    If it brought in 30 packages when you only wanted to reinstall the
    "top-level" Encode:etect it suggests that you've got older packages
    that have not been updated recently.

    Have you run an "emerge -D world" (deep) and a "revdep-rebuild" (from
    the gentoolkit package)? I can't say for certain but the problem might
    be due to a deeper dependency problem. Be aware that there may be
    configuration files that need updating following that (etc-update).

    Something else to try (since it might be easier to debug than
    SqueezeCenter), could you try just brining in that package with the
    following - if successful it shouldn't print anything at all:
    perl -e "use Encode:etect:etector".

    I would start with a revdep-rebuild (since that shouldn't update the
    versions of any packages), followed by another test with that perl
    snippet above.

    Stuart


    On Sat, 2009-03-07 at 14:11 -0800, marliv wrote:
    > done. couple hours and 30 packages.
    > but it didn't help.
    >
    > Martin
    >
    >



  5. #5
    Junior Member
    Join Date
    Mar 2009
    Posts
    4
    I did all three:
    1) emerged -D world
    ok, it took some time
    2) revdep-rebuild
    doesn't show problems
    3) perl -e "use Encode:etect:etector"
    it shows the same msg:

    marliv@slimserver ~ $ perl -e "use Encode:etect:etector"
    Can't load '/usr/lib/perl5/vendor_perl/5.8.8/i686-linux/auto/Encode/Detect/Detector/Detector.so' for
    module Encode:etect:etector: /usr/lib/perl5/vendor_perl/5.8.8/i686-linux/auto/Encode/Detect/Det
    ector/Detector.so: undefined symbol: _ZTVN10__cxxabiv120__si_class_type_infoE at /usr/lib/perl5/5.8.
    8/i686-linux/DynaLoader.pm line 230.
    at -e line 1
    Compilation failed in require at -e line 1.
    BEGIN failed--compilation aborted at -e line 1.

  6. #6
    Senior Member hickinbottoms's Avatar
    Join Date
    Apr 2005
    Location
    Wokingham, UK
    Posts
    544

    gentoo fail to load new perl modules (afterupgrade to 7.3.2)

    Sorry - but I can't think of anything immediately that I know of that
    could cause that if those packages and all their dependencies are up to
    date. I'll keep trying to think of something, though.

    It might be a question better suited for the Gentoo forums, especially
    as you can reproduce it independently of the SqueezeCenter package with
    that "perl -e" test. I'm sure it's something obvious that I just can't
    see at the moment.

    Sorry I can't be of more immediate help, but I'll keep thinking about
    it.
    Stuart


    On Mon, 2009-03-09 at 14:03 -0700, marliv wrote:
    > I did all three:
    > 1) emerged -D world
    > ok, it took some time
    > 2) revdep-rebuild
    > doesn't show problems
    > 3) perl -e "use Encode:etect:etector"
    > it shows the same msg:
    >
    > marliv@slimserver ~ $ perl -e "use Encode:etect:etector"
    > Can't load
    > '/usr/lib/perl5/vendor_perl/5.8.8/i686-linux/auto/Encode/Detect/Detector/Detector.so'
    > for
    > module Encode:etect:etector:
    > /usr/lib/perl5/vendor_perl/5.8.8/i686-linux/auto/Encode/Detect/Det
    > ector/Detector.so: undefined symbol:
    > _ZTVN10__cxxabiv120__si_class_type_infoE at /usr/lib/perl5/5.8.
    > 8/i686-linux/DynaLoader.pm line 230.
    > at -e line 1
    > Compilation failed in require at -e line 1.
    > BEGIN failed--compilation aborted at -e line 1.
    >
    >



  7. #7
    Junior Member
    Join Date
    Mar 2009
    Posts
    4
    when i re-emerge Encode - there is such text beside other:

    ## Differing version of auto/Encode/Detect/Detector/Detector.so found. You might like to
    rm /usr/lib/perl5/vendor_perl/5.8.8/i686-linux/auto/Encode/Detect/Detector/Detector.so
    ## Running 'make install UNINST=1' will unlink this file for you.
    >>> Completed installing Encode-Detect-1.01 into /var/tmp/portage/dev-perl/Encode-Detect-1.01/image/

  8. #8
    Junior Member
    Join Date
    Mar 2009
    Posts
    3
    Exactly the same problem here, would be cool if someone comes up with a solution for this.

    The Squeezecenter 7.3.2 ebuild works fine on another gentoo x64 system, this error is only on a friend's 32bit gentoo. Could be unrelated though and only a coincidence...

  9. #9
    Junior Member
    Join Date
    Mar 2009
    Posts
    1

    Workaround

    I had the same issue, somehow the ebuild for the perl module is generating a flawed library.

    I unmerged that ebuild, and manually built the module and that did work fine:

    # emerge -C dev-perl/Encode-Detect
    # cd /usr/portage/distfiles
    # tar xvf Encode-Detect-1.01.tar.gz
    # cd Encode-Detect-1.01
    # perl Makefile.PL
    # make
    # make install

    The resulting perl module works fine, and Squeezecenter started up. Scanned my music collection in 15 minutes! It seems my Squeezebox is due for a firmware update too.

  10. #10
    Junior Member
    Join Date
    Mar 2009
    Posts
    3
    Amazing, this really works :-)

    Thank you very much for this great tip.

    I looked at the Encode-Detect ebuild to see what specialty is causing this, but it is as plain as it can get IMHO...
    Then I compared the outputs during the build process with that of the manual make, they are virtually identical - same gcc CPU optimizations etc.

    I'm really puzzled why the result is different - but then again I don't really have much of a clue about compiling/makefiles.

    If someone has more insight into why this fails, please contact the guy in /usr/portage/dev-perl/Encode-Detect/ChangeLog or open a bug @ http://bugs.gentoo.org/

    Meanwhile, I'm very happy that we have such a well-working solution, thanks again!

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •