Re: Could not build from source /usr/bin/ld: cannot find -lpgcommon_shlib
Tom Lane <[email protected]> Sat, 30 Nov 2019 16:22:57 -0500
| Newsgroups | gmane.comp.db.postgresql.novice |
|---|---|
| Message-ID | <[email protected]> |
Dennis Suratna <[email protected]> writes: > And I got the same error. I have attached the full make output to this > reply. Well, this is pretty interesting: make -C src all make[1]: Entering directory '/home/dennis/workspace/pgsql_build/src' make -C common all make[2]: Entering directory '/home/dennis/workspace/pgsql_build/src/common= ' make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/home/dennis/workspace/pgsql_build/src/common' "make" didn't find anything to do there. However, digging through the rest of the make log, I find that the backend link went through successfully with /home/dennis/workspace/pgsql_build/../postgresql/src/backend/../../src/com= mon/libpgcommon_srv.a = If I'm counting ".."'s correctly, that's pointing at /home/dennis/workspace/postgresql/src/common/libpgcommon_srv.a that is, something in your source tree not your build tree. Extrapolating, I'd guess that you have a partial build laying about in your source tree that includes libpgcommon_shlib.a, and depending on just how a particular Makefile is worded, the VPATH mechanism might find that file when libpgcommon_shlib.a is asked for; it's certainly enough to discourage make itself from building a new copy in the build tree. But the linker doesn't know enough to find that from "-lpgcommon_shlib". In short, you need to clean out your source tree before trying to do a VPATH build. If using git, "git clean -dfx" would do it. Otherwise you might be best advised to blow away the tree and re-extract the tarball you started from. regards, tom lane