$ perl Configure.pl
...
Determining if your platform supports readline.........................yes.
Determining if your platform supports gdbm..............................no.
Testing snprintf...resolve_symbols: loader error: dlopen:
libreadline.so.4: symbol "tgetnum" unresolved
step auto::snprintf died during execution: Can't run the snprintf
testing program: at config/auto/snprintf.pm line 33.
at Configure.pl line 443
$
(sorry about possible linewraps, Thunderbird thinks its doing me
a favour...)
I don't know what tgetnum() from libreadline.so has to do with
testing for snprintf. (I do know from other contexts that Tru64
wouldn't have a C99 snprintf.)
Any way to add verbosity to e.g. see which commands are being run?
> Any way to add verbosity to e.g. see which commands are being run?
perl Configure.pl --verbose-step=snprintf
leo
...
Testing snprintf...cc -std -D_INTRINSICS -fprm d -ieee -I/p/include
-DLANGUAGE_C -pthread -D_XOPEN_SOURCE=500 -I./include -c test.c
cxx -expect_unresolved '*' -O4 -msym -std -L/p/lib test.o -o test -lm
-lutil -lpthread -laio -lrt -lgmp -lreadline
./test
resolve_symbols: loader error: dlopen: libreadline.so.4: symbol
"tgetnum" unresolved
step auto::snprintf died during execution: Can't run the snprintf
testing program: at config/auto/snprintf.pm line 33.
"cxx" is the Tru64 C++ compiler.
(1) I don't know all those -libraries are being listed, the test
program certainly doesn't need them... yes, the linker should
know to ignore them as unused... but:
(2) This is not Linux so that -lgmp and -lreadline are not "standard"
but have been compiled and installed by the sysadmins (not admin)
and:
(3) They most definitely have not been compiled with cxx,
but most probably with gcc. And I have no idea whether
the libreadline.so actually works, since I haven't lately
tried to compile anything with it. In non-Linux systems
one cannot always assume installed GNU stuff works and/or
is uptodate...
Therefore, I am not surprised by the runtime linker getting cranky
when the "./test" is being run. (I have no idea who tries to call
"tgetnum", certainly not test.c.) If I remove the -lreadline from
the cxx line, the "./test" works fine giving:
borken snprintf: n = 1
as expected. I don't know how to start fixing this.
> leo
>
>
But the -lreadline is needed for something later?
> [1] config/init/hints/*
>
> leo
>
>
> (1) I don't know all those -libraries are being listed, the test
> program certainly doesn't need them... yes, the linker should
> know to ignore them as unused... but:
>
> (2) This is not Linux so that -lgmp and -lreadline are not "standard"
> but have been compiled and installed by the sysadmins (not admin)
> and:
>
> (3) They most definitely have not been compiled with cxx,
> but most probably with gcc. And I have no idea whether
> the libreadline.so actually works, since I haven't lately
> tried to compile anything with it. In non-Linux systems
> one cannot always assume installed GNU stuff works and/or
> is uptodate...
-lgmp or -lreadline are either just coming from (a) the equivalent perl
settings or are the result of an (b) earlier test.
For (a) the libs could be disabled in the hints file [1].
For (b) we'd need some commandline and hints settings like:
'no-readline' or such, which disables this lib.
[1] config/init/hints/*
leo
> But the -lreadline is needed for something later?
If readline is available, it can be used at interactive prompts, but
it's not absolutely needed.
$ cd languages/perl6/
...
lt@perl6 $ ../../parrot perl6.pbc
p6> say 'ok'
ok
p6>
leo
I think I will first try to get the admins to get compile a newer
libreadline.
Regards.
--
Will "Coke" Coleda
wi...@coleda.com
(1) Some sort of grouping for the libraries so that only the libraries
really needed for an executable are used?
(2) I don't know what the -lreadline test currently does but obviously
it wrongly detects -lreadline as useable in this system.
> Regards.
>