章 6. Special considerations
前一頁 |  | 下一頁

## 章 6. Special considerations

There are some more things you have to take into account when you create a port. This section explains the most common of those.

## 6.1. Shared Libraries

If your port installs one or more shared libraries, define a `USE_LDCONFIG` make variable, which will instruct a `bsd.port.mk` to run `${LDCONFIG} -m` on the directory where the new library is installed (usually ``PREFIX`/lib`) during `post-install` target to register it into the shared library cache. This variable, when defined, will also facilitate addition of an appropriate `@exec /sbin/ldconfig -m` and `@unexec /sbin/ldconfig -R` pair into your `pkg-plist` file, so that a user who installed the package can start using the shared library immediately and de-installation will not cause the system to still believe the library is there.

USE_LDCONFIG= yes

If you need, you can override the default directory by setting the `USE_LDCONFIG` value to a list of directories into which shared libraries are to be installed. For example if your port installs shared libraries into ``PREFIX`/lib/foo` and ``PREFIX`/lib/bar` directories you could use the following in your `Makefile`:

USE_LDCONFIG= ${PREFIX}/lib/foo ${PREFIX}/lib/bar

Please double-check, often this is not necessary at all or can be avoided through `-rpath` or setting `LD_RUN_PATH` during linking (see `lang/moscow_ml` for an example), or through a shell-wrapper which sets `LD_LIBRARY_PATH` before invoking the binary, like `www/mozilla` does.

When installing 32-bit libraries on 64-bit system, use `USE_LDCONFIG32` instead.

Try to keep shared library version numbers in the `libfoo.so.0` format. Our runtime linker only cares for the major (first) number.

When the major library version number increments in the update to the new port version, all other ports that link to the affected library should have their `PORTREVISION` incremented, to force recompilation with the new library version.

前一頁 |  | 下一頁
5.14. Installing files | 起始頁 | 6.2. Ports with distribution restrictions

本文及其他文件，可由此下載： ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/。

若有 FreeBSD 方面疑問，請先閱讀 FreeBSD 相關文件，如不能解決的話，再洽詢 <questions@FreeBSD.org>。
關於本文件的問題，請洽詢 <doc@FreeBSD.org>。