Re: Implicit make rules break test examples
Donald Dong <xdong@csumb.edu>
From: Donald Dong <xdong@csumb.edu>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: pgsql-hackers@lists.postgresql.org
Date: 2019-01-01T18:24:55Z
Lists: pgsql-hackers
Thank you for the explanation! That makes sense. It is strange that it does not work for me. > What platform are you on exactly, and what toolchain (gcc and ld > versions) are you using? I'm using Ubuntu 18.04.1 LTS. gcc version: gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0 ld version: GNU ld (GNU Binutils for Ubuntu) 2.30 Regards, Donald Dong On Tue, Jan 1, 2019 at 9:54 AM Tom Lane <tgl@sss.pgh.pa.us> wrote: > Donald Dong <xdong@csumb.edu> writes: > > In src/test/example, the implicit make rules produce errors: > > Hm. "make" in src/test/examples works fine for me. > > The only way I can account for the results you're showing is if your > linker is preferring libpq.a to libpq.so, so that reading the library > before the *.o files causes none of it to get pulled in. But that > isn't the default behavior on any modern platform AFAIK, and certainly > isn't considered good practice these days. Moreover, if that's what's > happening, I don't see how you would have managed to build PG at all, > because there are a lot of other places where our Makefiles write > $(LDFLAGS) before the *.o files they're trying to link. Maybe we > shouldn't have done it like that, but it's been working for everybody > else. > > What platform are you on exactly, and what toolchain (gcc and ld > versions) are you using? > > regards, tom lane > -- Donald Dong
Commits
-
Ensure link commands list *.o files before LDFLAGS.
- 69ae9dcb444a 12.0 landed