- Ld library path linux oracle
- 4.3.2 LD_LIBRARY_PATH Environment Variable
- Как правильно использовать LD_LIBRARY_PATH?
- Andrew Beacock’s Blog
- Search This Blog
- How to add shared libraries to Linux’s system library path
- Ld library path linux oracle
- Install from ZIP Files, from RPMs, and from Oracle Universal Installer
- Installing from the ZIP files
- Installing from the RPM files
- Installing from the Oracle Universal Installer
- Environment Variables for Oracle Instant Client
- Database Connection Strings for Oracle Instant Client
- SDK for Oracle Instant Client
- About Oracle Instant Client Light
Ld library path linux oracle
4.3.2 LD_LIBRARY_PATH Environment Variable
Use the LD_LIBRARY_PATH environment variable to specify directory paths that the linker should search for libraries specified with the -l library option.
Multiple directories can be specified, separated by a colon. Typically, the LD_LIBRARY_PATH variable contains two lists of colon-separated directories separated by a semicolon:
The directories in dirlist1 are searched first, followed by any explicit -L dir directories specified on the command line, followed by dirlist2 and the standard directories.
That is, if the compiler is called with any number of occurrences of -L , as in:
then the search order is:
dirlist1 path1 . pathn dirlist2 standard_paths
When the LD_LIBRARY_PATH variable contains only one colon-separated list of directories, it is interpreted as dirlist2 .
In the Solaris operating environment, a similar environment variable, LD_LIBRARY_PATH_64 can be used to override LD_LIBRARY_PATH when searching for 64-bit dependencies. See the Solaris Linker and Libraries Guide and the ld (1) man page for details.
On a 32-bit SPARC processor, LD_LIBRARY_PATH_64 is ignored.
If only LD_LIBRARY_PATH is defined, it is used for both 32-bit and 64-bit linking.
If both LD_LIBRARY_PATH and LD_LIBRARY_PATH_64 are defined, 32-bit linking will be done using LD_LIBRARY_PATH , and 64-bit linking with LD_LIBRARY_PATH_64 .
Use of the LD_LIBRARY_PATH environment variable with production software is strongly discouraged. Although useful as a temporary mechanism for influencing the runtime linker’s search path, any dynamic executable that can reference this environment variable will have its search paths altered. You might see unexpected results or a degradation in performance.
Источник
Как правильно использовать LD_LIBRARY_PATH?
Решил на выходных повтыкать в одну игру с gog, а там в start.sh есть такой кусок:
просто у тебя есть эти нужные библиотеки, а в указанной директории нет
То есть, если задана эта переменная, то системные папки не проверяются?
Похоже, что LD_LIBRARY_PATH уже содержит какие-то пути, в т.ч. к libGL.so.1, но этот скрипт вместо того, чтобы добавить к ним свои, затирает их.
васче это странно. как их можно затереть?
Очень просто, в переменной лежало одно значение, а export в скрипте положил новое вместо старого. Правильно было бы добавить в начало:
никогда так не делал и всё работало. просто, скорее всего, там и ./$bin_name тоже какой-то скрипт.
просто у тебя есть эти нужные библиотеки, а в указанной директории нет
Наоборот. В указанной директории есть какие-то библиотеки, с которыми игра не работает.
скорее всего, так.
Это же очень легко выяснить. Если ОП напишет в консоли echo $LD_LIBRARY_PATH , и там не пусто, и в одном из этих каталогов есть libGL.so.1, то игра не нашла libGL из-за того, что скрипт изменил значение LD_LIBRARY_PATH, стерев те пути, которые там были.
Запускается игра и при отсутствии export LD_LIBRARY_PATH в скрипте, скорее всего, из-за того, что нужные библиотеки (которые лежали в game и lib) есть и в системных каталогах.
На правах мэйнтэйнера: чем не устроил games-strategy/spaz ?
Или там версия старая?
Update: пардон, почудилось что ты задавал вопрос про humble bundle версию, а не про gog.
В том-то и дело что в LD_LIBRARY_PATH пусто по-умолчанию.
Источник
Andrew Beacock’s Blog
eng mgr / leader / full stack / java / agile / tdd / security / aws / go
Search This Blog
How to add shared libraries to Linux’s system library path
Sometimes in Linux when you install a new software package the instructions tell you to add a directory of shared libraries to your $LD_LIBRARY_PATH environment variable in your .bashrc.
You may have noticed that if you then create a shortcut icon on your desktop to this application it won’t start because it can’t find the libraries.
A typical solution is to write a wrapper shell script to set the LD_LIBRARY_PATH and then call that application.
Well, I’ve discovered how to add them to your system’s library path allowing all environments to access them. Note: There are differences between Debian and Ubuntu (the two flavours of Linux that I’m familiar with).
Ubuntu
Create a new file in /etc/ld.so.conf.d/ called .conf
Edit the file and add a line per directory of shared libraries (*.so files), it will look something like:Reload the list of system-wide library paths:Debian
Edit /etc/ld.so.conf
Add a line per directory of shared libraries (*.so files) to the bottom of the file, it will look something like:Reload the list of system-wide library paths:
If you run your new application it should now work fine without you having to set any LD_LIBRARY_PATH environment variables.
If you still have problems you can obtain a list of the libraries that are on the system path by re-running the ldconfig command in verbose mode:
Источник
Ld library path linux oracle
Oracle Instant Client provides the necessary Oracle Database client-side files to create and run OCI, OCCI, ODBC, and JDBC OCI applications. Useful command-line utilities including SQL*Plus, SQL*Loader and Oracle Data Pump are also available. Oracle Instant Client simplifies the deployment of applications by eliminating the need for an Oracle home on the client machines.
The storage space requirement of an OCI application running in Instant Client mode is significantly reduced compared to the same application running in a full client-side installation. A minimal install of Instant Client shared libraries can occupy less than 10% of the space of a full client-side installation. Finally, the Instant Client is easy to install.
Why use Instant Client?
Installation involves unzipping a few files, or installing RPM packages.
The number of required files and the total disk storage are significantly reduced.
There is no loss of functionality or performance for applications deployed using Instant Client.
It is simple for independent software vendors to package applications.
A README file is included with the Instant Client installation. It describes the version, date and time, and the operating system the Instant Client was generated on.
OCI applications, by default, look for the OCI Data Shared Library, libociei.so (or Oraociei19.dll on Windows) in the runtime library search path (for example LD_LIBRARY_PATH on Linux, or PATH on Windows) to determine if the application should operate in the Instant Client mode. If this library is not found, then OCI tries to load the Instant Client Light Data Shared Library (see Table 2-3 and Table 2-4), libociicus.so (or Oraociicus19.dll on Windows). If the Instant Client Light library is found, then the application operates in the Instant Client Light mode. Otherwise, a full installation based on Oracle home is assumed.
For Instant Client, the following tables shows the Oracle Database client-side files required to deploy an OCI application for Linux and UNIX and Microsoft Windows. Other libraries and utilities get installed, but are not needed for OCI runtime use. For example, you can delete files such as jdbc.jar .
Table 2-1 Instant Client Shared Libraries for Linux and UNIX
Linux and UNIX | Description for Linux and UNIX |
---|---|
Microsoft Windows | Description for Microsoft Windows |
---|---|