Received: from malur.postgresql.org ([2a02:16a8:dc51::56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1g5GJV-0002oX-34 for pgsql-hackers@arkaria.postgresql.org; Wed, 26 Sep 2018 20:21:37 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1g5GJS-0007si-A2 for pgsql-hackers@arkaria.postgresql.org; Wed, 26 Sep 2018 20:21:34 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1g5GJS-0007sb-3D for pgsql-hackers@lists.postgresql.org; Wed, 26 Sep 2018 20:21:34 +0000 Received: from sss.pgh.pa.us ([66.207.139.130]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1g5GJK-0003lb-RH for pgsql-hackers@lists.postgresql.org; Wed, 26 Sep 2018 20:21:33 +0000 Received: from sss1.sss.pgh.pa.us (localhost [127.0.0.1]) by sss.pgh.pa.us (8.14.4/8.14.4) with ESMTP id w8QKLJOm010878; Wed, 26 Sep 2018 16:21:19 -0400 From: Tom Lane To: Andres Freund cc: Michael Paquier , Alvaro Herrera , Thomas Munro , PostgreSQL Hackers Subject: Re: Allowing printf("%m") only where it actually works In-reply-to: <20180926185734.sdfewkgpheoktae5@alap3.anarazel.de> References: <20180925154829.rbjxmmcpd5z7ueyq@alvherre.pgsql> <28378.1537891542@sss.pgh.pa.us> <20180925224223.GB1659@paquier.xyz> <3034.1537974599@sss.pgh.pa.us> <20180926185734.sdfewkgpheoktae5@alap3.anarazel.de> Comments: In-reply-to Andres Freund message dated "Wed, 26 Sep 2018 11:57:34 -0700" MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <10876.1537993279.1@sss.pgh.pa.us> Content-Transfer-Encoding: quoted-printable Date: Wed, 26 Sep 2018 16:21:19 -0400 Message-ID: <10877.1537993279@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk Andres Freund writes: > The strerror push, I assume it's that at least, broke something on icc: > https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=3Dfulmar&dt=3D20= 18-09-26%2018%3A00%3A16 Yeah. It looks like the problem is that configure's test for strerror_r's return type does not work on icc: onfigure:10784: checking whether strerror_r returns int configure:10805: icc -std=3Dgnu99 -c -mp1 -fno-strict-aliasing -g -O2 -pt= hread -D_REENTRANT -D_THREAD_SAFE -D_POSIX_PTHREAD_SEMANTICS -D_GNU_SOURC= E -I/usr/include/libxml2 conftest.c >&5 conftest.c(45): warning #159: declaration is incompatible with previous "s= trerror_r" (declared at line 438 of "/usr/include/string.h") int strerror_r(int, char *, size_t); ^ configure:10805: $? =3D 0 configure:10812: result: yes Configure is expecting this to throw a hard error (if the platform declares strerror_r to return char*) but icc only makes it a warning. What I am not quite figuring out here is how the code seemed to work before. Before this patch, it only mattered in libpq because that was the only place using pqStrerror. Maybe the regression tests don't ever produce a strerror output from libpq? regards, tom lane