Nick Wellnhofer wrote on 3/15/13 10:10 AM:
>
>> Running Lucy::Test::Object::TestNum...
>> Failed test 8: F64 Set_Value Get_Value
>> Failed test 11: Float32_To_F64
>> 2/58 tests failed.
>
> These failures are probably caused by excess precision. I'm only wondering why
> these tests pass with the Perl bindings on your system (I assume they do). Can
> you post your Perl's ccflags by running:
>
> perl -MConfig -e 'print $Config{ccflags}, "\n"'
>
[karpet@ira:~/src/lucy/perl]$ /usr/local/perl/5.16.0/bin/perl5.16.0 -MConfig -e
'print $Config{ccflags}, $/'
-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include
-I/opt/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
perl tests do not pass either:
cc -Isrc -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include
-I/opt/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DHAS_BOOL
-I/home/karpet/src/lucy/perl -c src/Charmonizer/Test/TestLargeFiles.c -o
src/Charmonizer/Test/TestLargeFiles.o
src/Charmonizer/Test/TestLargeFiles.c: In function ‘S_run_tests’:
src/Charmonizer/Test/TestLargeFiles.c:73: error: ‘off64_t’ undeclared (first use
in this function)
src/Charmonizer/Test/TestLargeFiles.c:73: error: (Each undeclared identifier is
reported only once
src/Charmonizer/Test/TestLargeFiles.c:73: error: for each function it appears
in.)
src/Charmonizer/Test/TestLargeFiles.c:73: error: expected ‘;’ before ‘offset’
src/Charmonizer/Test/TestLargeFiles.c:79: error: expected ‘;’ before ‘gb4_plus’
src/Charmonizer/Test/TestLargeFiles.c:80: error: expected ‘;’ before ‘gb2_plus’
src/Charmonizer/Test/TestLargeFiles.c:103: warning: assignment makes pointer
from integer without a cast
src/Charmonizer/Test/TestLargeFiles.c:109: error: ‘gb4_plus’ undeclared (first
use in this function)
src/Charmonizer/Test/TestLargeFiles.c:112: error: ‘offset’ undeclared (first use
in this function)
src/Charmonizer/Test/TestLargeFiles.c:118: error: ‘gb2_plus’ undeclared (first
use in this function)
src/Charmonizer/Test/TestLargeFiles.c:134: warning: assignment makes pointer
from integer without a cast
src/Charmonizer/Test/TestLargeFiles.c:189: warning: assignment makes pointer
from integer without a cast
src/Charmonizer/Test/TestLargeFiles.c: In function ‘S_test_sparse_file’:
src/Charmonizer/Test/TestLargeFiles.c:221: warning: assignment makes pointer
from integer without a cast
src/Charmonizer/Test/TestLargeFiles.c: In function ‘S_can_create_big_files’:
src/Charmonizer/Test/TestLargeFiles.c:245: warning: initialization makes pointer
from integer without a cast
src/Charmonizer/Test/TestLargeFiles.c:264: warning: assignment makes pointer
from integer without a cast
make: *** [src/Charmonizer/Test/TestLargeFiles.o] Error 1
make failed at buildlib/Lucy/Build.pm line 87.
Lucy::Build::_run_make('Lucy::Build=HASH(0x8d95a38)', 'dir',
'../charmonizer',
'args', 'ARRAY(0x8951760)') called at buildlib/Lucy/Build.pm line 103
Lucy::Build::ACTION_charmonizer_tests('Lucy::Build=HASH(0x8d95a38)')
called at
/usr/local/perl/5.16.0/lib/5.16.0/Module/Build/Base.pm line 2024
Module::Build::Base::_call_action('Lucy::Build=HASH(0x8d95a38)',
'charmonizer_tests') called at
/usr/local/perl/5.16.0/lib/5.16.0/Module/Build/Base.pm line 2007
Module::Build::Base::dispatch('Lucy::Build=HASH(0x8d95a38)',
'charmonizer_tests') called at buildlib/Lucy/Build.pm line 147
Lucy::Build::ACTION_clownfish('Lucy::Build=HASH(0x8d95a38)') called at
/usr/local/perl/5.16.0/lib/5.16.0/Module/Build/Base.pm line 2024
Module::Build::Base::_call_action('Lucy::Build=HASH(0x8d95a38)',
'clownfish')
called at /usr/local/perl/5.16.0/lib/5.16.0/Module/Build/Base.pm line 2007
Module::Build::Base::dispatch('Lucy::Build=HASH(0x8d95a38)',
'clownfish')
called at ../clownfish/compiler/perl/lib/Clownfish/CFC/Perl/Build.pm line 499
Clownfish::CFC::Perl::Build::ACTION_code('Lucy::Build=HASH(0x8d95a38)')
called
at /usr/local/perl/5.16.0/lib/5.16.0/Module/Build/Base.pm line 2024
Module::Build::Base::_call_action('Lucy::Build=HASH(0x8d95a38)',
'code') called
at /usr/local/perl/5.16.0/lib/5.16.0/Module/Build/Base.pm line 5255
Module::Build::Base::depends_on('Lucy::Build=HASH(0x8d95a38)', 'code')
called
at /usr/local/perl/5.16.0/lib/5.16.0/Module/Build/Base.pm line 2864
Module::Build::Base::ACTION_build('Lucy::Build=HASH(0x8d95a38)') called
at
/usr/local/perl/5.16.0/lib/5.16.0/Module/Build/Base.pm line 2024
Module::Build::Base::_call_action('Lucy::Build=HASH(0x8d95a38)',
'build')
called at /usr/local/perl/5.16.0/lib/5.16.0/Module/Build/Base.pm line 2012
Module::Build::Base::dispatch('Lucy::Build=HASH(0x8d95a38)') called at
./Build
line 62
[karpet@ira:~/src/lucy/perl]$
>> Running Lucy::Test::Highlight::TestHighlighter...
>> Invalid UTF-8 header byte: 00000094
>> lucy_StrHelp_decode_utf8_char at ../core/Clownfish/Util/StringHelper.c
>> line 216
>> Bad plan: You planned 35 tests but ran 22.
>
> This one's strange. My only guess is that it might have to do with strict
> aliasing which isn't yet disabled in the C bindings. Can you run the tests
> again
> after configuring with:
>
> ./configure -- -fno-strict-aliasing
>
yes, that fixed that problem.
--
Peter Karman . http://peknet.com/ . [email protected]