Thread Previous • Date Previous • Date Next • Thread Next |
On Tue, 5 Jul 2005, Barry Smith wrote:
As far as I can see, the information that is being hardwired into the PETSc library files is the installation location of the PETSc library files themselves. Correct me if I'm wrong.In the PETSc shared libraries are hardwired the locations of the PETSc dynamic libraries (the dynamic libraries contain all the actual implementations while the shared libraries (what you link against) contain the user API functions). If we do not hardwire, we have no way of finding the dynamic libraries.
I see. What are examples of shared/dynamic library files in PETSc? I assume both are installed?
If the idea is so that the linker can find the library at runtime, that is what standard locations like /usr/lib are for, and search paths for the linker can also be set in /etc/ld.so.conf./usr/lib reminds me about the old days of Windows where you dump all your dlls into System32 (even Microsoft finally figured out this was a stupid idea).
I'm not sure why this is a stupid idea. The whole Unix world uses this, as far as I know, and has done so for a long time.
And changing a file like /etc/ld.so.conf is insane.
/etc/ld.so.conf is not much used. On my 3 yr old Debian installation, it is
/usr/X11R6/lib /usr/lib/3dnow/atlas /usr/lib/atlas/3dnow /usr/lib/3dnow /usr/lib/atlas
Now we could require the user to set PETSC_DIR or something similar at RUNTIME to locate the dynamic libraries, but I dislike that.
Given all this new information I'm going to have to rethink the entire process.
Ok. Faheem.
Thread Previous • Date Previous • Date Next • Thread Next |