Re: Could not build from source /usr/bin/ld: cannot find -lpgcommon_shlib - Mailing list pgsql-novice

From Dennis Suratna
Subject Re: Could not build from source /usr/bin/ld: cannot find -lpgcommon_shlib
Date
Msg-id CAOBK3AR_UTvUcchns3wLLuTLqX5BJ_um_bv+jbt1M_1B58_G6w@mail.gmail.com
Whole thread Raw
In response to Re: Could not build from source /usr/bin/ld: cannot find -lpgcommon_shlib  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Could not build from source /usr/bin/ld: cannot find -lpgcommon_shlib
List pgsql-novice
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.
```





On Sat, Nov 30, 2019 at 10:31 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:
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
Attachment

pgsql-novice by date:

Previous
From: Goke Aruna
Date:
Subject: Re: Slow response to my query
Next
From: Tom Lane
Date:
Subject: Re: Could not build from source /usr/bin/ld: cannot find -lpgcommon_shlib