How to set the environmental variable LD_LIBRARY_PATH in Linux?

LD_LIBRARY_PATH is an environment variable in Linux that tells the dynamic linker where to look for shared libraries at runtime. Setting this variable allows applications to find custom libraries that are not installed in standard system directories like /usr/lib or /lib.

There are several ways to set environment variables in Linux, ranging from temporary session-based settings to permanent system-wide configurations. Let's explore how to properly set the LD_LIBRARY_PATH environment variable.

Setting Environment Variables Permanently

To set an environment variable permanently for your user session, you need to modify your shell's configuration file. Follow these steps to set up any environment variable, including LD_LIBRARY_PATH.

Step 1 − Open Bash Configuration File

Open your bash profile using a text editor −

vi ~/.bashrc

Step 2 − Add Export Command

Add the export command to define your environment variable. For example, to set a GOPATH variable −

export GOPATH=/root/go_projects

Step 3 − Source the Configuration

Save the file and reload the bash configuration −

source ~/.bashrc

Step 4 − Verify the Variable

Test that the environment variable is properly set −

echo $GOPATH
/root/go_projects

Setting LD_LIBRARY_PATH

For LD_LIBRARY_PATH, you can follow the same process. However, there are important considerations when modifying this variable.

Method 1 − Setting New Path (Not Recommended)

export LD_LIBRARY_PATH=/path/to/your/library

Method 2 − Appending to Existing Path (Recommended)

It's safer to append your custom library path to the existing LD_LIBRARY_PATH to avoid breaking system dependencies −

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/your/library

You can verify the updated path −

echo $LD_LIBRARY_PATH
/usr/local/lib:/lib:/usr/lib:/path/to/your/library

Temporary Setting Methods

For temporary usage, you can set LD_LIBRARY_PATH for the current session only −

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/your/library

Or run a specific command with a custom library path −

LD_LIBRARY_PATH=/path/to/your/library ./your_application

Alternative Configuration Files

You can also set environment variables in other configuration files −

File Scope When Loaded
~/.bashrc User-specific Interactive non-login shells
~/.bash_profile User-specific Login shells
/etc/environment System-wide All users
~/.profile User-specific All shells

Important Considerations

Warning: Modifying LD_LIBRARY_PATH can break system applications if not done carefully. Always append to the existing path rather than replacing it entirely. Consider using alternatives like ldconfig or setting RPATH in your binaries when possible.

Conclusion

Setting LD_LIBRARY_PATH allows applications to find custom shared libraries at runtime. Always append to the existing path to avoid breaking system dependencies, and consider using temporary settings for testing before making permanent changes.

Updated on: 2026-03-17T09:01:38+05:30

6K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements