Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tAu84-000lp1-9Q for pgsql-hackers@arkaria.postgresql.org; Tue, 12 Nov 2024 16:52:35 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1tAu81-008LHJ-Nh for pgsql-hackers@arkaria.postgresql.org; Tue, 12 Nov 2024 16:52:34 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tAu81-008LH3-AE for pgsql-hackers@lists.postgresql.org; Tue, 12 Nov 2024 16:52:34 +0000 Received: from fout-b7-smtp.messagingengine.com ([202.12.124.150]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tAu7z-001W8X-4y for pgsql-hackers@lists.postgresql.org; Tue, 12 Nov 2024 16:52:32 +0000 Received: from phl-compute-05.internal (phl-compute-05.phl.internal [10.202.2.45]) by mailfout.stl.internal (Postfix) with ESMTP id 5077911400A8; Tue, 12 Nov 2024 11:52:30 -0500 (EST) Received: from phl-mailfrontend-02 ([10.202.2.163]) by phl-compute-05.internal (MEProxy); Tue, 12 Nov 2024 11:52:30 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=eisentraut.org; h=cc:cc:content-transfer-encoding:content-type:content-type :date:date:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:subject:subject:to:to; s=fm2; t=1731430350; x=1731516750; bh=br+UTTTMssCORUNSRZ47Xg5yHAERz8hk JmAQhiK8nu8=; b=i7okHl0+1g2qEvQxR7t+gZjoQ6jA+TH+3jE3TUDjR0/Rvvpr xYJV3nj+ZGCwTAAMTmgs2GjBkanjHNtVNzaHPhnltSCapzh9gvYLzR2J+x8ByM8/ lc2OSaVYq9VIdrBRg+gxQQO2pqF+3kATeDDTLm7srPnHOsuDL2O//P1WntfsifTh OW72vvd7Kwg6Ag5SH+BasM2WFbOvPxoQXCzPQcqpzfshuRWpMJ70pPkQbjtg0hI9 NeHgeLGLz+rexAIlsJ/r8Vre7n9clckmPmHX1n2x5kGCbHINLFxOR7lK8Dn4flpr 6RMSpqnhuwdcvBfZJSoUGX7pusut4FqH5o2f2g== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1731430350; x= 1731516750; bh=br+UTTTMssCORUNSRZ47Xg5yHAERz8hkJmAQhiK8nu8=; b=o QcftYPtjIBjMRimvDUVvz11FKn6/EMsuQvpPMevUlU2sbfjFXqMuRUMIhv+kesHR bu8OlXmN+WXKlPN6XKccJVGRDLHQMp8TtEkZd/FcJUgZH2HXl8TRwn8JuqEKn+gQ 2NpU076wglkQpHMGpOvD2Esw+ZrsYMtG5loF+phxMl5/VELqaVXCLfvLZ/di2tjt S3DH5rvOwYIjjfwiBFMYbY6uva0T4acLlRfiXzqd7BQBP8WBhooDRqJxIbj789IZ JCuonjDB/U4Ihjrbnn5FIVwWQ6z3pgWPtLG2Pt3SfgEJG3Mwd0136cvuhYOmjeh9 YKTClQia2ONcB0wLq26mA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefuddrudeggdeltdcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpggftfghnshhusghstghrihgsvgdpuffr tefokffrpgfnqfghnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnth hsucdlqddutddtmdenucfjughrpefkffggfgfuvfevfhfhjggtgfesthekredttddvjeen ucfhrhhomheprfgvthgvrhcugfhishgvnhhtrhgruhhtuceophgvthgvrhesvghishgvnh htrhgruhhtrdhorhhgqeenucggtffrrghtthgvrhhnpeejhfevhedttefgfffhhfeffefg gffhffelgfeiueeukeehvdehvdefheffvdefueenucevlhhushhtvghrufhiiigvpedtne curfgrrhgrmhepmhgrihhlfhhrohhmpehpvghtvghrsegvihhsvghnthhrrghuthdrohhr ghdpnhgspghrtghpthhtohephedpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtoheprh hosggvrhhtmhhhrggrshesghhmrghilhdrtghomhdprhgtphhtthhopehrrdhtrghkrghh rghshhhipgdvsehfuhhjihhtshhurdgtohhmpdhrtghpthhtohepughprghgvgesphhgrg gumhhinhdrohhrghdprhgtphhtthhopehguhhrjhgvvghtsehsihhnghhhrdhimhdprhgt phhtthhopehpghhsqhhlqdhhrggtkhgvrhhssehlihhsthhsrdhpohhsthhgrhgvshhqlh drohhrgh X-ME-Proxy: Feedback-ID: ie0a040ee:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 12 Nov 2024 11:52:28 -0500 (EST) Message-ID: <130a8a66-c5eb-49d4-bba9-8ff473c4a0c2@eisentraut.org> Date: Tue, 12 Nov 2024 17:52:27 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: doc: pgevent.dll location To: Robert Haas Cc: "Ryohei Takahashi (Fujitsu)" , Dave Page , Gurjeet Singh , "pgsql-hackers@lists.postgresql.org" References: Content-Language: en-US From: Peter Eisentraut In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 12.11.24 17:02, Robert Haas wrote: > On Wed, Nov 6, 2024 at 11:11 AM Peter Eisentraut wrote: >> I don't have Windows handy to test it out, but looking at the respective >> build system source files, in master, pgevent is built and installed >> like a normal shared library in both meson.build and Makefile, so it >> should end up somewhere in lib. >> >> In src/tools/msvc in REL_16_STABLE, I see some code that appears to >> suggest that it installs in bin. >> >> Again, this is just reading the code, but it seems to be backwards from >> what is claimed earlier. >> >> The statements like "in PGxxx it did this" are not precise enough >> because there are three possible build systems. We need to know what >> each build system is doing. Also, the consideration of consistency >> should go in two dimensions: Consistency between versions and >> consistency between build systems. > > To what three systems are you referring? I thought we now only > supported building with meson on Windows, and this is a > Windows-specific file. Everyone seems to be saying the file has moved > in v17, so it seems like we should either move it back or update the > documentation as proposed. The question of why it has moved is perhaps > worth some investigation, but seems like a secondary issue. The three possible build systems are: 1. src/tools/msvc/ 2. meson 3. make The first one was removed, but the second and the third one still exist. I can tell from the build farm logs (fairywren) that on master with meson the installation layout is Installing src\\bin\\pgevent\\pgevent.dll to C:/tools/xmsys64/home/pgrunner/bf/root/HEAD/inst\\bin Installing src\\bin\\pgevent\\pgevent.dll.a to C:/tools/xmsys64/home/pgrunner/bf/root/HEAD/inst\\lib This appears to be the meson default for shared libraries, because we also have Installing src/interfaces/libpq\\libpq.dll to C:/tools/xmsys64/home/pgrunner/bf/root/HEAD/inst\\bin Installing src/interfaces/libpq\\libpq.dll.a to C:/tools/xmsys64/home/pgrunner/bf/root/HEAD/inst\\lib We don't have any coverage on master for make on Windows, but I can see on REL_15_STABLE (fairywren) /usr/bin/install -c -m 755 pgevent.dll '/home/pgrunner/bf/root/REL_15_STABLE/inst/lib/postgresql/pgevent.dll' and I strongly suspect that this is unchanged in master. Note here that meson installs this file as a shared library (like libpq) but make installs this file as a shared module (like plpgsql). Also, looking at the source code of the old msvc build system (Install.pm, sub CopySolutionOutput), it will install this file into lib in the logic that is is a "dll" file that is *not* a shared library (has no SO_MAJOR_VERSION set). So the msvc system appears to be consistent with the make system in that respect. So the most straightforward way to "make it work like it used to" would be to change src/bin/pgevent/meson.build to use shared_module() instead of shared_library(). Based on the explanation in the documentation, this file is really more of a plugin and less a shared library, so I think that approach would be more correct than not.