Answers Database
M1: Using the MYXILINX environment variable, correcting ld.so errors
Record #2493
Product Family: Software
Product Line: Merged Core
Problem Title:
M1: Using the MYXILINX environment variable, correcting ld.so errors
Problem Description:
Keywords: patch, install, MYXILINX, ld.so error
Urgency: Standard
General Description: Using the MYXILINX environment variable.
Solution 1:
The $MYXILINX area allows you to use Xilinx software patches without affecting
your original install area. In a shared environment, this allows individual
users to apply any patch they need without affecting other users. If a
certain patch is desirable for use by all engineers at a site the patches can
be installed in $XILINX instead.
NOTE: It is very important to use patches only with the software for which
they were built. For example, if you have a patch in the MYXILINX area that
was built for the M1 Pre-release (version 1.2.11), you must not use this patch
with the M1.3 version of M1. Patches that are built for a certain build of
software are included in the next full release of the software.
When the M1 software loads a data file (for example, a speed file) it first
checks to see if the required file exists in the MYXILINX area. If so, it
uses it and prints a message notifying the user that a MYXILINX data file is
overriding a XILINX data file. If not, it uses the original data file within
the XILINX tree.
Executables are found using the PATH variable. On workstations, base shared
libraries are found using the LD_LIBRARY_PATH variable (SHLIB_PATH variable
for HP). On PCs, shared libraries are found using the PATH variable. It is
important that the MYXILINX path appear first in both the PATH and
LD_LIBRARY_PATH variables so that both patched executables and and their
corresponding patched shared libraries are used. Errors can occur when there
is a mismatch between an executable and shared library. For example:
ld.so.1: map: fatal: relocation error: symbol not found:
__0fLTECHMAP_SIGHispowerv: referenced in
/tools/m1.2.11_patch/xc4000/bin/sol/libx4kma.so Killed
The following is an example of how to change from a standard environment to
an environment that accesses a patch using the MYXILINX variable on Solaris:
setenv MYXILINX /home/angelina/patches/m1.2.11
setenv PATH $MYXILINX/bin/sol:$PATH
setenv LD_LIBRARY_PATH $MYXILINX/bin/sol:$LD_LIBRARY_PATH
On PCs, the appropriate commands would be:
set MYXILINX=C:\M1_PATCH
set PATH=%MYXILINX%/bin/nt;%PATH%
These examples assume that the XILINX variable has been defined and is used in
the existing PATH and LD_LIBRARY_PATH variable assignments.
End of Record #2493
For the latest news, design tips, and patch information on the Xilinx design environment, check out the Xilinx Expert Journals! |