Re: On non-Windows, hard depend on uselocale(3)

Поиск
Список
Период
Сортировка
От Álvaro Herrera
Тема Re: On non-Windows, hard depend on uselocale(3)
Дата
Msg-id 202602041910.ridz5gice3bi@alvherre.pgsql
обсуждение исходный текст
Ответ на Re: On non-Windows, hard depend on uselocale(3)  (Peter Eisentraut <peter@eisentraut.org>)
Список pgsql-hackers
On 2026-Feb-04, Peter Eisentraut wrote:

> > It corresponds to this stale CF entry,
> > https://commitfest.postgresql.org/patch/5166/
> 
> My recollection is that I didn't at the time find any common pattern among
> the failing buildfarm members.  So the only way to move forward here would
> be to commit it again and then debug it live via the buildfarm.

Did you try adding $(PTHREAD_CFLAGS) or $(PTHREAD_LIBS) to the compile
line for test_json_parser?

I see that the failure in jackdaw (snapshot 2025-03-28 15:30:44)
was

ccache gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Werror=vla -Wendif-labels
-Wmissing-format-attribute-Wimplicit-fallthrough=3 -Wcast-function-type -Wshadow=compatible-local -Wformat-security
-fno-strict-aliasing-fwrapv -fexcess-precision=standard -Wno-format-truncation -Wno-stringop-truncation -g -O2 -I. -I.
-I../../../../src/include  -D_GNU_SOURCE -I/usr/include/libxml2   -c -o test_json_parser_incremental.o
test_json_parser_incremental.c
ccache gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Werror=vla -Wendif-labels
-Wmissing-format-attribute-Wimplicit-fallthrough=3 -Wcast-function-type -Wshadow=compatible-local -Wformat-security
-fno-strict-aliasing-fwrapv -fexcess-precision=standard -Wno-format-truncation -Wno-stringop-truncation -g -O2
test_json_parser_incremental.o -L../../../../src/port -L../../../../src/common   -Wl,--as-needed
-Wl,-rpath,'/home/debian/17-jackdaw/buildroot/HEAD/inst/lib',--enable-new-dtags  -lpgcommon -lpgport -lxslt -lxml2
-lssl-lcrypto -lgssapi_krb5 -lz -lreadline -lpthread -lrt -ldl -lm  -o test_json_parser_incremental
 
ccache gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Werror=vla -Wendif-labels
-Wmissing-format-attribute-Wimplicit-fallthrough=3 -Wcast-function-type -Wshadow=compatible-local -Wformat-security
-fno-strict-aliasing-fwrapv -fexcess-precision=standard -Wno-format-truncation -Wno-stringop-truncation -g -O2
test_json_parser_incremental.o-L../../../../src/port -L../../../../src/common   -Wl,--as-needed
-Wl,-rpath,'/home/debian/17-jackdaw/buildroot/HEAD/inst/lib',--enable-new-dtags-lpgcommon_excluded_shlib
-L../../../../src/common-lpgcommon_shlib -L../../../../src/port -lpgport_shlib -L../../../../src/interfaces/libpq -lpq
-otest_json_parser_incremental_shlib
 
/usr/bin/ld: ../../../../src/port/libpgport_shlib.a(locale_shlib.o): undefined reference to symbol
'pthread_once@@GLIBC_2.17'
/usr/bin/ld: /lib/aarch64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:30: test_json_parser_incremental_shlib] Error 1


But if you look at how jackdaw compiles, say, ecpglib, there's

ccache gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Werror=vla -Wendif-labels
-Wmissing-format-attribute-Wimplicit-fallthrough=3 -Wcast-function-type -Wshadow=compatible-local -Wformat-security
-fno-strict-aliasing-fwrapv -fexcess-precision=standard -Wno-format-truncation -Wno-stringop-truncation -g -O2 -pthread
-D_REENTRANT-D_THREAD_SAFE -I../include -I../../../../src/interfaces/ecpg/include -I. -I.
-I../../../../src/interfaces/ecpg/ecpglib-I../../../../src/interfaces/libpq -I../../../../src/include -D_GNU_SOURCE
-I/usr/include/libxml2    -c -o keywords.o keywords.c
 

note that it has "-pthread", which is not present in the
test_json_parser compile/link.  Does this matter because
libpgport_shlib.a needs that?  Did maybe test_json_parser not previously
need this locale thingy?

I suspect this is a problem in test_json_parser that somehow got tickled
by your patch, not a problem in your patch.

-- 
Álvaro Herrera               48°01'N 7°57'E  —  https://www.EnterpriseDB.com/
¡Ay, ay, ay!  Con lo mucho que yo lo quería (bis)
se fue de mi vera ... se fue para siempre, pa toíta ... pa toíta la vida
¡Ay Camarón! ¡Ay Camarón!                                (Paco de Lucía)



В списке pgsql-hackers по дате отправления: