Thread: 8.2 Admin Pack broken?
I'm trying to compile in the "adminpack" into PostgreSQL 8.2.3, but it doesn't want to build. According to the instructions, I change into "contrib/adminpack" and run "make" followed by "make install." However, make fails: [NetServe@byron /endeavour/software/cache/postgresql-8.2.3/contrib/adminpack]$ make "Makefile", line 8: Need an operator "Makefile", line 10: Could not find "Makefile", line 11: Need an operator "../../src/Makefile.global", line 38: Missing dependency operator "../../src/Makefile.global", line 41: Need an operator --8<-- lots more of the above line --8<-- "../../src/Makefile.global", line 109: Missing dependency operator "../../src/Makefile.global", line 110: Need an operator --8<-- lots more of the above 2 lines --8<-- "../../src/Makefile.port", line 3: Need an operator "../../src/Makefile.port", line 12: Missing dependency operator --8<-- more of the above 2 lines --8<-- "../../src/Makefile.global", line 324: Missing dependency operator "../../src/Makefile.global", line 326: Need an operator --8<-- lots more of the above 2 lines --8<-- "/endeavour/software/cache/postgresql-8.2.3/src/../src/nls-global.mk", line 25: Could not find /endeavour/software/cache/postgresql-8.2.3/src/../contrib/adminpack/nls.mk "/endeavour/software/cache/postgresql-8.2.3/src/../src/nls-global.mk", line 29: Need an operator --8<-- 4 more of the above line --8<-- Error expanding embedded variable. [NetServe@byron /endeavour/software/cache/postgresql-8.2.3/contrib/adminpack]$ This is on FreeBSD 6.1, I've built and installed PostgreSQL 8.2.3 (running nicely) - I have Bison and M4 installed - is there anything else I need? The "nls-global.mk" and "nls.mk" files don't exist. Any help would be appreciated! Thanks, Andy.
Never mind, I found the problem. FYI: Reports on Google are wrong - they say that you need to use "gmake" to build the PostgreSQL server source. You don't. I had installed GNU make on FreeBSD, but it installs it under "/usr/local/bin/make" - of which the Unix version of make exists under "/usr/bin/make." Just typing "make" builds PostgreSQL just fine with the Unix make. However, the contrib modules *won't* build with the Unix make - I had to run "/usr/local/bin/make" instead of just "make." HTH someone, Andy. Andy Shellam (Mailing Lists) wrote: > I'm trying to compile in the "adminpack" into PostgreSQL 8.2.3, but it > doesn't want to build. > > According to the instructions, I change into "contrib/adminpack" and > run "make" followed by "make install." > > However, make fails: > > [NetServe@byron > /endeavour/software/cache/postgresql-8.2.3/contrib/adminpack]$ make > "Makefile", line 8: Need an operator > "Makefile", line 10: Could not find > "Makefile", line 11: Need an operator > "../../src/Makefile.global", line 38: Missing dependency operator > "../../src/Makefile.global", line 41: Need an operator > > --8<-- lots more of the above line --8<-- > > "../../src/Makefile.global", line 109: Missing dependency operator > "../../src/Makefile.global", line 110: Need an operator > > --8<-- lots more of the above 2 lines --8<-- > > "../../src/Makefile.port", line 3: Need an operator > "../../src/Makefile.port", line 12: Missing dependency operator > > --8<-- more of the above 2 lines --8<-- > > "../../src/Makefile.global", line 324: Missing dependency operator > "../../src/Makefile.global", line 326: Need an operator > > --8<-- lots more of the above 2 lines --8<-- > > "/endeavour/software/cache/postgresql-8.2.3/src/../src/nls-global.mk", > line 25: Could not find > /endeavour/software/cache/postgresql-8.2.3/src/../contrib/adminpack/nls.mk > > "/endeavour/software/cache/postgresql-8.2.3/src/../src/nls-global.mk", > line 29: Need an operator > > --8<-- 4 more of the above line --8<-- > > Error expanding embedded variable. > [NetServe@byron > /endeavour/software/cache/postgresql-8.2.3/contrib/adminpack]$ > > This is on FreeBSD 6.1, I've built and installed PostgreSQL 8.2.3 > (running nicely) - I have Bison and M4 installed - is there anything > else I need? > The "nls-global.mk" and "nls.mk" files don't exist. > > Any help would be appreciated! > > Thanks, > > Andy. > > > > > ---------------------------(end of broadcast)--------------------------- > TIP 7: You can help support the PostgreSQL project by donating at > > http://www.postgresql.org/about/donate > > !DSPAM:37,45d70d9518515637015809! > > -- Andy Shellam NetServe Support Team the Mail Network "an alternative in a standardised world" p: +44 (0) 121 288 0832/0839 m: +44 (0) 7818 000834
"Andy Shellam (Mailing Lists)" <andy.shellam-lists@mailnetwork.co.uk> writes: > FYI: Reports on Google are wrong - they say that you need to use "gmake" > to build the PostgreSQL server source. You don't. I can assure you that you need GNU make to build any part of Postgres. Perhaps what you're dealing with there is that "/usr/bin/make" is some particularly ancient release of GNU make that has most but not quite all of the features we depend on? "make -v" might prove informative. regards, tom lane
Tom Lane wrote:
Not particularly!! Don't know what it is but it doesn't _appear_ to be GNU. According to "man make" it is a "FreeBSD General Command."
I can tell you that "./configure && make && make install" works and builds a working Postgres server just fine, it's just the contribs it doesn't build.
[root@byron ~]# make -v
make: no target to make.
[root@byron ~]# /usr/bin/make -v
make: no target to make.
[root@byron ~]# /usr/local/bin/make -v
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
This program built for i386-unknown-freebsd6.1
[root@byron ~]#
Confusion reigns.
"Andy Shellam (Mailing Lists)" <andy.shellam-lists@mailnetwork.co.uk> writes:FYI: Reports on Google are wrong - they say that you need to use "gmake" to build the PostgreSQL server source. You don't.I can assure you that you need GNU make to build any part of Postgres. Perhaps what you're dealing with there is that "/usr/bin/make" is some particularly ancient release of GNU make that has most but not quite all of the features we depend on? "make -v" might prove informative.
Not particularly!! Don't know what it is but it doesn't _appear_ to be GNU. According to "man make" it is a "FreeBSD General Command."
I can tell you that "./configure && make && make install" works and builds a working Postgres server just fine, it's just the contribs it doesn't build.
[root@byron ~]# make -v
make: no target to make.
[root@byron ~]# /usr/bin/make -v
make: no target to make.
[root@byron ~]# /usr/local/bin/make -v
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
This program built for i386-unknown-freebsd6.1
[root@byron ~]#
Confusion reigns.
Andy Shellam (Mailing Lists) wrote: > Not particularly!! Don't know what it is but it doesn't _appear_ to > be GNU. According to "man make" it is a "FreeBSD General Command." I > can tell you that "./configure && make && make install" works and > builds a working Postgres server just fine, it's just the contribs it > doesn't build. There is extra code in the top-level makefile that detects if you don't run GNU make, tries to find it, and calls it instead. But you need to have it installed somewhere. That code, however, is not replicated in each directory of the source tree. In the past, we have usually refered to the GNU make program as "gmake", but I see an increasing number of systems, including my own, that no longer installs GNU make as "gmake" but only as "make". So basically you just need to be careful what you call. -- Peter Eisentraut http://developer.postgresql.org/~petere/
Peter Eisentraut wrote:
Ah that provides an explanation, thanks Peter! I installed GNU make before trying to build Postgres as there was another program I needed it for, so I never crossed this problem while building Postgres.
Yes, regarding make, I've noticed that all GNU stuff I've compiled on FreeBSD gets installed into /usr/local/ by default, which keeps it separate from the system programs in /usr.
HTH
Andy
Andy Shellam (Mailing Lists) wrote:Not particularly!! Don't know what it is but it doesn't _appear_ to be GNU. According to "man make" it is a "FreeBSD General Command." I can tell you that "./configure && make && make install" works and builds a working Postgres server just fine, it's just the contribs it doesn't build.There is extra code in the top-level makefile that detects if you don't run GNU make, tries to find it, and calls it instead. But you need to have it installed somewhere. That code, however, is not replicated in each directory of the source tree. In the past, we have usually refered to the GNU make program as "gmake", but I see an increasing number of systems, including my own, that no longer installs GNU make as "gmake" but only as "make". So basically you just need to be careful what you call.
Ah that provides an explanation, thanks Peter! I installed GNU make before trying to build Postgres as there was another program I needed it for, so I never crossed this problem while building Postgres.
Yes, regarding make, I've noticed that all GNU stuff I've compiled on FreeBSD gets installed into /usr/local/ by default, which keeps it separate from the system programs in /usr.
HTH
Andy