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?
Results 1 to 10 of 11
-
2009-03-07, 10:10 #1Junior Member
- Join Date
- Mar 2009
- Posts
- 4
gentoo fail to load new perl modules (after upgrade to 7.3.2)
-
2009-03-07, 12:27 #2
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?
>
>
-
2009-03-07, 15:11 #3Junior Member
- Join Date
- Mar 2009
- Posts
- 4
done. couple hours and 30 packages.
but it didn't help.
Martin
-
2009-03-08, 06:45 #4
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
>
>
-
2009-03-09, 14:03 #5Junior 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.
-
2009-03-10, 14:15 #6
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.
>
>
-
2009-03-11, 00:15 #7Junior 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/
-
2009-03-12, 13:08 #8Junior Member
- Join Date
- Mar 2009
- Posts
- 2
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...
-
2009-03-12, 17:32 #9Junior 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.
-
2009-03-12, 18:02 #10Junior Member
- Join Date
- Mar 2009
- Posts
- 2
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!

Reply With Quote

