Index: trunk/INSTALL =================================================================== --- trunk/INSTALL (revision 34818) +++ trunk/INSTALL (revision 34819) @@ -12,7 +12,10 @@ For users: - mandatory: C compiler - mandatory: make - - mandatory: librnd installed; see http://www.repo.hu/projects/librnd + - mandatory: librnd installed + Get it at: see http://www.repo.hu/projects/librnd + Standard: install librnd in /usr/local or /usr + Non-standard installation: doc/INSTALL.librnd.txt - optional: imagemagick for running the pixmap export tests When configuring librnd: @@ -35,12 +38,9 @@ For compile-time options run ./configure --help. -Dependencies: almost none. For GUI, install the (-dev or -devel) libs -of lesstif or motif and/or gtk2. - Read the summary table and the warnings at the end of ./configure output and decide if you need the features missing. If there was no error, only -warnings, pcb-rnd cab be compiled, even if some dependencies were missing. +warnings, pcb-rnd can be compiled, even if some dependencies were missing. ./configure will try to static link most plugins and disable ones that have missing dependencies. This process can be controlled using configure command line switches, see ./configure --help. Index: trunk/doc/INSTALL.librnd.txt =================================================================== --- trunk/doc/INSTALL.librnd.txt (nonexistent) +++ trunk/doc/INSTALL.librnd.txt (revision 34819) @@ -0,0 +1,85 @@ +Non-standard librnd installation +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +1. Standard librnd installation + + As per FHS, librnd should be installed to prefix /usr/local (when installed + from source) or /usr (when installed from package). If no prefix is specified + when configuring librnd, it will default to /usr/local. + + Another standard prefix is /opt/librnd, in case a per-package root is + preferred. + + When standard librnd installation is chosen, no librnd-specific arguments + need to be passed to pcb-rnd ./configure, it will automatically find + librnd (with a preference for source install). + + +2. Installing librnd in a non-standard prefix + + If --prefix was specified at configure time pointing to a non-standard + path, pcb-rnd configuration, compilation and execution need extra + preparation. + + Examples in this document assume librnd was configured with + --prefix=/foo/librnd + +2.1. Before pcb-rnd ./configure + + Set librnd prefix so ./configure can find it: + + export LIBRND_PREFIX=/foo/librnd + + After that, from the same shell, run ./configure with the usual arguments. + +2.2. Before compiling pcb-rnd + + Nothing special, make should work as usual. + + (LIBRND_PREFIX doesn't need to be set, ./configure ironed that in to + compile time config files.) + +2.3. Executing pcb-rnd + + This includes: + - executing pcb-rnd from source (must happen from within src/) + - executing pcb-rnd after installation + - executing any utility, from source or installed (e.g. gsch2pcb-rnd) + - running make test + - manually executing any test program + + Fail this step will lead to an error message generated by the dynamic + linker of the operating system, and will look similar to: + + error while loading shared libraries: librnd-hid.so.3: cannot open shared object file: No such file or directory + + Before execution, the operating system's dynamic linker needs to be + configured to look for dynamic libs (.so files) in the non-standard place + librnd is installed in. How this needs to be done may differ from system + to system. + + Please note: this is not specific to librnd or pcb-rnd, this happens + with any dynamic linked lib that gets installed to a non-standard place. + If you already have trick for those, that trick will work with librnd too. + + Here are some examples: + + - GNU/Linux; temporary solution (for a single execution) + + LD_LIBRARY_PATH=/foo/librnd/lib pcb-rnd + + - GNU/Linux; temporary solution (for a given shell session) + + export LD_LIBRARY_PATH=/foo/librnd/lib + pcb-rnd + + - OSX: same options as above, but use DYLD_LIBRARY_PATH instead of + LD_LIBRARY_PATH + + - GNU/Linux; permanent solution: + + Add /foo/librnd/lib to /etc/ld.so.conf or in a new file under + /etc/ld.so.conf.d/ if that directory exists. Run ldconfig as root to + get ld read your changes. + +