Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kfuMs-0007OO-2v for pgsql-hackers@arkaria.postgresql.org; Fri, 20 Nov 2020 00:33:38 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1kfuMr-0007vH-1G for pgsql-hackers@arkaria.postgresql.org; Fri, 20 Nov 2020 00:33:37 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kfuMq-0007vA-P1 for pgsql-hackers@lists.postgresql.org; Fri, 20 Nov 2020 00:33:36 +0000 Received: from mail-ot1-x343.google.com ([2607:f8b0:4864:20::343]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1kfuMn-00073p-JO for pgsql-hackers@lists.postgresql.org; Fri, 20 Nov 2020 00:33:36 +0000 Received: by mail-ot1-x343.google.com with SMTP id n11so7205986ota.2 for ; Thu, 19 Nov 2020 16:33:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=ycI0qmZ8WwiO+320xVV86eVN6FfSNIWMohDenzEsJns=; b=fdHAAQ2p0L8b/lJYVrhxinApBJFfPFxJaKs6UjnAV4IgpMYU11tvap7uYT4Q5bc6cq zr1p/AIuY/MZmSGRIXSccN3J2kn190MmM1N7hllmoJ0FH+5Afo0xxr/uz9IMsXON/6t8 Ldd7pz1qLsoiMIHhPu3sZuwOAPgHq76Xv4SL6a+4Wb94wYkfd91mU/CQK69r7aiHwmr6 NpaFGqgQUrepgGt0IZ67HxWOJeIjXNUBPldEnt2AJDo/l/Oz8siT8JTslKp3m2KrBR4a lYakldwomdJFNQ++eSHQFpmtkTrWof5ghszwiPwSsGwXAvtTji12LBa15cEcuBps9nUf QgHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=ycI0qmZ8WwiO+320xVV86eVN6FfSNIWMohDenzEsJns=; b=bOaKNC6bVLbj95RejjmLgRrc2kgM1x4CPLR699qE7RfwBctSUgYrHMQU42fHVUsSNR V332LTntjSsEcUnHbFF3K8GpuJCNBF96IwzBv0VevpQuMbmv3doeeObdnYdukP41B4g/ Qgl+oS2HwA5wktJFB2kLzZfmfuOg+qDE6UdOdPAhZ8NrTDTSgDsmzXoAK6Hgh/UeVVTs ef/Xxml3OUIBfITC2blbLX2jaFtrjtZGpIfRTVXcCuYzERR5qh7qAXzleTe4lk1P1vwS o4q+J26lwNAEZOrFHtW1T+y4fjDyIxrw64IFHyksOuMSzIqDHje47Mqr4Pz5PcB7/CnL qfLQ== X-Gm-Message-State: AOAM5336GLUhxEY4z7g2D2LLXEIz+s7BewDND27Ea1lqx8Knj5ftdfA5 F7thBl7CN6BlGYutxlxPwtUe06u9ojs= X-Google-Smtp-Source: ABdhPJw+OTS6xHfkVY3tSyvX9vy1CgNe5/7el/5k4NQURfKxw4XfFTZgYm7mlzyJmWnU6JKV7T6XTg== X-Received: by 2002:a05:6830:2083:: with SMTP id y3mr13070399otq.203.1605832411542; Thu, 19 Nov 2020 16:33:31 -0800 (PST) Received: from localhost.localdomain ([47.187.17.111]) by smtp.gmail.com with ESMTPSA id 2sm711511oir.40.2020.11.19.16.33.30 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 19 Nov 2020 16:33:30 -0800 (PST) From: James Hilliard To: pgsql-hackers@lists.postgresql.org Cc: James Hilliard Subject: [PATCH 1/1] Fix compilation on mac with Xcode >= 11.4. Date: Thu, 19 Nov 2020 17:33:14 -0700 Message-Id: <20201120003314.20560-1-james.hilliard1@gmail.com> X-Mailer: git-send-email 2.29.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk It would appear weak symbol linking is not handled properly without 'isysroot' parameter passed to linker. Fixes: Undefined symbols for architecture x86_64: "___darwin_check_fd_set_overflow", referenced from: _ClientAuthentication in auth.o _pgstat_init in pgstat.o _ServerLoop in postmaster.o ld: symbol(s) not found for architecture x86_64 See: https://github.com/qt/qtwebengine-chromium/commit/d5c4b6230b7f915f6e044e230c0c575249938400 --- configure | 4 +++- configure.ac | 4 +++- src/template/darwin | 2 ++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/configure b/configure index ace4ed5dec..92b089907e 100755 --- a/configure +++ b/configure @@ -19041,7 +19041,6 @@ if test "$with_readline" = yes; then else link_test_func=exit fi - if test "$PORTNAME" = "darwin"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Wl,-dead_strip_dylibs" >&5 $as_echo_n "checking whether $CC supports -Wl,-dead_strip_dylibs... " >&6; } @@ -19194,6 +19193,9 @@ _ACEOF # we've finished all configure checks that depend on CPPFLAGS. if test x"$PG_SYSROOT" != x; then CPPFLAGS=`echo "$CPPFLAGS" | sed -e "s| $PG_SYSROOT | \\\$(PG_SYSROOT) |"` + if test "$PORTNAME" = "darwin"; then + LDFLAGS=`echo "$LDFLAGS" | sed -e "s| $PG_SYSROOT | \\\$(PG_SYSROOT) |"` + fi fi diff --git a/configure.ac b/configure.ac index 5b91c83fd0..a82cbbc147 100644 --- a/configure.ac +++ b/configure.ac @@ -2326,7 +2326,6 @@ if test "$with_readline" = yes; then else link_test_func=exit fi - if test "$PORTNAME" = "darwin"; then PGAC_PROG_CC_LDFLAGS_OPT([-Wl,-dead_strip_dylibs], $link_test_func) elif test "$PORTNAME" = "openbsd"; then @@ -2362,6 +2361,9 @@ AC_SUBST(PG_VERSION_NUM) # we've finished all configure checks that depend on CPPFLAGS. if test x"$PG_SYSROOT" != x; then CPPFLAGS=`echo "$CPPFLAGS" | sed -e "s| $PG_SYSROOT | \\\$(PG_SYSROOT) |"` + if test "$PORTNAME" = "darwin"; then + LDFLAGS=`echo "$LDFLAGS" | sed -e "s| $PG_SYSROOT | \\\$(PG_SYSROOT) |"` + fi fi AC_SUBST(PG_SYSROOT) diff --git a/src/template/darwin b/src/template/darwin index f4d4e9d7cf..83d20a8cdd 100644 --- a/src/template/darwin +++ b/src/template/darwin @@ -11,6 +11,8 @@ fi if test x"$PG_SYSROOT" != x"" ; then if test -d "$PG_SYSROOT" ; then CPPFLAGS="-isysroot $PG_SYSROOT $CPPFLAGS" + # Prevent undefined symbols errors for weak linked symbols. + LDFLAGS="-isysroot $PG_SYSROOT $LDFLAGS" else PG_SYSROOT="" fi -- 2.29.2