From: | Sergey Shinderuk <s(dot)shinderuk(at)postgrespro(dot)ru> |
---|---|
To: | James Hilliard <james(dot)hilliard1(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | pgsql-hackers(at)lists(dot)postgresql(dot)org, Thomas Munro <thomas(dot)munro(at)gmail(dot)com> |
Subject: | Re: [PATCH 1/1] Fix detection of pwritev support for OSX. |
Date: | 2021-01-21 23:32:46 |
Message-ID: | 6d43a157-e51a-6449-0b47-94d133829afc@postgrespro.ru |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 22.01.2021 01:17, James Hilliard wrote:
> On Thu, Jan 21, 2021 at 11:38 AM Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>>
>> James Hilliard <james(dot)hilliard1(at)gmail(dot)com> writes:
>>> On Wed, Jan 20, 2021 at 4:07 PM Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>>>> I'm not sure that the case of not having the "command line tools"
>>>> installed is interesting for our purposes. AFAIK you have to have
>>>> that in order to have access to required tools like bison and gmake.
>>>> (That reminds me, I was intending to add something to our docs
>>>> about how-to-build-from-source to say that you need to install those.)
>>
>>> Yeah, not 100% sure but I was able to build just fine after deleting my
>>> command line tools.
>>
>> Hm. I've never been totally clear on what's included in the "command line
>> tools", although it's now apparent that one thing that gets installed is
>> an SDK matching the host OS version. However, Apple's description at [1]
>> says
>>
>> Command Line Tools
>>
>> Download the macOS SDK, headers, and build tools such as the Apple
>> LLVM compiler and Make. These tools make it easy to install open
>> source software or develop on UNIX within Terminal. macOS can
>> automatically download these tools the first time you try to build
>> software, and they are available on the downloads page.
>>
>> which certainly strongly implies that gmake is not there otherwise.
>> At this point I lack any "bare" macOS system to check it on. I wonder
>> whether you have a copy of make available from MacPorts or Homebrew.
>> Or maybe uninstalling the command line tools doesn't really remove
>> everything?
> Yeah, not entirely sure there but I do use homebrew.
FWIW, I tested with a clean install of Catalina. Before I install
anything at all, I already have xcode-select, xcrun and all the shims in
/usr/bin for developer tools, including cc, make, git, xcodebuild...
Just about everything listed in the FILES section of "man xcode-select".
When I run any tool (except xcode-select), a GUI dialog pops up offering
to install the Command Line Tools. So apparently those shims are not
functional yet. I rejected the installation.
Instead I downloaded Xcode12.1.xip via [1], the latest version with
macosx10.15 SDK. I unpacked it and installed by dragging Xcode.app to
/Applications. It seems to me there is no magic behind the scenes, just
moving the directory. I selectively checked that the shims in /usr/bin
didn't change after that.
Now, running "cc" tells me that I have to accept the Xcode license
agreement. After accepting it, all the shims in /usr/bin start to work,
forwarding to the real tools inside Xcode.app.
If I run the Homebrew installer, it says that it's going to install the
Command Line Tools. I don't know why it needs them, all the tools are
there already. I thought that CLT is a lighter-weight option when you
don't want the full Xcode installation, but Homebrew requires them anyway.
I rejected to install CLT and abandoned Homebrew. Then I just cloned and
built Postgres successfully. So it looks like Xcode is really enough, at
least on a recent macOS version.
--
Sergey Shinderuk
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2021-01-21 23:39:30 | Re: PATCH: Batch/pipelining support for libpq |
Previous Message | Andres Freund | 2021-01-21 22:51:23 | Re: Avoiding smgrimmedsync() during nbtree index builds |