From: | Ken Raeburn <raeburn@raeburn.org> |
To: | krb5-bugs@mit.edu |
Subject: | two bugs in tcl-based tests |
Date: | Thu, 24 Oct 2002 17:12:04 -0400 |
When building the test programs that use the Tcl library, we need to
incorporate TCL_LD_SEARCH_FLAGS from tclConfig.sh into the link
command. Otherwise, the programs can fail during "make check".
In tclConfig.sh:
# Flags to pass to ld, such as "-R /usr/local/tcl/lib", that tell the
# run-time dynamic linker where to look for shared libraries such as
# libtcl.so. Used when linking applications. Only works if there
# is a variable "LIB_RUNTIME_DIR" defined in the Makefile.
TCL_LD_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}'
In my nightly Solaris build:
gcc -L../../../lib -L/mit/krbdev/arch/sun4x_58/v7/lib -o ovsec_kadm_clnt_tcl tcl_ovsec_kadm.o tcl_kadm5.o test.o \
-lkadm5clnt -lgssrpc -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lsocket -lnsl -lresolv -L/mit/krbdev/arch/sun4x_58/v7/lib -ltcl8.3 -ldl -lsocket -lnsl -lm -ldl
In the "make check" output:
ld.so.1: /var/krbsnap/autobuild/work-20021024.0400/krb5-current/src/kadmin/../kadmin/testing/util/ovsec_kadm_srv_tcl: fatal: libtcl8.3.so: open failed: No such file or directory
Killed
Secondary bug:
The above failure seems to be ignored, and "make check" marches right
along into running dejagnu, which of course chokes:
making check in lib/rpc...
making check in lib/rpc/unit-test...
../../../kadmin/testing/scripts/env-setup.sh ./../../../kadmin/testing/scripts/start_servers
/var/krbsnap/autobuild/work-20021024.0400/krb5-current/src/kadmin/./../kadmin/testing/scripts/stop_servers_local: kill: permission denied
ld.so.1: /var/krbsnap/autobuild/work-20021024.0400/krb5-current/src/kadmin/../kadmin/testing/util/ovsec_kadm_srv_tcl: fatal: libtcl8.3.so: open failed: No such file or directory
Killed
ld.so.1: /var/krbsnap/autobuild/work-20021024.0400/krb5-current/src/kadmin/../kadmin/testing/util/ovsec_kadm_srv_tcl: fatal: libtcl8.3.so: open failed: No such file or directory
Killed
RPC_TEST_SRVTAB=/tmp/rpc_test_v5srvtab ../../../kadmin/testing/scripts/env-setup.sh \
runtest --debug --srcdir . --host sparc-sun-solaris2.8 SERVER=./server CLIENT=./client \
KINIT=../../../clients/kinit/kinit \
KDESTROY=../../../clients/kdestroy/kdestroy \
PASS="tcp udp" --tool rpc_test
WARNING: Couldn't find the global config file.
WARNING: Couldn't find tool init file
Test Run By krbsnap on Thu Oct 24 04:44:34 2002
Native configuration is sparc-sun-solaris2.8
=== rpc_test tests ===
Schedule of variations:
unix
Running target unix
Using /u1/kr/gnu/share/dejagnu/baseboards/unix.exp as board description file for target.
Using /u1/kr/gnu/share/dejagnu/config/unix.exp as generic interface file for target.
Using ./config/unix.exp as tool-and-target-specific interface file.
TOP=/var/krbsnap/autobuild/work-20021024.0400/krb5-current/src/kadmin/../kadmin
ERROR: unexpected output {l} from subprocess, expecting tcl prompt
incorporate TCL_LD_SEARCH_FLAGS from tclConfig.sh into the link
command. Otherwise, the programs can fail during "make check".
In tclConfig.sh:
# Flags to pass to ld, such as "-R /usr/local/tcl/lib", that tell the
# run-time dynamic linker where to look for shared libraries such as
# libtcl.so. Used when linking applications. Only works if there
# is a variable "LIB_RUNTIME_DIR" defined in the Makefile.
TCL_LD_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}'
In my nightly Solaris build:
gcc -L../../../lib -L/mit/krbdev/arch/sun4x_58/v7/lib -o ovsec_kadm_clnt_tcl tcl_ovsec_kadm.o tcl_kadm5.o test.o \
-lkadm5clnt -lgssrpc -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lsocket -lnsl -lresolv -L/mit/krbdev/arch/sun4x_58/v7/lib -ltcl8.3 -ldl -lsocket -lnsl -lm -ldl
In the "make check" output:
ld.so.1: /var/krbsnap/autobuild/work-20021024.0400/krb5-current/src/kadmin/../kadmin/testing/util/ovsec_kadm_srv_tcl: fatal: libtcl8.3.so: open failed: No such file or directory
Killed
Secondary bug:
The above failure seems to be ignored, and "make check" marches right
along into running dejagnu, which of course chokes:
making check in lib/rpc...
making check in lib/rpc/unit-test...
../../../kadmin/testing/scripts/env-setup.sh ./../../../kadmin/testing/scripts/start_servers
/var/krbsnap/autobuild/work-20021024.0400/krb5-current/src/kadmin/./../kadmin/testing/scripts/stop_servers_local: kill: permission denied
ld.so.1: /var/krbsnap/autobuild/work-20021024.0400/krb5-current/src/kadmin/../kadmin/testing/util/ovsec_kadm_srv_tcl: fatal: libtcl8.3.so: open failed: No such file or directory
Killed
ld.so.1: /var/krbsnap/autobuild/work-20021024.0400/krb5-current/src/kadmin/../kadmin/testing/util/ovsec_kadm_srv_tcl: fatal: libtcl8.3.so: open failed: No such file or directory
Killed
RPC_TEST_SRVTAB=/tmp/rpc_test_v5srvtab ../../../kadmin/testing/scripts/env-setup.sh \
runtest --debug --srcdir . --host sparc-sun-solaris2.8 SERVER=./server CLIENT=./client \
KINIT=../../../clients/kinit/kinit \
KDESTROY=../../../clients/kdestroy/kdestroy \
PASS="tcp udp" --tool rpc_test
WARNING: Couldn't find the global config file.
WARNING: Couldn't find tool init file
Test Run By krbsnap on Thu Oct 24 04:44:34 2002
Native configuration is sparc-sun-solaris2.8
=== rpc_test tests ===
Schedule of variations:
unix
Running target unix
Using /u1/kr/gnu/share/dejagnu/baseboards/unix.exp as board description file for target.
Using /u1/kr/gnu/share/dejagnu/config/unix.exp as generic interface file for target.
Using ./config/unix.exp as tool-and-target-specific interface file.
TOP=/var/krbsnap/autobuild/work-20021024.0400/krb5-current/src/kadmin/../kadmin
ERROR: unexpected output {l} from subprocess, expecting tcl prompt