Alberto Simões schrieb:

It's me again. Linked with gdbm (compiled with fink) and got these errors.

They are kind weird because they complain about not being able to load the library, but the tests run correctly. If they run correctly without loading the library one of two things happens:
 1) the tests do not test the library
2) the error message should not be issued because the library is being loaded.
Well, kind of :)

t/dynclass/gdbmhash............NOK 1
#     Failed test (t/dynclass/gdbmhash.t at line 43)
#          got: 'Couldn't load 'libgdbm': unknown reason
# Couldn't load 'libgdbm': unknown reason
# GDBMHash

Hi,

my guess is that variant 2 applies. The GDBM is being loaded, but a spurious warning is emitted. Checking get_path() in src/dynext.c I found some fprintf's which print directly to STDERR. I suppose that these should be converted into using 'print_warning'.

I see a situation when the warning is emitted, but loading is ok.
i. A file with the name 'libgdbm' is found, but is no library
 => warning is printed
ii. Parrot tries appending an extension to 'libgdbm' and finds a file
  and can load it.
 => GDBM is loaded and GDBMHash is functioning.

Could you try to find out which fprintf() in get_path() is being executed.
I would think that removing the warning would cause no harm.

CU, Bernhard

# '
#     expected: 'GDBMHash
# '
t/dynclass/gdbmhash............NOK 2
#     Failed test (t/dynclass/gdbmhash.t at line 56)
#          got: 'Couldn't load 'libgdbm': unknown reason
# Couldn't load 'libgdbm': unknown reason
# 0
# 1
# 0
# '
#     expected: '0
# 1
# 0
# '
t/dynclass/gdbmhash............NOK 3
#     Failed test (t/dynclass/gdbmhash.t at line 76)
#          got: 'Couldn't load 'libgdbm': unknown reason
# Couldn't load 'libgdbm': unknown reason
# An unitialized GDBMHash has size 0.
# An GDBMHash for a new file has size 0.
# After one assignment GDBMHash has size 1.
# After two assignments GDBMHash has size 2.
# After 15 assignments GDBMHash has size 15.
# '
#     expected: 'An unitialized GDBMHash has size 0.
# An GDBMHash for a new file has size 0.
# After one assignment GDBMHash has size 1.
# After two assignments GDBMHash has size 2.
# After 15 assignments GDBMHash has size 15.
# '
t/dynclass/gdbmhash............NOK 4
#     Failed test (t/dynclass/gdbmhash.t at line 129)
#          got: 'Couldn't load 'libgdbm': unknown reason
# Couldn't load 'libgdbm': unknown reason
# An uninitialized GDBMHash is not.
# An GDBMHash for a new file is not.
# After one insert the GDBMHash is.
# '
#     expected: 'An uninitialized GDBMHash is not.
# An GDBMHash for a new file is not.
# After one insert the GDBMHash is.
# '
t/dynclass/gdbmhash............NOK 5
#     Failed test (t/dynclass/gdbmhash.t at line 161)
#          got: 'Couldn't load 'libgdbm': unknown reason
# Couldn't load 'libgdbm': unknown reason
# Wert urspruenglich
# Wert geaendert
# Wert nocheinmal geaendert
# Wert urspruenglich
# '
#     expected: 'Wert urspruenglich
# Wert geaendert
# Wert nocheinmal geaendert
# Wert urspruenglich
# '
t/dynclass/gdbmhash............NOK 6
#     Failed test (t/dynclass/gdbmhash.t at line 189)
#          got: 'Couldn't load 'libgdbm': unknown reason
# Couldn't load 'libgdbm': unknown reason
# 0
# 1
# 0
# 1
# '
#     expected: '0
# 1
# 0
# 1
# '
t/dynclass/gdbmhash............NOK 7
#     Failed test (t/dynclass/gdbmhash.t at line 223)
#          got: 'Couldn't load 'libgdbm': unknown reason
# Couldn't load 'libgdbm': unknown reason
# Wert
# Wert
# Wert
# Wert
# '
#     expected: 'Wert
# Wert
# Wert
# Wert
# '
t/dynclass/gdbmhash............NOK 8
#     Failed test (t/dynclass/gdbmhash.t at line 254)
#          got: 'Couldn't load 'libgdbm': unknown reason
# Couldn't load 'libgdbm': unknown reason
# Wert
# Wert
# Wert
# Wert
# '
#     expected: 'Wert
# Wert
# Wert
# Wert
# '
t/dynclass/gdbmhash............NOK 9
#     Failed test (t/dynclass/gdbmhash.t at line 288)
#          got: 'Couldn't load 'libgdbm': unknown reason
# Couldn't load 'libgdbm': unknown reason
# Wert
# Wert
# Wert
# Wert
# '
#     expected: 'Wert
# Wert
# Wert
# Wert
# '
t/dynclass/gdbmhash............NOK 10
#     Failed test (t/dynclass/gdbmhash.t at line 321)
#          got: 'Couldn't load 'libgdbm': unknown reason
# Couldn't load 'libgdbm': unknown reason
# Wert
# Wert
# Wert
# Wert
# '
#     expected: 'Wert
# Wert
# Wert
# Wert
# '
t/dynclass/gdbmhash............NOK 11
#     Failed test (t/dynclass/gdbmhash.t at line 358)
#          got: 'Couldn't load 'libgdbm': unknown reason
# Couldn't load 'libgdbm': unknown reason
# -11012005
# -11012005
# -11012005
# -11012005
# '
#     expected: '-11012005
# -11012005
# -11012005
# -11012005
# '
t/dynclass/gdbmhash............NOK 12
#     Failed test (t/dynclass/gdbmhash.t at line 393)
#          got: 'Couldn't load 'libgdbm': unknown reason
# Couldn't load 'libgdbm': unknown reason
# -1101.2
# -1101.2
# -1101.2
# -1101.2
# '
#     expected: '-1101.2
# -1101.2
# -1101.2
# -1101.2
# '
t/dynclass/gdbmhash............NOK 13
#     Failed test (t/dynclass/gdbmhash.t at line 428)
#          got: 'Couldn't load 'libgdbm': unknown reason
# Couldn't load 'libgdbm': unknown reason
# "a" exists: 0
# "a" exists: 1
# "a" exists: 0
# '
#     expected: '"a" exists: 0
# "a" exists: 1
# "a" exists: 0
# '
# Looks like you failed 13 tests of 13.
t/dynclass/gdbmhash............dubious
        Test returned status 13 (wstat 3328, 0xd00)
DIED. FAILED tests 1-13
        Failed 13/13 tests, 0.00% okay


Reply via email to