How can I force a private copy of sqlite3 to be linked to my application? My ubuntu 10.04 system has sqlite3 in /usr/local/lib and /usr/lib. I want to link my application with a private version of sqlite3. Using -L and -l doesn't work because the additional directory is "appended" to the search path. The g++ compiler always links with /usr/local/lib or (if I move that out of the way) /usr/lib. When I move both out of the way, the application links successfully. But then, the system is useless for most other uses. Under "3.13 Options for Linking", the gcc manual lists these options. An excerpt of the result is shown for both. -nostdlib ./flat/layer_mgmt.o: In function `__static_initialization_and_destruction_0': /usr/include/c++/4.4/iostream:72: undefined reference to `__dso_handle' -nodefaultlibs ... /usr/bin/ld: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 22 has invalid symbol index 22 Interestingly "g++ -print-search-dirs" does not show /usr/local/lib. install: /usr/lib/gcc/i486-linux-gnu/4.4.3/ programs: =/usr/lib/gcc/i486-linux-gnu/4.4.3/:/usr/lib/gcc/i486-linux-gnu/4.4.3/:/usr/lib/gcc/i486-linux-gnu/:/usr/lib/gcc/i486-linux-gnu/4.4.3/:/usr/lib/gcc/i486-linux-gnu/:/usr/libexec/gcc/i486-linux-gnu/4.4.3/:/usr/libexec/gcc/i486-linux-gnu/:/usr/lib/gcc/i486-linux-gnu/4.4.3/:/usr/lib/gcc/i486-linux-gnu/:/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../i486-linux-gnu/bin/i486-linux-gnu/4.4.3/:/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../i486-linux-gnu/bin/ libraries: =/usr/lib/gcc/i486-linux-gnu/4.4.3/:/usr/lib/gcc/i486-linux-gnu/4.4.3/:/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../i486-linux-gnu/lib/i486-linux-gnu/4.4.3/:/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../i486-linux-gnu/lib/../lib/:/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../i486-linux-gnu/4.4.3/:/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib/:/lib/i486-linux-gnu/4.4.3/:/lib/../lib/:/usr/lib/i486-linux-gnu/4.4.3/:/usr/lib/../lib/:/usr/lib/i486-linux-gnu/i486-linux-gnu/4.4.3/:/usr/lib/i486-linux-gnu/../lib/:/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../i486-linux-gnu/lib/:/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../:/lib/:/usr/lib/:/usr/lib/i486-linux-gnu/ Is there a way to do this other than understanding the internal architecture of the gcc installation? TIA