Bug 113385 - [icc] `make test` for expect should test local libraries
Summary: [icc] `make test` for expect should test local libraries
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Red Hat Enterprise Linux 3
Classification: Red Hat
Component: tcltk
Version: 3.0
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jens Petersen
QA Contact: Bill Huang
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2004-01-13 14:05 UTC by Sysoltsev Slawa
Modified: 2007-11-30 22:07 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2004-02-28 03:06:50 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Sysoltsev Slawa 2004-01-13 14:05:14 UTC
Description of problem:
Trying to build tcltk from source rpm by Intel compiler Iâve got such an 
error during `make test` in expect directory:
TCL_LIBRARY=/users/compiler/tc_6/WORK_DIR/BUILD/tcltk-
8.3.5/tcl8.3.5/library ; \
export TCL_LIBRARY ; \
LD_LIBRARY_PATH=.:/usr/lib:/mnt/sdb1/users/compiler/tc_6/WORK_DI
R/tmp/tcltk-8.3.5-92-build-
root/usr/lib:$LD_LIBRARY_PATH ./expect ./fixline1 /usr/bin 
< ./example/timed-run > timed-run
./expect: relocation error: ./expect: undefined symbol: 
__intel_cpu_indicator
make: *** [timed-run] Error 127
make: Leaving directory 
`/mnt/sdb1/users/compiler/tc_6/WORK_DIR/BUILD/tcltk-8.3.5/expect-
5.38'

The issue is in LD_LIBRARY_PATH declaration: if previous version of 
tcltk is already installed, libraries required for expect will be taken 
from /usr/lib during run-time link instead freshly built ones. This is an 
mistake especially if I try to build expect by another compiler. Directory 
order in LD_LIBRARY_PATH must be changed to:
LD_LIBRARY_PATH=.:/mnt/sdb1/users/compiler/tc_6/WORK_DIR/tmp/t
cltk-8.3.5-92-build-root/usr/lib:/usr/lib:$LD_LIBRARY_PATH

Iâd rather remove /usr/lib from LD_LIBRARY_PATH because system 
libraries are usually found by linker through different mechanism.


Version-Release number of selected component (if applicable):


How reproducible:
always

Steps to Reproduce:
1. Get Intel compiler
2. Try to build expect from tcltk package by Intel compiler

  
Actual results:
run-time error issued by run-time linker

Expected results:
smoothly passed `make test`

Additional info:

Comment 1 Jens Petersen 2004-02-26 08:48:53 UTC
Any better with tcl-8.4.5 in Fedora Core devel (rawhide):
it looks so to me.

Comment 2 Sysoltsev Slawa 2004-02-26 10:16:06 UTC
I didn't catch your point, but I tried tcl-8.4.5 from Fedora Core devel and 
it passed. Probably it is because tcltk package in EL3.0 has not only 
tcl but tclx, expect and other components and I've got an error in expect 
subdirectory and tclx, while there are no such in standalone tcl-8.4.5 
from Fedora. Could you point where can I get latest full tcltk to recheck ?

Comment 3 Jens Petersen 2004-02-27 00:39:33 UTC
Sorry, the above comment was intended for bug 113382.

I guess you still see this with the expect package in FC devel?
You may also want to test the separate tclx package that has
been added very recently.

(tcltk has been split up into separate src packages after FC1.)

Comment 4 Sysoltsev Slawa 2004-02-27 07:55:24 UTC
I couldn't start any expect tests from expect-5.39.0-96 because I have 
tcl-8.3 installed and tests expect tcl-8.4:
Expect_Init failed: version conflict for package "Tcl": have 8.3, need 8.4

But I suppose expect-5.39 won't have the described bug because it is 
now separated from tcl and so do not have local tcl library.


Comment 5 Jens Petersen 2004-02-28 03:06:50 UTC
Good point: so closing this now then.

[Btw I don't think expect requires tcl/tk 8.4, it should build
fine with tcl/tk 8.3 too as far as I know.]


Note You need to log in before you can comment on or make changes to this bug.