Re: Could not build from source /usr/bin/ld: cannot find -lpgcommon_shlib

From: Dennis Suratna <dennis(dot)suratna(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-novice(at)postgresql(dot)org
Subject: Re: Could not build from source /usr/bin/ld: cannot find -lpgcommon_shlib
Date: 2019-11-30 19:28:26
Message-ID: CAOBK3AR_UTvUcchns3wLLuTLqX5BJ_um_bv+jbt1M_1B58_G6w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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(at)sss(dot)pgh(dot)pa(dot)us> wrote:

> Dennis Suratna <dennis(dot)suratna(at)gmail(dot)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 Content-Type Size
postgres-make-error-2.txt text/plain 461.9 KB

In response to

Responses

Browse pgsql-novice by date

  From Date Subject
Next Message Tom Lane 2019-11-30 21:22:57 Re: Could not build from source /usr/bin/ld: cannot find -lpgcommon_shlib
Previous Message Goke Aruna 2019-11-30 19:00:03 Re: Slow response to my query