Problems on AMD64 with Glib module



Hello,

I am porting PLD Linux Distribution to AMD64 platform (also known as x86_64)
and I have proble with Glib perl module, version 1.020.  It builds fine, but
fails on make test, like this:

+ /usr/bin/make test
PERL_DL_NONLAZY=1 /usr/bin/perl5.8.2 "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 
'blib/arch')" t/*.t
t/1....ok
t/2....ok
t/3....ok
t/4....ok
t/5....ok
t/7....ok
t/8....ok
t/9....Use of uninitialized value in ref-to-glob cast at t/9.t line 80, <IN> chunk 1.
ok
t/a....# Looks like you planned 8 tests but ran 7 extra.
dubious
        Test returned status 7 (wstat 1792, 0x700)
Scalar found where operator expected at (eval 155) line 1, near "'int'  $__val"
        (Missing operator before   $__val?)
DIED. FAILED tests 9-15
        Failed 7/8 tests, 12.50% okay
t/b....ok
Failed 1/10 test scripts, 90.00% okay. -7/108 subtests failed, 106.48% okay.
Failed Test Stat Wstat Total Fail  Failed  List of Failed
-------------------------------------------------------------------------------
t/a.t          7  1792     8    7  87.50%  9-15
make: *** [test_dynamic] Error 255

The first thing what I have done to fix this was killing all compiler warnings.
A lot of software fails on AMD64 because problems reported by compiler
via its warnings, usually about bad pointer or int-to-pointer conversion,
were not fixed just because they are not actually problems on developer's
platform. 

I found one _very_bad_ piece of code in Glib module, which assumed that
pointer can fit into 32-bit iteger (on AMD64 it won't fit). I fixed it
so compiler doesn't complain, but I am not sure if I did it right. I don't
know perl internals well enough.

Compiler doesn't warn me any more, but the test still doesn't pass, so probably
the problem is somhere else. Any hints?

My warning-killer patch is attached.

Greets,
        Jacek

Attachment: perl-Glib-kill_warnings.patch
Description: Text document



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]