"GOT", but the "O" is a cute, smiling pufferfish. Index | Thread | Search

From:
"Paul W. Rankin" <pwr@bydasein.com>
Subject:
Building got on macOS
To:
gameoftrees@openbsd.org
Date:
Thu, 26 Aug 2021 02:26:22 +1000

Download raw body.

Thread
  • Paul W. Rankin:

    Building got on macOS

Hello,

First let me apologise that I've sometimes dropped into #gameoftrees 
(rnkn) with to dump questions/build logs but haven't been able to stick 
around for any response. Sorry if anyone took the time to look into 
these then only to find me gone.

Continuing my quixotic adventure in building got for macOS, so far I can 
overcome the missing sha.h by copying it from libmd:

$ cp ~/Developer/libmd/include/sha1.h work/got-0.48/openbsd-compat/


...but I then hit a build failure with a missing uuid.h. macOS has 
uuid.h in a few places...

$ locate uuid.h
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Kernel.framework/Versions/A/Headers/uuid/uuid.h
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/uuid/uuid.h
/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk/System/Library/Frameworks/Kernel.framework/Versions/A/Headers/uuid/uuid.h
/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk/usr/include/uuid/uuid.h
/Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/Kernel.framework/Versions/A/Headers/uuid/uuid.h
/Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk/usr/include/uuid/uuid.h


...so I've tried copying over each of those, but hit a similar build 
failure each time:

$ bmake
=> Bootstrap dependency digest>=20010302: found digest-20190127
===> Checking for vulnerabilities in got-0.48
===> Building for got-0.48
all ===> openbsd-compat
all ===> libexec
all ===> libexec/got-read-blob
clang -pipe -Os -D_XOPEN_SOURCE_EXTENDED=1 -I/opt/pkg/include 
-I/opt/pkg/include/ncurses 
-I/opt/pkgsrc/devel/got/work/got-0.48/libexec/got-read-blob/../../include 
-I/opt/pkgsrc/devel/got/work/got-0.48/libexec/got-read-blob/../../lib 
-DGOT_LIBEXECDIR=/opt/pkg/libexec -DGOT_VERSION=0.48 
-I/opt/pkgsrc/devel/got/work/got-0.48/libexec/got-read-blob/../../openbsd-compat 
-Wno-pointer-sign   
-I/opt/pkgsrc/devel/got/work/got-0.48/libexec/got-read-blob/../../include 
-I/opt/pkgsrc/devel/got/work/got-0.48/libexec/got-read-blob/../../lib 
-DGOT_LIBEXECDIR=/opt/pkg/libexec -DGOT_VERSION=0.48 -c 
/opt/pkgsrc/devel/got/work/got-0.48/libexec/got-read-blob/../../lib/error.c
/opt/pkgsrc/devel/got/work/got-0.48/libexec/got-read-blob/../../lib/error.c:204:7: 
error: use of undeclared identifier 'uuid_s_ok'
         case uuid_s_ok:
              ^
/opt/pkgsrc/devel/got/work/got-0.48/libexec/got-read-blob/../../lib/error.c:206:7: 
error: use of undeclared identifier 'uuid_s_bad_version'
         case uuid_s_bad_version:
              ^
/opt/pkgsrc/devel/got/work/got-0.48/libexec/got-read-blob/../../lib/error.c:208:7: 
error: use of undeclared identifier 'uuid_s_invalid_string_uuid'
         case uuid_s_invalid_string_uuid:
              ^
/opt/pkgsrc/devel/got/work/got-0.48/libexec/got-read-blob/../../lib/error.c:210:7: 
error: use of undeclared identifier 'uuid_s_no_memory'
         case uuid_s_no_memory:
              ^
4 errors generated.
*** Error code 1

Stop.
bmake[2]: stopped in 
/opt/pkgsrc/devel/got/work/got-0.48/libexec/got-read-blob
*** Error code 1

Stop.
bmake[1]: stopped in /opt/pkgsrc/devel/got/work/got-0.48/libexec
*** Error code 1

Stop.
bmake: stopped in /opt/pkgsrc/devel/got/work/got-0.48
*** Error code 1

Stop.
bmake[1]: stopped in /opt/pkgsrc/devel/got
*** Error code 1

Stop.
bmake: stopped in /opt/pkgsrc/devel/got


uuid.h is where I'm stuck.

I can see on my OpenBSD box that /usr/include/uuid.h includes 
<sys/uuid.h> but macOS doesn't have the include/sys directory.

Where should I source uuid.h? Is this the right avenue? Really, should I 
instead give up?

(As an aside, if anyone is interested why I'm pursuing this, I have a 
little writing device called a Pomera DM30 that I sync writing projects 
to/from using git, but this device is not designed for the many files of 
a git repo, so using got would allow me to separate the work-tree/repo.)

-- 
Paul W. Rankin
https://bydasein.com

The single best thing you can do for the world is delete your social 
media accounts.