Bug 113385 - [icc] `make test` for expect should test local libraries
[icc] `make test` for expect should test local libraries
Status: CLOSED RAWHIDE
Product: Red Hat Enterprise Linux 3
Classification: Red Hat
Component: tcltk (Show other bugs)
3.0
All Linux
medium Severity medium
: ---
: ---
Assigned To: Jens Petersen
Bill Huang
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2004-01-13 09:05 EST by Sysoltsev Slawa
Modified: 2007-11-30 17:07 EST (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2004-02-27 22:06:50 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Sysoltsev Slawa 2004-01-13 09:05:14 EST
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 03:48:53 EST
Any better with tcl-8.4.5 in Fedora Core devel (rawhide):
it looks so to me.
Comment 2 Sysoltsev Slawa 2004-02-26 05:16:06 EST
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-26 19:39:33 EST
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 02:55:24 EST
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-27 22:06:50 EST
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.