Обсуждение: BUG #17160: PostgreSQL13.4:Build failure with GNU Compiler.
The following bug has been logged on the website: Bug reference: 17160 Logged by: arjun shetty Email address: arjunshetty955@gmail.com PostgreSQL version: 13.4 Operating system: Ubuntu 20.04.1 LTS Description: Observed build errors on PostgreSQLv13.4/PostgreSQLv14beta2 with GNU Compiler. GCC Build Command: CC=gcc CXX=g++ ../configure --prefix=<pathtoInstall> CFLAGS='-O3 -march=native -flto' CXXFLAGS='-O3 -march=native -flto' build errror: /tmp/zic.soWwyC.ltrans0.ltrans.o:<artificial>:(.text.startup+0xf7b): more undefined references to `pg_fprintf' follow /tmp/zic.soWwyC.ltrans0.ltrans.o: In function `main': <artificial>:(.text.startup+0xfe9): undefined reference to `pg_strerror' <artificial>:(.text.startup+0x1009): undefined reference to `pg_fprintf' collect2: error: ld returned 1 exit status make[2]: *** [Makefile:55: zic] Error 1 without flto build was success -flto=thin supported for clang(llvm) . GCC supports LTO(can use normal flto or GCC has an equivalent to Thin LTO: WHOle Program optimizeR (WHOPR) i.e like -flto=fwhopr )
PG Bug reporting form <noreply@postgresql.org> writes: > GCC Build Command: > CC=gcc CXX=g++ ../configure --prefix=<pathtoInstall> CFLAGS='-O3 > -march=native -flto' CXXFLAGS='-O3 -march=native -flto' > build errror: > /tmp/zic.soWwyC.ltrans0.ltrans.o:<artificial>:(.text.startup+0xf7b): more > undefined references to `pg_fprintf' follow > /tmp/zic.soWwyC.ltrans0.ltrans.o: In function `main': > <artificial>:(.text.startup+0xfe9): undefined reference to `pg_strerror' > <artificial>:(.text.startup+0x1009): undefined reference to `pg_fprintf' > collect2: error: ld returned 1 exit status > make[2]: *** [Makefile:55: zic] Error 1 > without flto build was success Well, there's your answer. We don't support -flto, and I've not heard any developers express great interest in making it work. If somebody were to send in a patch, we might accept it; but we're not going to treat this as a bug. regards, tom lane