Red Hat Bugzilla – Bug 59011
sources package: spec file resets LD_LIBRARY_PATH in %build section before do `make test`
Last modified: 2008-05-01 11:38:01 EDT
From Bugzilla Helper:
User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)
Description of problem:
Intel C/C++ compiler is delivered with shared libraries. It itself needs them
to run. In addition, programs built by Intel compiler with default options need
the shared libraries too. Intel shared libraries are searched in directories
pointed out by the environment variable LD_LIBRARY_PATH. Before building a
package, a user sets this variable properly. During building, the packages may
only add something to the contents of LD_LIBRARY_PATH but not replace it.
You may add your pathes to LD_LIBRARY_PATH but not totally replace it.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
If you don't have Intel compiler (icc) you are unable to reproduce the error.
This compiler is not free. Let's assume you have it.
1. Make sure that all environment necessary for icc is set.
2. Make sure that icc will be called instead of gcc, g++, cc, cpp and c++. I
recommend you make links to icc with these names, put them into some directory
and add this directory to the beginning of the PATH variable.
3. Install one of the packages listed above from the .src.rpm file (-i option
4. Try to build the .spec file (-bc option of rpm) and get an error message.
Actual Results: The package won't build. In the output (near the end), you may
see the following error message:
error while loading shared libraries: libcxa.so.1: cannot open shared object
file: No such file or directory
Expected Results: The package should build with no problem.
Having to set LD_LIBRARY_PATH to use a system library is broken, so IMO the
compiler should be fixed.
Nevertheless, I've changed the spec file to prepend $PWD to LD_LIBRARY_PATH
rather than using it exclusively, shouldn't hurt. (6b-19)