I am using Ubuntu 18.04.
I tried building in another directory outside of the source directory like so:
```
# Under /home/dennis/workspace
# Source is under /home/dennis/workspace/postgresql
mkdir pgsql_build
cd pgsql_build
../postgresql/configure --enable-cassert --enable-debug --prefix /home/dennis/workspace/pgsql
make
```
And I got the same error. I have attached the full make output to this reply.
I also ran `find . -name "*libpgcommon_shlib*"` under my build directory, `/home/dennis/workspace/pgsql_build` and I got no result.
This is my make's and ld's version
```
make --version
GNU Make 4.1
Built for x86_64-pc-linux-gnu
Copyright (C) 1988-2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <
http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
ld --version
GNU ld (GNU Binutils for Ubuntu) 2.30
Copyright (C) 2018 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) a later version.
This program has absolutely no warranty.
```
Dennis Suratna <dennis.suratna@gmail.com> writes:
> I am attempting to build postgres from source with a custom prefix
> directory and I am faced with the following error:
> /usr/bin/ld: cannot find -lpgcommon_shlib
> collect2: error: ld returned 1 exit status
What platform is that, exactly?
> This is the command that I ran:
> # Under /home/dennis/workspace/postgresql
> mkdir build_dir
> cd build_dir
> ../configure --enable-cassert --enable-debug --prefix
> /home/dennis/workspace/pgsql
> make
Hm ... it's not standard practice for the VPATH build directory to be
inside the source directory, I think --- usually the motivation for
using VPATH at all is to avoid modifying the source tree. Having said
that, I tried such a setup (on a Fedora 30 box) and it built fine for
me. I think there might be something wonky about your platform's
linker, or maybe make is broken? Is src/common/libpgcommon_shlib.a
present in your build tree?
regards, tom lane