Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

stdmalloc build of cockroach 22.1.5 #5

Merged
merged 15 commits into from
Oct 26, 2022
Merged

Conversation

davepacheco
Copy link
Contributor

@davepacheco davepacheco commented Aug 17, 2022

This is very much a work in progress.

I'm trying to get a stdmalloc build of the latest stable Cockroach because that's (a) useful anyway and (b) the next step in debugging the various CockroachDB crashes we've seen.

Status:

Remaining steps here:

  • Work through a bunch of issues (mostly: the change in the released source tarballs, plus figuring out how to update our local patches)
  • Found/filed/waited for fix for oxidecomputer/cockroach#86403
  • Test out the new binary.
    • Smoke check: cockroach version works, cockroach sql works (and so do the line editing basics)
    • Try running the omicron test suite with it.
    • Test the web console
  • Polish this change and get it landed
    • Update build.sh to clone the repo and its submodules instead of downloading the source tarball. This is necessary because CockroachDB no longer publish complete source tarballs of the form we used to use. They now just direct you to the GitHub "download tarball" link for the release tag. This does not include submodules contents.
    • Convert vendored copies of Go packages to patches. I did this so that it's easier to see what our local changes are.
    • Remove several local patches that are no longer needed.
    • Land this change
  • Publish the new binary somewhere and update Omicron to use it. The annoying part about this is that the Omicron download script assumes that the CockroachDB version reported by cockroach can be plugged directly into a download URL. That won't be true for the fork that we've built.
  • Resume cockroachdb hit SIGSEGV during test suite omicron#1223 -- trying to reproduce segfaults with this binary

@davepacheco
Copy link
Contributor Author

davepacheco commented Aug 17, 2022

Among the changes not yet incorporated into build.sh: CockroachDB have stopped releasing built source tarballs. Instead, their releases page points to the download link for a GitHub release tarball, which I believe just comes from git archive. The layout has changed from what they used to have, and it does not include the contents of submodules.

Here's what I did instead:

$ mkdir -p cache/gopath/src/github.com/cockroachdb
$ git clone --recurse-submodules --branch v22.1.5 --depth 1 https://github.com/cockroachdb/cockroach cache/gopath/src/github.com/cockroachdb/cockroach

(this is edited from what I actually ran but it should be close to that)

My latest attempt fails thusly:

$ ptime ./build.sh 
INFO: using /opt/ooce/go-1.17/bin/go: go version go1.17.11 illumos/amd64
INFO: using /opt/gcc-10/bin/gcc: gcc (Helios 1/10.3.0-il-1) 10.3.0
INFO: using /opt/gcc-10/bin/g++: g++ (Helios 1/10.3.0-il-1) 10.3.0

----------------------------------------------------------
INFO: downloading artefacts
----------------------------------------------------------

INFO: downloaded yarn already

----------------------------------------------------------
INFO: extracting artefacts
----------------------------------------------------------

INFO: extracting yarn...
INFO: extracted yarn ok

----------------------------------------------------------
INFO: preparing workaround wrappers
----------------------------------------------------------


----------------------------------------------------------
INFO: patching cockroach source
----------------------------------------------------------

INFO: applying patches from /home/dap/garbage-compactor/cockroach/patches in /home/dap/garbage-compactor/cockroach/cache/gopath...
INFO: applying patch /home/dap/garbage-compactor/cockroach/patches/01-libedit.patch...
Hmm...  Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|diff -ur cockroach-v20.1.5-pristine/src/github.com/cockroachdb/cockroach/c-deps/libedit/configure.ac cockroach-v20.1.5/src/github.com/cockroachdb/cockroach/c-deps/libedit/configure.ac
|--- cockroach-v20.1.5-pristine/src/github.com/cockroachdb/cockroach/c-deps/libedit/configure.ac	Mon Aug 24 12:36:12 2020
|+++ cockroach-v20.1.5/src/github.com/cockroachdb/cockroach/c-deps/libedit/configure.ac	Thu Sep  3 16:29:44 2020
--------------------------
patching file src/github.com/cockroachdb/cockroach/c-deps/libedit/configure.ac
Using Plan A...
Hunk #1 succeeded at 73.
done
INFO: applying patch /home/dap/garbage-compactor/cockroach/patches/03-sysutils.patch...
Hmm...  Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|diff -ur cockroach-{pristine,patched}/src/github.com/cockroachdb/cockroach/pkg/util/sysutil/sysutil_unix.go
|--- cockroach-pristine/src/github.com/cockroachdb/cockroach/pkg/util/sysutil/sysutil_unix.go	Wed Aug 17 10:40:01 2022
|+++ cockroach-patched/src/github.com/cockroachdb/cockroach/pkg/util/sysutil/sysutil_unix.go	Wed Aug 17 10:43:58 2022
--------------------------
patching file src/github.com/cockroachdb/cockroach/pkg/util/sysutil/sysutil_unix.go
Using Plan A...
Hunk #1 succeeded at 8.
Hmm...  The next patch looks like a unified diff to me...
The text leading up to this was:
--------------------------
|diff -ur cockroach-{pristine,patched}/src/github.com/cockroachdb/cockroach/pkg/util/sysutil/sysutil_unix_test.go
|--- cockroach-pristine/src/github.com/cockroachdb/cockroach/pkg/util/sysutil/sysutil_unix_test.go       Wed Aug 17 10:40:01 2022
|+++ cockroach-patched/src/github.com/cockroachdb/cockroach/pkg/util/sysutil/sysutil_unix_test.go        Wed Aug 17 11:01:07 2022
--------------------------
patching file src/github.com/cockroachdb/cockroach/pkg/util/sysutil/sysutil_unix_test.go
Using Plan A...
Hunk #1 succeeded at 8.
done
INFO: applying patch /home/dap/garbage-compactor/cockroach/patches/04-stderr.patch...
Hmm...  Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|diff -ur cockroach-{pristine,patched}/src/github.com/cockroachdb/cockroach/pkg/util/log/stderr_redirect_unix.go
|--- cockroach-pristine/src/github.com/cockroachdb/cockroach/pkg/util/log/stderr_redirect_unix.go        Wed Aug 17 10:40:01 2022
|+++ cockroach-patched/src/github.com/cockroachdb/cockroach/pkg/util/log/stderr_redirect_unix.go Wed Aug 17 11:08:45 2022
--------------------------
patching file src/github.com/cockroachdb/cockroach/pkg/util/log/stderr_redirect_unix.go
Using Plan A...
Hunk #1 succeeded at 8.
done
INFO: applying patch /home/dap/garbage-compactor/cockroach/patches/06-jemalloc_cgo.patch...
Hmm...  Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|diff -ur cockroach-v20.1.5-pristine/src/github.com/cockroachdb/cockroach/pkg/cli/start_jemalloc.go cockroach-v20.1.5/src/github.com/cockroachdb/cockroach/pkg/cli/start_jemalloc.go
|--- cockroach-v20.1.5-pristine/src/github.com/cockroachdb/cockroach/pkg/cli/start_jemalloc.go	Mon Aug 24 12:36:09 2020
|+++ cockroach-v20.1.5/src/github.com/cockroachdb/cockroach/pkg/cli/start_jemalloc.gFri Sep  4 00:13:50 2020
--------------------------
patching file src/github.com/cockroachdb/cockroach/pkg/cli/start_jemalloc.go
Using Plan A...
Hunk #1 succeeded at 15 (offset 1 line).
Hmm...  The next patch looks like a unified diff to me...
The text leading up to this was:
--------------------------
|diff -ur cockroach-v20.1.5-pristine/src/github.com/cockroachdb/cockroach/pkg/server/status/runtime_jemalloc.go cockroach-v20.1.5/src/github.com/cockroachdb/cockroach/pkg/server/status/runtime_jemalloc.go
|--- cockroach-v20.1.5-pristine/src/github.com/cockroachdb/cockroach/pkg/server/status/runtime_jemalloc.go	Mon Aug 24 12:36:09 2020
|+++ cockroach-v20.1.5/src/github.com/cockroachdb/cockroach/pkg/server/status/runtime_jemalloc.go	Fri Sep  4 00:14:08 2020
--------------------------
patching file src/github.com/cockroachdb/cockroach/pkg/server/status/runtime_jemalloc.go
Using Plan A...
Hunk #1 succeeded at 15 (offset 1 line).
done
INFO: applying patch /home/dap/garbage-compactor/cockroach/patches/07-makefile.patch...
Hmm...  Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|--- a/src/github.com/cockroachdb/cockroach/Makefile	Mon Nov  2 07:10:59 2020
|+++ b/src/github.com/cockroachdb/cockroach/Makefile	Wed Nov 11 11:32:05 2020
--------------------------
patching file src/github.com/cockroachdb/cockroach/Makefile
Using Plan A...
Hunk #1 succeeded at 176.
Hunk #2 succeeded at 253.
Hunk #3 succeeded at 719 (offset 1 line).
Hunk #4 succeeded at 1557 (offset 32 lines).
done
INFO: applying patch /home/dap/garbage-compactor/cockroach/patches/11-makefile-tags.patch...
Hmm...  Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|--- a/src/github.com/cockroachdb/cockroach/Makefile
|+++ b/src/github.com/cockroachdb/cockroach/Makefile
--------------------------
patching file src/github.com/cockroachdb/cockroach/Makefile
Using Plan A...
Hunk #1 succeeded at 163.
done
INFO: copying in extra files...
INFO: vendor replace github.com/elastic/gosigar
INFO: vendor replace github.com/knz/go-libedit
INFO: vendor replace github.com/knz/strtime
INFO: vendor replace github.com/cockroachdb/pebble/vfs

----------------------------------------------------------
INFO: building cockroach
----------------------------------------------------------

INFO: running gmake build/defs.mk...
gmake: Entering directory '/home/dap/garbage-compactor/cockroach/cache/gopath/src/github.com/cockroachdb/cockroach'
GOPATH set to /home/dap/garbage-compactor/cockroach/cache/gopath
Detected change in build system. Rebooting make.
GOPATH set to /home/dap/garbage-compactor/cockroach/cache/gopath
gmake: 'build/defs.mk' is up to date.
gmake: Leaving directory '/home/dap/garbage-compactor/cockroach/cache/gopath/src/github.com/cockroachdb/cockroach'
INFO: running gmake buildoss...
gmake: Entering directory '/home/dap/garbage-compactor/cockroach/cache/gopath/src/github.com/cockroachdb/cockroach'
GOPATH set to /home/dap/garbage-compactor/cockroach/cache/gopath
cd /home/dap/garbage-compactor/cockroach/cache/gopath/src/github.com/cockroachdb/cockroach/c-deps/libedit && autoconf
rm -rf /home/dap/garbage-compactor/cockroach/cache/gopath/native/x86_64-pc-solaris2.11/proj
aclocal.m4:17: warning: this file was generated for autoconf 2.69.
You have another version of autoconf.  It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically 'autoreconf'.
mkdir -p /home/dap/garbage-compactor/cockroach/cache/gopath/native/x86_64-pc-solaris2.11/proj
cd /home/dap/garbage-compactor/cockroach/cache/gopath/native/x86_64-pc-solaris2.11/proj && cmake  -DCMAKE_TARGET_MESSAGES=OFF   /home/dap/garbage-compactor/cockroach/cache/gopath/src/github.com/cockroachdb/cockroach/c-deps/proj -DCMAKE_BUILD_TYPE=Release -DBUILD_LIBPROJ_SHARED=OFF
CMake Deprecation Warning at CMakeLists.txt:12 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.


configure.ac:29: warning: The macro `AC_CONFIG_HEADER' is obsolete.
configure.ac:29: You should run autoupdate.
./lib/autoconf/status.m4:719: AC_CONFIG_HEADER is expanded from...
configure.ac:29: the top level
configure.ac:35: warning: The macro `AC_PROG_LIBTOOL' is obsolete.
configure.ac:35: You should run autoupdate.
m4/libtool.m4:99: AC_PROG_LIBTOOL is expanded from...
configure.ac:35: the top level
configure.ac:46: warning: The macro `AC_PROG_CC_C99' is obsolete.
configure.ac:46: You should run autoupdate.
./lib/autoconf/c.m4:1659: AC_PROG_CC_C99 is expanded from...
configure.ac:46: the top level
configure.ac:74: warning: The macro `AC_HEADER_STDC' is obsolete.
configure.ac:74: You should run autoupdate.
./lib/autoconf/headers.m4:704: AC_HEADER_STDC is expanded from...
configure.ac:74: the top level
configure.ac:117: warning: The macro `AC_TYPE_SIGNAL' is obsolete.
configure.ac:117: You should run autoupdate.
./lib/autoconf/types.m4:776: AC_TYPE_SIGNAL is expanded from...
configure.ac:117: the top level
configure.ac:138: warning: The macro `AC_TRY_LINK' is obsolete.
configure.ac:138: You should run autoupdate.
./lib/autoconf/general.m4:2920: AC_TRY_LINK is expanded from...
acinclude.m4:36: EL_GETPW_R_POSIX is expanded from...
configure.ac:138: the top level
configure.ac:139: warning: The macro `AC_TRY_LINK' is obsolete.
configure.ac:139: You should run autoupdate.
./lib/autoconf/general.m4:2920: AC_TRY_LINK is expanded from...
acinclude.m4:52: EL_GETPW_R_DRAFT is expanded from...
configure.ac:139: the top level
-- The C compiler identification is GNU 10.3.0
-- Detecting C compiler ABI info
installing githooks/commit-msg
installing githooks/post-checkout
installing githooks/post-merge
installing githooks/post-rewrite
-- Detecting C compiler ABI info - done
installing githooks/pre-push
-- Check for working C compiler: /home/dap/garbage-compactor/cockroach/cache/workaround/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- 
-- Configuring PROJ: 
-- 
-- PROJ_VERSION                             = 4.9.3 
installing githooks/prepare-commit-msg
-- Looking for include file dlfcn.h
-- Looking for include file dlfcn.h - found
-- Looking for include file inttypes.h
-- Looking for include file inttypes.h - found
-- Looking for include file jni.h
-- Looking for include file jni.h - not found
-- Looking for include file memory.h
rm -rf /home/dap/garbage-compactor/cockroach/cache/gopath/native/x86_64-pc-solaris2.11/geos
mkdir -p /home/dap/garbage-compactor/cockroach/cache/gopath/native/x86_64-pc-solaris2.11/geos
cd /home/dap/garbage-compactor/cockroach/cache/gopath/native/x86_64-pc-solaris2.11/geos && \
  cmake -DCMAKE_TARGET_MESSAGES=OFF   /home/dap/garbage-compactor/cockroach/cache/gopath/src/github.com/cockroachdb/cockroach/c-deps/geos -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS=-fPIC -DCMAKE_CXX_FLAGS=-fPIC
-- GEOS: Build type: Release
-- Looking for include file memory.h - found
-- GEOS: Run-time output: /home/dap/garbage-compactor/cockroach/cache/gopath/native/x86_64-pc-solaris2.11/geos/bin
-- GEOS: Archives output: /home/dap/garbage-compactor/cockroach/cache/gopath/native/x86_64-pc-solaris2.11/geos/lib
-- Looking for include file stdint.h
-- The C compiler identification is GNU 10.3.0
-- Looking for include file stdint.h - found
-- Looking for include file stdlib.h
-- The CXX compiler identification is GNU 10.3.0
-- Detecting C compiler ABI info
-- Looking for include file stdlib.h - found
-- Looking for include file string.h
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /home/dap/garbage-compactor/cockroach/cache/workaround/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Looking for include file string.h - found
-- Looking for include file sys/stat.h
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /home/dap/garbage-compactor/cockroach/cache/workaround/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- GEOS: Version 3.8.1
-- GEOS: C API Version 1.13.3
-- GEOS: JTS port 1.13.0
-- GEOS: Require C++11
-- Looking for include file sys/stat.h - found
-- Looking for include file sys/types.h
-- Looking for include file sys/types.h - found
-- Looking for include file unistd.h
-- GEOS: Configured 'dist' target
-- GEOS: Configured 'distcheck' target
-- Configuring done
-- Looking for include file unistd.h - found
-- Looking for 4 include files stdlib.h, ..., float.h
-- Looking for 4 include files stdlib.h, ..., float.h - found
-- Looking for localeconv
-- Generating done
-- Build files have been written to: /home/dap/garbage-compactor/cockroach/cache/gopath/native/x86_64-pc-solaris2.11/geos
mkdir /home/dap/garbage-compactor/cockroach/cache/gopath/native/x86_64-pc-solaris2.11/geos/capi/geos
cp /home/dap/garbage-compactor/cockroach/cache/gopath/src/github.com/cockroachdb/cockroach/c-deps/geos/include/geos/export.h /home/dap/garbage-compactor/cockroach/cache/gopath/native/x86_64-pc-solaris2.11/geos/capi/geos
-- Looking for localeconv - found
-- Looking for ceil in m
regenerating pkg/cli/zcgo_flags.go
regenerating pkg/cli/clisqlshell/zcgo_flags.go
regenerating pkg/server/status/zcgo_flags.go
regenerating pkg/ccl/gssapiccl/zcgo_flags.go
-- Looking for ceil in m - found
CMake Deprecation Warning at cmake/policies.cmake:2 (cmake_policy):
  The OLD behavior for policy CMP0022 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.
Call Stack (most recent call first):
  CMakeLists.txt:44 (include)


-- Looking for pthread.h
regenerating pkg/geo/geoproj/zcgo_flags.go
regenerating vendor/github.com/knz/go-libedit/unix/zcgo_flags.go
regenerating pkg/cli/zcgo_flags_x86_64_pc_solaris2.11_stdmalloc.go
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
regenerating pkg/cli/clisqlshell/zcgo_flags_x86_64_pc_solaris2.11_stdmalloc.go
regenerating pkg/server/status/zcgo_flags_x86_64_pc_solaris2.11_stdmalloc.go
regenerating pkg/ccl/gssapiccl/zcgo_flags_x86_64_pc_solaris2.11_stdmalloc.go
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE  
-- Performing Test HAVE_PTHREAD_MUTEX_RECURSIVE
regenerating pkg/geo/geoproj/zcgo_flags_x86_64_pc_solaris2.11_stdmalloc.go
regenerating vendor/github.com/knz/go-libedit/unix/zcgo_flags_x86_64_pc_solaris2.11_stdmalloc.go
regenerating vendor/github.com/knz/go-libedit/unix/zcgo_flags_extra.go
-- Performing Test HAVE_PTHREAD_MUTEX_RECURSIVE - Success
-- PROJ_PLATFORM_NAME                       = x86 
-- PROJ_COMPILER_NAME                       = gcc-10.3.0 
-- PROJ4_TESTS                              = ON 
go install -v protoc-gen-gogoroach
GOFLAGS= bin/prereqs ./pkg/cmd/protoc-gen-gogoroach > bin/protoc-gen-gogoroach.d.tmp
-- 
-- Configuring proj library: 
-- 
-- JNI_SUPPORT                              = OFF 
-- PROJ_CORE_TARGET                         = proj 
-- PROJ_CORE_TARGET_OUTPUT_NAME             = proj 
-- PROJ_LIBRARY_TYPE                        = STATIC 
-- PROJ_LIBRARIES                           = proj 
-- Configuring done
-- Generating done
mv -f bin/protoc-gen-gogoroach.d.tmp bin/protoc-gen-gogoroach.d
-- Build files have been written to: /home/dap/garbage-compactor/cockroach/cache/gopath/native/x86_64-pc-solaris2.11/proj
GOBIN='/home/dap/garbage-compactor/cockroach/cache/gopath/src/github.com/cockroachdb/cockroach/bin' GOFLAGS= go install -mod=vendor -ldflags '-X github.com/cockroachdb/cockroach/pkg/build.typ=release -extldflags "" -X "github.com/cockroachdb/cockroach/pkg/build.tag=v22.1.5-dirty" -X "github.com/cockroachdb/cockroach/pkg/build.rev=a30a663cbd9323d34d50f343dd038af64671e25f" -X "github.com/cockroachdb/cockroach/pkg/build.cgoTargetTriple=x86_64-pc-solaris2.11" -X "github.com/cockroachdb/cockroach/pkg/build.channel=source-archive"  -X "github.com/cockroachdb/cockroach/pkg/build.utcTime=2022/08/17 18:34:19"' -v ./pkg/cmd/protoc-gen-gogoroach
go install -v terraformgen
GOFLAGS= bin/prereqs ./pkg/roachprod/vm/aws/terraformgen > bin/terraformgen.d.tmp
github.com/gogo/protobuf/protoc-gen-gogo/generator/internal/remap
github.com/gogo/protobuf/protoc-gen-gogo/plugin
github.com/gogo/protobuf/vanity
mv -f bin/terraformgen.d.tmp bin/terraformgen.d
GOBIN='/home/dap/garbage-compactor/cockroach/cache/gopath/src/github.com/cockroachdb/cockroach/bin' GOFLAGS= go install -mod=vendor -ldflags '-X github.com/cockroachdb/cockroach/pkg/build.typ=release -extldflags "" -X "github.com/cockroachdb/cockroach/pkg/build.tag=v22.1.5-dirty" -X "github.com/cockroachdb/cockroach/pkg/build.rev=a30a663cbd9323d34d50f343dd038af64671e25f" -X "github.com/cockroachdb/cockroach/pkg/build.cgoTargetTriple=x86_64-pc-solaris2.11" -X "github.com/cockroachdb/cockroach/pkg/build.channel=source-archive"  -X "github.com/cockroachdb/cockroach/pkg/build.utcTime=2022/08/17 18:34:19"' -v ./pkg/roachprod/vm/aws/terraformgen
github.com/gogo/protobuf/protoc-gen-gogo/generator
github.com/cockroachdb/cockroach/pkg/cli/exit
github.com/cockroachdb/cockroach/pkg/roachprod/vm/aws/terraformgen
github.com/gogo/protobuf/plugin/testgen
github.com/gogo/protobuf/plugin/embedcheck
github.com/gogo/protobuf/plugin/defaultcheck
github.com/gogo/protobuf/plugin/oneofcheck
github.com/gogo/protobuf/plugin/enumstringer
github.com/gogo/protobuf/plugin/marshalto
github.com/gogo/protobuf/plugin/populate
github.com/gogo/protobuf/plugin/unmarshal
github.com/gogo/protobuf/protoc-gen-gogo/grpc
go install -v optgen
GOFLAGS= bin/prereqs ./pkg/sql/opt/optgen/cmd/optgen > bin/optgen.d.tmp
github.com/gogo/protobuf/plugin/description
github.com/gogo/protobuf/plugin/size
github.com/gogo/protobuf/plugin/compare
github.com/gogo/protobuf/plugin/face
github.com/gogo/protobuf/plugin/stringer
github.com/gogo/protobuf/plugin/union
github.com/gogo/protobuf/plugin/equal
github.com/gogo/protobuf/plugin/gostring
github.com/gogo/protobuf/vanity/command
mv -f bin/optgen.d.tmp bin/optgen.d
GOBIN='/home/dap/garbage-compactor/cockroach/cache/gopath/src/github.com/cockroachdb/cockroach/bin' GOFLAGS= go install -mod=vendor -ldflags '-X github.com/cockroachdb/cockroach/pkg/build.typ=release -extldflags "" -X "github.com/cockroachdb/cockroach/pkg/build.tag=v22.1.5-dirty" -X "github.com/cockroachdb/cockroach/pkg/build.rev=a30a663cbd9323d34d50f343dd038af64671e25f" -X "github.com/cockroachdb/cockroach/pkg/build.cgoTargetTriple=x86_64-pc-solaris2.11" -X "github.com/cockroachdb/cockroach/pkg/build.channel=source-archive"  -X "github.com/cockroachdb/cockroach/pkg/build.utcTime=2022/08/17 18:34:19"' -v ./pkg/sql/opt/optgen/cmd/optgen
github.com/cockroachdb/cockroach/pkg/cmd/protoc-gen-gogoroach
github.com/cockroachdb/cockroach/pkg/sql/opt/optgen/lang
github.com/cockroachdb/cockroach/pkg/sql/opt/optgen/cmd/optgen
build/node-run.sh -C pkg/ui yarn install --ignore-optional --offline
yarn install v1.22.5
[1/4] Resolving packages...
warning Resolution field "protobufjs@6.8.6" is incompatible with requested version "protobufjs@6.8.8"
rm -rf /home/dap/garbage-compactor/cockroach/cache/gopath/native/x86_64-pc-solaris2.11/libedit
mkdir -p /home/dap/garbage-compactor/cockroach/cache/gopath/native/x86_64-pc-solaris2.11/libedit
cd /home/dap/garbage-compactor/cockroach/cache/gopath/native/x86_64-pc-solaris2.11/libedit && /home/dap/garbage-compactor/cockroach/cache/gopath/src/github.com/cockroachdb/cockroach/c-deps/libedit/configure   --disable-examples --disable-shared
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... warning Resolution field "fbjs@0.8.17" is incompatible with requested version "fbjs@^0.6.1"

checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether gcc accepts -g... yes
checking for gcc option to enable C11 features... none needed
checking whether gcc understands -c and -o together... yes
checking for stdio.h... [2/4] Fetching packages...
yes
checking for stdlib.h... warning Pattern ["@cockroachlabs/crdb-protobuf-client@link:./workspaces/db-console/src/js"] is trying to unpack in the same destination "/home/dap/garbage-compactor/cockroach/cache/yarncache/v6/npm-@cockroachlabs-crdb-protobuf-client-0.0.12/node_modules/@cockroachlabs/crdb-protobuf-client" as pattern ["@cockroachlabs/crdb-protobuf-client@link:workspaces/db-console/src/js"]. This could result in non-deterministic behavior, skipping.
warning Pattern ["@cockroachlabs/cluster-ui@link:workspaces/cluster-ui"] is trying to unpack in the same destination "/home/dap/garbage-compactor/cockroach/cache/yarncache/v6/npm-@cockroachlabs-cluster-ui-22.1.6/node_modules/@cockroachlabs/cluster-ui" as pattern ["@cockroachlabs/cluster-ui@22.1.6","@cockroachlabs/cluster-ui@22.1.6"]. This could result in non-deterministic behavior, skipping.
yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for wchar.h... yes
checking for minix/config.h... no
checking for vfork.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking whether _XOPEN_SOURCE should be defined... no
checking for a BSD-compatible install... /home/dap/garbage-compactor/cockroach/cache/workaround/install: line 2: exec: ginstall: not found
/bin/install -c
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /usr/gnu/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports the include directive... yes (GNU style)
checking whether make supports nested variables... yes
checking dependency style of gcc... gcc3
checking build system type... x86_64-pc-solaris2.11
checking host system type... x86_64-pc-solaris2.11
checking how to print strings... print -r
checking for a sed that does not truncate output... /home/dap/garbage-compactor/cockroach/cache/workaround/sed
checking for grep that handles long lines and -e... /home/dap/garbage-compactor/cockroach/cache/workaround/grep
checking for egrep... /home/dap/garbage-compactor/cockroach/cache/workaround/grep -E
checking for fgrep... /home/dap/garbage-compactor/cockroach/cache/workaround/grep -F
checking for ld used by gcc... /bin/ld
checking if the linker (/bin/ld) is GNU ld... no
checking for BSD- or MS-compatible name lister (nm)... /bin/nm -p
checking the name lister (/bin/nm -p) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 786240
checking how to convert x86_64-pc-solaris2.11 file names to x86_64-pc-solaris2.11 format... func_convert_file_noop
checking how to convert x86_64-pc-solaris2.11 file names to toolchain format... func_convert_file_noop
checking for /bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... print -r --
checking for ar... ar
checking for archiver @FILE support... no
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /bin/nm -p output from gcc object... ok
checking for sysroot... no
checking for a working dd... /bin/dd
checking how to truncate binary pipes... /bin/dd bs=4096 count=1
checking for mt... mt
checking if mt is a manifest tool... no
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/bin/ld -64) supports shared libraries... yes
checking dynamic linker characteristics... solaris2.11 ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... no
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... no
checking whether to build static libraries... yes
checking whether make supports nested variables... (cached) yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking whether ln -s works... yes
checking for gawk... (cached) gawk
checking for nroff... /usr/bin/nroff
checking for tgetent in -lncurses... yes
checking if you want wide-character code... no
configure: WARNING: --enable-widec is deprecated, wide-character/UTF-8 is always enabled
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking for egrep... (cached) /home/dap/garbage-compactor/cockroach/cache/workaround/grep -E
checking for sys/wait.h that is POSIX.1 compatible... yes
checking for fcntl.h... yes
checking for limits.h... yes
checking for malloc.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for sys/ioctl.h... yes
checking for sys/param.h... yes
checking for unistd.h... (cached) yes
checking for curses.h... yes
checking for ncurses.h... no
checking for sys/cdefs.h... no
checking for curses.h... (cached) yes
checking for termios.h... yes
checking for term.h... yes
checking for struct dirent.d_namlen... no
checking for an ANSI C-conforming const... yes
checking for pid_t... yes
checking for size_t... yes
checking for u_int32_t... no
checking whether closedir returns void... no
checking for fork... yes
checking for vfork... yes
checking for working fork... yes
checking for working vfork... (cached) yes
checking how to run the C preprocessor... gcc -E
checking whether gcc needs -traditional... no
checking return type of signal handlers... void
checking whether lstat correctly handles trailing slash... yes
checking whether stat accepts an empty string... no
checking for endpwent... yes
checking for isascii... yes
checking for memchr... yes
checking for memset... yes
checking for re_comp... yes
checking for regcomp... yes
checking for strcasecmp... yes
checking for strchr... yes
checking for strcspn... yes
checking for strdup... yes
checking for strerror... yes
checking for strrchr... yes
checking for strstr... yes
checking for strtol... yes
checking for issetugid... yes
checking for wcsdup... yes
checking for strlcpy... yes
checking for strlcat... yes
checking for getline... yes
checking for vis... no
checking for strvis... no
checking for strunvis... no
checking for __secure_getenv... no
checking for secure_getenv... no
checking for strlcpy... (cached) yes
checking for strlcat... (cached) yes
checking for vis... (cached) no
checking for unvis... no
checking whether getpwnam_r and getpwuid_r are posix like... yes
checking whether getpwnam_r and getpwuid_r are posix _draft_ like... no
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating libedit.pc
config.status: creating src/Makefile
config.status: creating doc/Makefile
config.status: creating examples/Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
[  1%] Building C object src/CMakeFiles/proj.dir/nad_init.c.o
[  1%] Building C object src/CMakeFiles/proj.dir/PJ_aea.c.o
[  2%] Building C object src/CMakeFiles/proj.dir/PJ_aeqd.c.o
[  2%] Building C object src/CMakeFiles/proj.dir/PJ_airy.c.o
[  3%] Building C object src/CMakeFiles/proj.dir/PJ_aitoff.c.o
[  4%] Building C object src/CMakeFiles/proj.dir/PJ_august.c.o
[  4%] Building C object src/CMakeFiles/proj.dir/PJ_bacon.c.o
[  5%] Building C object src/CMakeFiles/proj.dir/PJ_bipc.c.o
[  5%] Building C object src/CMakeFiles/proj.dir/PJ_boggs.c.o
[  6%] Building C object src/CMakeFiles/proj.dir/PJ_bonne.c.o
[  6%] Building C object src/CMakeFiles/proj.dir/PJ_calcofi.c.o
[  7%] Building C object src/CMakeFiles/proj.dir/PJ_cass.c.o
[  7%] Building C object src/CMakeFiles/proj.dir/PJ_cc.c.o
[  8%] Building C object src/CMakeFiles/proj.dir/PJ_cea.c.o
[  9%] Building C object src/CMakeFiles/proj.dir/PJ_chamb.c.o
[  9%] Building C object src/CMakeFiles/proj.dir/PJ_collg.c.o
[ 10%] Building C object src/CMakeFiles/proj.dir/PJ_comill.c.o
[ 10%] Building C object src/CMakeFiles/proj.dir/PJ_crast.c.o
[ 11%] Building C object src/CMakeFiles/proj.dir/PJ_denoy.c.o
[ 11%] Building C object src/CMakeFiles/proj.dir/PJ_eck1.c.o
[ 13%] Building C object src/CMakeFiles/proj.dir/PJ_eck2.c.o
[ 13%] Building C object src/CMakeFiles/proj.dir/PJ_eck3.c.o
[ 14%] Building C object src/CMakeFiles/proj.dir/PJ_eck4.c.o
[ 14%] Building C object src/CMakeFiles/proj.dir/PJ_eck5.c.o
[ 15%] Building C object src/CMakeFiles/proj.dir/PJ_eqc.c.o
[ 16%] Building C object src/CMakeFiles/proj.dir/PJ_eqdc.c.o
[ 16%] Building C object src/CMakeFiles/proj.dir/PJ_fahey.c.o
[ 17%] Building C object src/CMakeFiles/proj.dir/PJ_fouc_s.c.o
[ 17%] Building C object src/CMakeFiles/proj.dir/PJ_gall.c.o
[ 18%] Building C object src/CMakeFiles/proj.dir/PJ_geos.c.o
[ 18%] Building C object src/CMakeFiles/proj.dir/PJ_gins8.c.o
[ 19%] Building C object src/CMakeFiles/proj.dir/PJ_gnom.c.o
[ 19%] Building C object src/CMakeFiles/proj.dir/PJ_gn_sinu.c.o
[ 20%] Building C object src/CMakeFiles/proj.dir/PJ_goode.c.o
[ 21%] Building C object src/CMakeFiles/proj.dir/PJ_gstmerc.c.o
[ 21%] Building C object src/CMakeFiles/proj.dir/PJ_hammer.c.o
[ 22%] Building C object src/CMakeFiles/proj.dir/PJ_hatano.c.o
[ 22%] Building C object src/CMakeFiles/proj.dir/PJ_igh.c.o
[ 23%] Building C object src/CMakeFiles/proj.dir/PJ_isea.c.o
[ 23%] Building C object src/CMakeFiles/proj.dir/PJ_imw_p.c.o
[ 25%] Building C object src/CMakeFiles/proj.dir/PJ_krovak.c.o
[ 25%] Building C object src/CMakeFiles/proj.dir/PJ_labrd.c.o
[ 26%] Building C object src/CMakeFiles/proj.dir/PJ_laea.c.o
[ 26%] Building C object src/CMakeFiles/proj.dir/PJ_lagrng.c.o
[ 27%] Building C object src/CMakeFiles/proj.dir/PJ_larr.c.o
[ 28%] Building C object src/CMakeFiles/proj.dir/PJ_lask.c.o
[ 28%] Building C object src/CMakeFiles/proj.dir/PJ_lcca.c.o
[ 29%] Building C object src/CMakeFiles/proj.dir/PJ_lcc.c.o
[ 29%] Building C object src/CMakeFiles/proj.dir/PJ_loxim.c.o
[ 30%] Building C object src/CMakeFiles/proj.dir/PJ_lsat.c.o
[ 30%] Building C object src/CMakeFiles/proj.dir/PJ_misrsom.c.o
[ 31%] Building C object src/CMakeFiles/proj.dir/PJ_mbt_fps.c.o
[ 31%] Building C object src/CMakeFiles/proj.dir/PJ_mbtfpp.c.o
[ 32%] Building C object src/CMakeFiles/proj.dir/PJ_mbtfpq.c.o
[ 33%] Building C object src/CMakeFiles/proj.dir/PJ_merc.c.o
[ 33%] Building C object src/CMakeFiles/proj.dir/PJ_mill.c.o
[ 34%] Building C object src/CMakeFiles/proj.dir/PJ_mod_ster.c.o
[ 34%] Building C object src/CMakeFiles/proj.dir/PJ_moll.c.o
[ 35%] Building C object src/CMakeFiles/proj.dir/PJ_natearth.c.o
[ 35%] Building C object src/CMakeFiles/proj.dir/PJ_natearth2.c.o
[ 36%] Building C object src/CMakeFiles/proj.dir/PJ_nell.c.o
[ 36%] Building C object src/CMakeFiles/proj.dir/PJ_nell_h.c.o
[ 38%] Building C object src/CMakeFiles/proj.dir/PJ_nocol.c.o
[ 38%] Building C object src/CMakeFiles/proj.dir/PJ_nsper.c.o
[ 39%] Building C object src/CMakeFiles/proj.dir/PJ_nzmg.c.o
[ 40%] Building C object src/CMakeFiles/proj.dir/PJ_ob_tran.c.o
[ 40%] Building C object src/CMakeFiles/proj.dir/PJ_ocea.c.o
[ 41%] Building C object src/CMakeFiles/proj.dir/PJ_oea.c.o
[ 41%] Building C object src/CMakeFiles/proj.dir/PJ_omerc.c.o
[ 42%] Building C object src/CMakeFiles/proj.dir/PJ_ortho.c.o
[ 42%] Building C object src/CMakeFiles/proj.dir/PJ_patterson.c.o
[ 43%] Building C object src/CMakeFiles/proj.dir/PJ_poly.c.o
[ 43%] Building C object src/CMakeFiles/proj.dir/PJ_putp2.c.o
[ 44%] Building C object src/CMakeFiles/proj.dir/PJ_putp3.c.o
[ 45%] Building C object src/CMakeFiles/proj.dir/PJ_putp4p.c.o
[ 45%] Building C object src/CMakeFiles/proj.dir/PJ_putp5.c.o
[ 46%] Building C object src/CMakeFiles/proj.dir/PJ_putp6.c.o
[ 46%] Building C object src/CMakeFiles/proj.dir/PJ_qsc.c.o
[ 47%] Building C object src/CMakeFiles/proj.dir/PJ_robin.c.o
[ 47%] Building C object src/CMakeFiles/proj.dir/PJ_rpoly.c.o
[ 48%] Building C object src/CMakeFiles/proj.dir/PJ_sch.c.o
[ 48%] Building C object src/CMakeFiles/proj.dir/PJ_sconics.c.o
[ 50%] Building C object src/CMakeFiles/proj.dir/PJ_somerc.c.o
[ 50%] Building C object src/CMakeFiles/proj.dir/PJ_sterea.c.o
[ 51%] Building C object src/CMakeFiles/proj.dir/PJ_stere.c.o
[ 52%] Building C object src/CMakeFiles/proj.dir/PJ_sts.c.o
[ 52%] Building C object src/CMakeFiles/proj.dir/PJ_tcc.c.o
[ 53%] Building C object src/CMakeFiles/proj.dir/PJ_tcea.c.o
[ 53%] Building C object src/CMakeFiles/proj.dir/PJ_times.c.o
[ 54%] Building C object src/CMakeFiles/proj.dir/PJ_tmerc.c.o
[ 54%] Building C object src/CMakeFiles/proj.dir/PJ_tpeqd.c.o
[ 55%] Building C object src/CMakeFiles/proj.dir/PJ_urm5.c.o
[ 55%] Building C object src/CMakeFiles/proj.dir/PJ_urmfps.c.o
[ 56%] Building C object src/CMakeFiles/proj.dir/PJ_vandg.c.o
[ 56%] Building C object src/CMakeFiles/proj.dir/PJ_vandg2.c.o
[ 57%] Building C object src/CMakeFiles/proj.dir/PJ_vandg4.c.o
[ 58%] Building C object src/CMakeFiles/proj.dir/PJ_wag2.c.o
[ 58%] Building C object src/CMakeFiles/proj.dir/PJ_wag3.c.o
[ 59%] Building C object src/CMakeFiles/proj.dir/PJ_wag7.c.o
[ 59%] Building C object src/CMakeFiles/proj.dir/PJ_wink1.c.o
[ 60%] Building C object src/CMakeFiles/proj.dir/PJ_wink2.c.o
[ 60%] Building C object src/CMakeFiles/proj.dir/proj_etmerc.c.o
[ 61%] Building C object src/CMakeFiles/proj.dir/aasincos.c.o
[ 61%] Building C object src/CMakeFiles/proj.dir/adjlon.c.o
[ 63%] Building C object src/CMakeFiles/proj.dir/bch2bps.c.o
[ 64%] Building C object src/CMakeFiles/proj.dir/bchgen.c.o
[ 64%] Building C object src/CMakeFiles/proj.dir/biveval.c.o
[ 65%] Building C object src/CMakeFiles/proj.dir/dmstor.c.o
[ 65%] Building C object src/CMakeFiles/proj.dir/emess.c.o
[ 66%] Building C object src/CMakeFiles/proj.dir/geocent.c.o
[ 66%] Building C object src/CMakeFiles/proj.dir/geodesic.c.o
info fsevents@2.3.2: The platform "sunos" is incompatible with this module.
info "fsevents@2.3.2" is an optional dependency and failed compatibility check. Excluding it from installation.
info fsevents@1.2.13: The platform "sunos" is incompatible with this module.
info "fsevents@1.2.13" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
warning " > @typescript-eslint/eslint-plugin@4.29.1" has unmet peer dependency "eslint@^5.0.0 || ^6.0.0 || ^7.0.0".
warning "@typescript-eslint/eslint-plugin > @typescript-eslint/experimental-utils@4.29.1" has unmet peer dependency "eslint@*".
warning "@typescript-eslint/eslint-plugin > tsutils@3.21.0" has unmet peer dependency "typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta".
warning "@typescript-eslint/eslint-plugin > @typescript-eslint/experimental-utils > eslint-utils@3.0.0" has unmet peer dependency "eslint@>=5".
warning " > @typescript-eslint/parser@4.29.1" has unmet peer dependency "eslint@^5.0.0 || ^6.0.0 || ^7.0.0".
warning " > @bazel/typescript@4.1.0" has unmet peer dependency "typescript@>=3.0.0 <4.4.0".
warning " > @cockroachlabs/cluster-ui@22.1.6" has unmet peer dependency "react@>=16.12.0".
warning " > @cockroachlabs/cluster-ui@22.1.6" has unmet peer dependency "react-dom@>=16.12.0".
warning " > @cockroachlabs/cluster-ui@22.1.6" has unmet peer dependency "react-redux@>=7.1.3".
warning " > @cockroachlabs/cluster-ui@22.1.6" has unmet peer dependency "react-router-dom@>=5.1.2".
warning " > @cockroachlabs/cluster-ui@22.1.6" has unmet peer dependency "redux@>=4.0.5".
warning " > @cockroachlabs/cluster-ui@22.1.6" has unmet peer dependency "redux-saga@>=1.1.3".
warning "workspace-aggregator-d1aa14e5-e9ca-4199-bf54-29de187e75a0 > @cockroachlabs/cluster-ui > @cockroachlabs/eslint-config@0.1.11" has incorrect peer dependency "@typescript-eslint/eslint-plugin@^2.6.1".
warning "workspace-aggregator-d1aa14e5-e9ca-4199-bf54-29de187e75a0 > @cockroachlabs/cluster-ui > connected-react-router@6.9.1" has unmet peer dependency "history@^4.7.2".
warning "workspace-aggregator-d1aa14e5-e9ca-4199-bf54-29de187e75a0 > @cockroachlabs/cluster-ui > connected-react-router@6.9.1" has unmet peer dependency "react-router@^4.3.1 || ^5.0.0".
warning "workspace-aggregator-d1aa14e5-e9ca-4199-bf54-29de187e75a0 > @cockroachlabs/cluster-ui > moment-locales-webpack-plugin@1.2.0" has unmet peer dependency "moment@^2.8.0".
warning "workspace-aggregator-d1aa14e5-e9ca-4199-bf54-29de187e75a0 > @cockroachlabs/cluster-ui > react-test-renderer@16.14.0" has incorrect peer dependency "react@^16.14.0".
warning "workspace-aggregator-d1aa14e5-e9ca-4199-bf54-29de187e75a0 > db-console > html-webpack-template@6.2.0" has unmet peer dependency "html-webpack-plugin@2.x || ^3".
warning "workspace-aggregator-d1aa14e5-e9ca-4199-bf54-29de187e75a0 > db-console > cypress-image-snapshot > jest-image-snapshot@4.2.0" has unmet peer dependency "jest@>=20 <=26".
warning "workspace-aggregator-d1aa14e5-e9ca-4199-bf54-29de187e75a0 > db-console > karma-webpack > webpack-dev-middleware@1.12.2" has incorrect peer dependency "webpack@^1.0.0 || ^2.0.0 || ^3.0.0".
warning "workspace-aggregator-d1aa14e5-e9ca-4199-bf54-29de187e75a0 > @cockroachlabs/cluster-ui > @storybook/react > @storybook/react-docgen-typescript-plugin > react-docgen-typescript@2.0.0" has incorrect peer dependency "typescript@>= 4.3.x".
[ 67%] Building C object src/CMakeFiles/proj.dir/mk_cheby.c.o
[ 67%] Building C object src/CMakeFiles/proj.dir/nad_cvt.c.o
[ 68%] Building C object src/CMakeFiles/proj.dir/nad_intr.c.o
[ 68%] Building C object src/CMakeFiles/proj.dir/pj_apply_gridshift.c.o
[ 69%] Building C object src/CMakeFiles/proj.dir/pj_apply_vgridshift.c.o
[ 70%] Building C object src/CMakeFiles/proj.dir/pj_auth.c.o
[ 70%] Building C object src/CMakeFiles/proj.dir/pj_ctx.c.o
[ 71%] Building C object src/CMakeFiles/proj.dir/pj_fileapi.c.o
[ 71%] Building C object src/CMakeFiles/proj.dir/pj_datum_set.c.o
[ 72%] Building C object src/CMakeFiles/proj.dir/pj_datums.c.o
[ 72%] Building C object src/CMakeFiles/proj.dir/pj_deriv.c.o
[ 73%] Building C object src/CMakeFiles/proj.dir/pj_ell_set.c.o
[ 73%] Building C object src/CMakeFiles/proj.dir/pj_ellps.c.o
[ 75%] Building C object src/CMakeFiles/proj.dir/pj_errno.c.o
[ 76%] Building C object src/CMakeFiles/proj.dir/pj_factors.c.o
[ 76%] Building C object src/CMakeFiles/proj.dir/pj_fwd.c.o
[ 77%] Building C object src/CMakeFiles/proj.dir/pj_fwd3d.c.o
[ 77%] Building C object src/CMakeFiles/proj.dir/pj_gauss.c.o
[ 78%] Building C object src/CMakeFiles/proj.dir/pj_gc_reader.c.o
[ 78%] Building C object src/CMakeFiles/proj.dir/pj_generic_selftest.c.o
[ 79%] Building C object src/CMakeFiles/proj.dir/pj_geocent.c.o
[ 79%] Building C object src/CMakeFiles/proj.dir/pj_gridcatalog.c.o
[ 80%] Building C object src/CMakeFiles/proj.dir/pj_gridinfo.c.o
[ 80%] Building C object src/CMakeFiles/proj.dir/pj_gridlist.c.o
[ 81%] Building C object src/CMakeFiles/proj.dir/PJ_healpix.c.o
[ 82%] Building C object src/CMakeFiles/proj.dir/pj_init.c.o
[ 82%] Building C object src/CMakeFiles/proj.dir/pj_initcache.c.o
[ 83%] Building C object src/CMakeFiles/proj.dir/pj_inv.c.o
[ 83%] Building C object src/CMakeFiles/proj.dir/pj_inv3d.c.o
[ 84%] Building C object src/CMakeFiles/proj.dir/pj_latlong.c.o
[ 84%] Building C object src/CMakeFiles/proj.dir/pj_list.c.o
[ 85%] Building C object src/CMakeFiles/proj.dir/pj_log.c.o
[ 85%] Building C object src/CMakeFiles/proj.dir/pj_malloc.c.o
[ 86%] Building C object src/CMakeFiles/proj.dir/pj_mlfn.c.o
[ 88%] Building C object src/CMakeFiles/proj.dir/pj_msfn.c.o
[ 88%] Building C object src/CMakeFiles/proj.dir/pj_mutex.c.o
[ 89%] Building C object src/CMakeFiles/proj.dir/pj_open_lib.c.o
[ 89%] Building C object src/CMakeFiles/proj.dir/pj_param.c.o
[ 90%] Building C object src/CMakeFiles/proj.dir/pj_phi2.c.o
[ 90%] Building C object src/CMakeFiles/proj.dir/pj_pr_list.c.o
[ 91%] Building C object src/CMakeFiles/proj.dir/pj_qsfn.c.o
[ 91%] Building C object src/CMakeFiles/proj.dir/pj_release.c.o
[ 92%] Building C object src/CMakeFiles/proj.dir/pj_run_selftests.c.o
[ 92%] Building C object src/CMakeFiles/proj.dir/pj_strerrno.c.o
[ 93%] Building C object src/CMakeFiles/proj.dir/pj_transform.c.o
[ 94%] Building C object src/CMakeFiles/proj.dir/pj_tsfn.c.o
[ 94%] Building C object src/CMakeFiles/proj.dir/pj_units.c.o
[ 95%] Building C object src/CMakeFiles/proj.dir/pj_utils.c.o
[ 95%] Building C object src/CMakeFiles/proj.dir/pj_zpoly1.c.o
[ 96%] Building C object src/CMakeFiles/proj.dir/proj_mdist.c.o
[ 96%] Building C object src/CMakeFiles/proj.dir/proj_rouss.c.o
[ 97%] Building C object src/CMakeFiles/proj.dir/rtodms.c.o
[ 97%] Building C object src/CMakeFiles/proj.dir/vector1.c.o
[ 98%] Building C object src/CMakeFiles/proj.dir/pj_strtod.c.o
[100%] Linking C static library ../lib/libproj.a
[  1%] Building CXX object CMakeFiles/geos.dir/src/algorithm/Angle.cpp.o
[  1%] Building CXX object CMakeFiles/geos.dir/src/algorithm/Area.cpp.o
[  1%] Building CXX object CMakeFiles/geos.dir/src/algorithm/BoundaryNodeRule.cpp.o
[  1%] Building CXX object CMakeFiles/geos.dir/src/algorithm/CGAlgorithmsDD.cpp.o
[  1%] Building CXX object CMakeFiles/geos.dir/src/algorithm/Centroid.cpp.o
[  3%] Building CXX object CMakeFiles/geos.dir/src/algorithm/ConvexHull.cpp.o
[  3%] Building CXX object CMakeFiles/geos.dir/src/algorithm/Distance.cpp.o
[  3%] Building CXX object CMakeFiles/geos.dir/src/algorithm/HCoordinate.cpp.o
[  3%] Building CXX object CMakeFiles/geos.dir/src/algorithm/InteriorPointArea.cpp.o
[  3%] Building CXX object CMakeFiles/geos.dir/src/algorithm/InteriorPointLine.cpp.o
[  4%] Building CXX object CMakeFiles/geos.dir/src/algorithm/InteriorPointPoint.cpp.o
[  4%] Building CXX object CMakeFiles/geos.dir/src/algorithm/Intersection.cpp.o
[  4%] Building CXX object CMakeFiles/geos.dir/src/algorithm/Length.cpp.o
[  4%] Building CXX object CMakeFiles/geos.dir/src/algorithm/LineIntersector.cpp.o
[  4%] Building CXX object CMakeFiles/geos.dir/src/algorithm/MinimumBoundingCircle.cpp.o
[  6%] Building CXX object CMakeFiles/geos.dir/src/algorithm/MinimumDiameter.cpp.o
[4/4] Building fresh packages...
[  6%] Building CXX object CMakeFiles/geos.dir/src/algorithm/NotRepresentableException.cpp.o
[  6%] Building CXX object CMakeFiles/geos.dir/src/algorithm/Orientation.cpp.o
[  6%] Building CXX object CMakeFiles/geos.dir/src/algorithm/PointLocation.cpp.o
[  6%] Building CXX object CMakeFiles/geos.dir/src/algorithm/PointLocator.cpp.o
[  8%] Building CXX object CMakeFiles/geos.dir/src/algorithm/RayCrossingCounter.cpp.o
[  8%] Building CXX object CMakeFiles/geos.dir/src/algorithm/RayCrossingCounterDD.cpp.o
[  8%] Building CXX object CMakeFiles/geos.dir/src/algorithm/RobustDeterminant.cpp.o
[  8%] Building CXX object CMakeFiles/geos.dir/src/algorithm/SimplePointInRing.cpp.o
[  8%] Building CXX object CMakeFiles/geos.dir/src/algorithm/distance/DiscreteFrechetDistance.cpp.o
[  9%] Building CXX object CMakeFiles/geos.dir/src/algorithm/distance/DiscreteHausdorffDistance.cpp.o
[  9%] Building CXX object CMakeFiles/geos.dir/src/algorithm/distance/DistanceToPoint.cpp.o
[  9%] Building CXX object CMakeFiles/geos.dir/src/algorithm/locate/IndexedPointInAreaLocator.cpp.o
Done in 35.64s.
rm -rf pkg/ui/node_modules/@types/node
touch pkg/ui/yarn.installed
find ./pkg -name node_modules -prune -o -type f -name '*.pb.go' -exec rm {} +
set -e; for dir in ./pkg/acceptance/cluster/ ./pkg/blobs/blobspb/ ./pkg/build/ ./pkg/ccl/backupccl/ ./pkg/ccl/baseccl/ ./pkg/ccl/sqlproxyccl/tenant/ ./pkg/ccl/storageccl/engineccl/enginepbccl/ ./pkg/ccl/streamingccl/streampb/ ./pkg/ccl/utilccl/licenseccl/ ./pkg/clusterversion/ ./pkg/config/ ./pkg/config/zonepb/ ./pkg/geo/geoindex/ ./pkg/geo/geopb/ ./pkg/gossip/ ./pkg/jobs/jobspb/ ./pkg/kv/kvnemesis/ ./pkg/kv/kvserver/ ./pkg/kv/kvserver/closedts/ctpb/ ./pkg/kv/kvserver/concurrency/lock/ ./pkg/kv/kvserver/concurrency/poison/ ./pkg/kv/kvserver/kvserverpb/ ./pkg/kv/kvserver/liveness/livenesspb/ ./pkg/kv/kvserver/loqrecovery/loqrecoverypb/ ./pkg/kv/kvserver/protectedts/ptpb/ ./pkg/kv/kvserver/protectedts/ptstorage/ ./pkg/kv/kvserver/readsummary/rspb/ ./pkg/roachpb/ ./pkg/rpc/ ./pkg/server/diagnostics/diagnosticspb/ ./pkg/server/serverpb/ ./pkg/server/status/statuspb/ ./pkg/settings/ ./pkg/sql/catalog/catpb/ ./pkg/sql/catalog/descpb/ ./pkg/sql/contentionpb/ ./pkg/sql/execinfrapb/ ./pkg/sql/inverted/ ./pkg/sql/lex/ ./pkg/sql/pgwire/pgerror/ ./pkg/sql/protoreflect/test/ ./pkg/sql/rowenc/rowencpb/ ./pkg/sql/schemachanger/scpb/ ./pkg/sql/sessiondatapb/ ./pkg/sql/sqlstats/persistedsqlstats/ ./pkg/sql/stats/ ./pkg/sql/types/ ./pkg/startupmigrations/leasemanager/ ./pkg/storage/enginepb/ ./pkg/testutils/grpcutils/ ./pkg/ts/catalog/ ./pkg/ts/tspb/ ./pkg/util/ ./pkg/util/duration/ ./pkg/util/hlc/ ./pkg/util/log/eventpb/ ./pkg/util/log/logpb/ ./pkg/util/metric/ ./pkg/util/optional/ ./pkg/util/protoutil/ ./pkg/util/timeutil/pgdate/ ./pkg/util/tracing/tracingpb/ ./pkg/util/tracing/tracingservicepb/; do \
  buf protoc -Ipkg -I./vendor/github.com/gogo/protobuf -I./vendor/go.etcd.io -I./vendor/github.com/prometheus/client_model -I./vendor/github.com/grpc-ecosystem/grpc-gateway/third_party/googleapis -I./vendor/github.com/cockroachdb/errors --gogoroach_out=Mgoogle/api/annotations.proto=google.golang.org/genproto/googleapis/api/annotations,Mgoogle/protobuf/timestamp.proto=github.com/gogo/protobuf/types,Mgoogle/protobuf/any.proto=github.com/gogo/protobuf/types,Mgoogle/protobuf/duration.proto=github.com/gogo/protobuf/types,plugins=grpc,import_prefix=github.com/cockroachdb/cockroach/pkg/:./pkg $dir/*.proto; \
done
[  9%] Building CXX object CMakeFiles/geos.dir/src/algorithm/locate/PointOnGeometryLocator.cpp.o
[  9%] Building CXX object CMakeFiles/geos.dir/src/algorithm/locate/SimplePointInAreaLocator.cpp.o
[ 11%] Building CXX object CMakeFiles/geos.dir/src/geom/Coordinate.cpp.o
[ 11%] Building CXX object CMakeFiles/geos.dir/src/geom/CoordinateArraySequence.cpp.o
[ 11%] Building CXX object CMakeFiles/geos.dir/src/geom/CoordinateArraySequenceFactory.cpp.o
[ 11%] Building CXX object CMakeFiles/geos.dir/src/geom/CoordinateSequence.cpp.o
[ 11%] Building CXX object CMakeFiles/geos.dir/src/geom/DefaultCoordinateSequenceFactory.cpp.o
[ 13%] Building CXX object CMakeFiles/geos.dir/src/geom/Dimension.cpp.o
[ 13%] Building CXX object CMakeFiles/geos.dir/src/geom/Envelope.cpp.o
[ 13%] Building CXX object CMakeFiles/geos.dir/src/geom/Geometry.cpp.o
[ 13%] Building CXX object CMakeFiles/geos.dir/src/geom/GeometryCollection.cpp.o
[ 13%] Building CXX object CMakeFiles/geos.dir/src/geom/GeometryComponentFilter.cpp.o
[ 14%] Building CXX object CMakeFiles/geos.dir/src/geom/GeometryFactory.cpp.o
[ 14%] Building CXX object CMakeFiles/geos.dir/src/geom/IntersectionMatrix.cpp.o
[ 14%] Building CXX object CMakeFiles/geos.dir/src/geom/LineSegment.cpp.o
[ 14%] Building CXX object CMakeFiles/geos.dir/src/geom/LineString.cpp.o
[ 14%] Building CXX object CMakeFiles/geos.dir/src/geom/LinearRing.cpp.o
gofmt -s -w ./pkg/acceptance/cluster/testconfig.pb.go ./pkg/blobs/blobspb/blobs.pb.go ./pkg/build/info.pb.go ./pkg/ccl/backupccl/backup.pb.go ./pkg/ccl/baseccl/encryption_options.pb.go ./pkg/ccl/sqlproxyccl/tenant/directory.pb.go ./pkg/ccl/storageccl/engineccl/enginepbccl/key_registry.pb.go ./pkg/ccl/storageccl/engineccl/enginepbccl/stats.pb.go ./pkg/ccl/streamingccl/streampb/stream.pb.go ./pkg/ccl/utilccl/licenseccl/license.pb.go ./pkg/clusterversion/cluster_version.pb.go ./pkg/config/system.pb.go ./pkg/config/zonepb/zone.pb.go ./pkg/geo/geoindex/config.pb.go ./pkg/geo/geopb/geopb.pb.go ./pkg/gossip/gossip.pb.go ./pkg/jobs/jobspb/jobs.pb.go ./pkg/jobs/jobspb/schedule.pb.go ./pkg/kv/kvnemesis/operations.pb.go ./pkg/kv/kvserver/api.pb.go ./pkg/kv/kvserver/closedts/ctpb/service.pb.go ./pkg/kv/kvserver/concurrency/lock/lock_waiter.pb.go ./pkg/kv/kvserver/concurrency/lock/locking.pb.go ./pkg/kv/kvserver/concurrency/poison/error.pb.go ./pkg/kv/kvserver/concurrency/poison/policy.pb.go ./pkg/kv/kvserver/kvserverpb/lease_status.pb.go ./pkg/kv/kvserver/kvserverpb/proposer_kv.pb.go ./pkg/kv/kvserver/kvserverpb/raft.pb.go ./pkg/kv/kvserver/kvserverpb/range_log.pb.go ./pkg/kv/kvserver/kvserverpb/state.pb.go ./pkg/kv/kvserver/liveness/livenesspb/liveness.pb.go ./pkg/kv/kvserver/loqrecovery/loqrecoverypb/recovery.pb.go ./pkg/kv/kvserver/protectedts/ptpb/protectedts.pb.go ./pkg/kv/kvserver/protectedts/ptstorage/storage.pb.go ./pkg/kv/kvserver/readsummary/rspb/summary.pb.go ./pkg/kv/kvserver/storage_services.pb.go ./pkg/roachpb/api.pb.go ./pkg/roachpb/app_stats.pb.go ./pkg/roachpb/data.pb.go ./pkg/roachpb/errors.pb.go ./pkg/roachpb/index_usage_stats.pb.go ./pkg/roachpb/internal.pb.go ./pkg/roachpb/internal_raft.pb.go ./pkg/roachpb/io-formats.pb.go ./pkg/roachpb/metadata.pb.go ./pkg/roachpb/span_config.pb.go ./pkg/rpc/heartbeat.pb.go ./pkg/server/diagnostics/diagnosticspb/diagnostics.pb.go ./pkg/server/serverpb/admin.pb.go ./pkg/server/serverpb/authentication.pb.go ./pkg/server/serverpb/init.pb.go ./pkg/server/serverpb/migration.pb.go ./pkg/server/serverpb/status.pb.go ./pkg/server/status/statuspb/status.pb.go ./pkg/settings/encoding.pb.go ./pkg/sql/catalog/catpb/catalog.pb.go ./pkg/sql/catalog/catpb/privilege.pb.go ./pkg/sql/catalog/descpb/encoded_datum.pb.go ./pkg/sql/catalog/descpb/index_fetch.pb.go ./pkg/sql/catalog/descpb/join_type.pb.go ./pkg/sql/catalog/descpb/locking.pb.go ./pkg/sql/catalog/descpb/structured.pb.go ./pkg/sql/catalog/descpb/tenant.pb.go ./pkg/sql/contentionpb/contention.pb.go ./pkg/sql/execinfrapb/api.pb.go ./pkg/sql/execinfrapb/component_stats.pb.go ./pkg/sql/execinfrapb/data.pb.go ./pkg/sql/execinfrapb/processors.pb.go ./pkg/sql/execinfrapb/processors_base.pb.go ./pkg/sql/execinfrapb/processors_bulk_io.pb.go ./pkg/sql/execinfrapb/processors_changefeeds.pb.go ./pkg/sql/execinfrapb/processors_sql.pb.go ./pkg/sql/execinfrapb/processors_table_stats.pb.go ./pkg/sql/inverted/span_expression.pb.go ./pkg/sql/lex/encode.pb.go ./pkg/sql/pgwire/pgerror/errors.pb.go ./pkg/sql/protoreflect/test/test.pb.go ./pkg/sql/rowenc/rowencpb/index_encoding.pb.go ./pkg/sql/schemachanger/scpb/elements.pb.go ./pkg/sql/schemachanger/scpb/scpb.pb.go ./pkg/sql/sessiondatapb/local_only_session_data.pb.go ./pkg/sql/sessiondatapb/session_data.pb.go ./pkg/sql/sessiondatapb/session_migration.pb.go ./pkg/sql/sessiondatapb/session_revival_token.pb.go ./pkg/sql/sqlstats/persistedsqlstats/sql_stats_compact.pb.go ./pkg/sql/stats/histogram.pb.go ./pkg/sql/stats/table_statistic.pb.go ./pkg/sql/types/types.pb.go ./pkg/startupmigrations/leasemanager/lease.pb.go ./pkg/storage/enginepb/engine.pb.go ./pkg/storage/enginepb/file_registry.pb.go ./pkg/storage/enginepb/mvcc.pb.go ./pkg/storage/enginepb/mvcc3.pb.go ./pkg/storage/enginepb/rocksdb.pb.go ./pkg/testutils/grpcutils/testservice.pb.go ./pkg/ts/catalog/chart_catalog.pb.go ./pkg/ts/tspb/timeseries.pb.go ./pkg/util/duration/duration.pb.go ./pkg/util/hlc/legacy_timestamp.pb.go ./pkg/util/hlc/timestamp.pb.go ./pkg/util/log/eventpb/cluster_events.pb.go ./pkg/util/log/eventpb/ddl_events.pb.go ./pkg/util/log/eventpb/debug_events.pb.go ./pkg/util/log/eventpb/events.pb.go ./pkg/util/log/eventpb/health_events.pb.go ./pkg/util/log/eventpb/job_events.pb.go ./pkg/util/log/eventpb/misc_sql_events.pb.go ./pkg/util/log/eventpb/privilege_events.pb.go ./pkg/util/log/eventpb/role_events.pb.go ./pkg/util/log/eventpb/session_events.pb.go ./pkg/util/log/eventpb/sql_audit_events.pb.go ./pkg/util/log/eventpb/telemetry.pb.go ./pkg/util/log/eventpb/zone_events.pb.go ./pkg/util/log/logpb/log.pb.go ./pkg/util/metric/metric.pb.go ./pkg/util/optional/optional.pb.go ./pkg/util/protoutil/clone.pb.go ./pkg/util/timeutil/pgdate/pgdate.pb.go ./pkg/util/tracing/tracingpb/recorded_span.pb.go ./pkg/util/tracing/tracingpb/tracing.pb.go ./pkg/util/tracing/tracingservicepb/tracing_service.pb.go ./pkg/util/unresolved_addr.pb.go
[ 16%] Building CXX object CMakeFiles/geos.dir/src/geom/Location.cpp.o
[ 16%] Building CXX object CMakeFiles/geos.dir/src/geom/MultiLineString.cpp.o
[ 16%] Building CXX object CMakeFiles/geos.dir/src/geom/MultiPoint.cpp.o
touch bin/.go_protobuf_sources
[ 16%] Building CXX object CMakeFiles/geos.dir/src/geom/MultiPolygon.cpp.o
find ./pkg -name node_modules -prune -o -type f -name '*.pb.gw.go' -exec rm {} +
buf protoc -Ipkg -I./vendor/github.com/gogo/protobuf -I./vendor/github.com/cockroachdb/errors -I./vendor/go.etcd.io -I./vendor/github.com/prometheus/client_model -I./vendor/github.com/grpc-ecosystem/grpc-gateway/third_party/googleapis --grpc-gateway_out=logtostderr=true,request_context=true:./pkg ./pkg/server/serverpb/admin.proto ./pkg/server/serverpb/status.proto ./pkg/server/serverpb/authentication.proto
[ 16%] Building CXX object CMakeFiles/geos.dir/src/geom/Point.cpp.o
buf protoc -Ipkg -I./vendor/github.com/gogo/protobuf -I./vendor/github.com/cockroachdb/errors -I./vendor/go.etcd.io -I./vendor/github.com/prometheus/client_model -I./vendor/github.com/grpc-ecosystem/grpc-gateway/third_party/googleapis --grpc-gateway_out=logtostderr=true,request_context=true:./pkg ./pkg/ts/tspb/timeseries.proto
gofmt -s -w ./pkg/server/serverpb/admin.pb.gw.go ./pkg/server/serverpb/status.pb.gw.go ./pkg/server/serverpb/authentication.pb.gw.go ./pkg/ts/tspb/timeseries.pb.gw.go
goimports -w ./pkg/server/serverpb/admin.pb.gw.go ./pkg/server/serverpb/status.pb.gw.go ./pkg/server/serverpb/authentication.pb.gw.go ./pkg/ts/tspb/timeseries.pb.gw.go
touch bin/.gw_protobuf_sources
(cd pkg/roachprod/vm/aws && go generate)
ld.so.1: go-bindata: fatal: /home/dap/garbage-compactor/cockroach/cache/gopath/src/github.com/cockroachdb/cockroach/bin/go-bindata: TLS requirement failure : TLS support is unavailable
config.go:26: running "go-bindata": signal: killed
gmake: *** [Makefile:1444: pkg/roachprod/vm/aws/embedded.go] Error 1
gmake: *** Waiting for unfinished jobs....
[ 18%] Building CXX object CMakeFiles/geos.dir/src/geom/Polygon.cpp.o
[ 18%] Building CXX object CMakeFiles/geos.dir/src/geom/PrecisionModel.cpp.o
[ 18%] Building CXX object CMakeFiles/geos.dir/src/geom/Triangle.cpp.o
[ 18%] Building CXX object CMakeFiles/geos.dir/src/geom/prep/AbstractPreparedPolygonContains.cpp.o
[ 18%] Building CXX object CMakeFiles/geos.dir/src/geom/prep/BasicPreparedGeometry.cpp.o
[ 19%] Building CXX object CMakeFiles/geos.dir/src/geom/prep/PreparedGeometry.cpp.o
[ 19%] Building CXX object CMakeFiles/geos.dir/src/geom/prep/PreparedGeometryFactory.cpp.o
[ 19%] Building CXX object CMakeFiles/geos.dir/src/geom/prep/PreparedLineString.cpp.o
[ 19%] Building CXX object CMakeFiles/geos.dir/src/geom/prep/PreparedLineStringIntersects.cpp.o
[ 19%] Building CXX object CMakeFiles/geos.dir/src/geom/prep/PreparedPoint.cpp.o
[ 21%] Building CXX object CMakeFiles/geos.dir/src/geom/prep/PreparedPolygon.cpp.o
[ 21%] Building CXX object CMakeFiles/geos.dir/src/geom/prep/PreparedPolygonContains.cpp.o
[ 21%] Building CXX object CMakeFiles/geos.dir/src/geom/prep/PreparedPolygonContainsProperly.cpp.o
[ 21%] Building CXX object CMakeFiles/geos.dir/src/geom/prep/PreparedPolygonCovers.cpp.o
[ 21%] Building CXX object CMakeFiles/geos.dir/src/geom/prep/PreparedPolygonIntersects.cpp.o
[ 22%] Building CXX object CMakeFiles/geos.dir/src/geom/prep/PreparedPolygonPredicate.cpp.o
[ 22%] Building CXX object CMakeFiles/geos.dir/src/geom/util/ComponentCoordinateExtracter.cpp.o
[ 22%] Building CXX object CMakeFiles/geos.dir/src/geom/util/CoordinateOperation.cpp.o
[ 22%] Building CXX object CMakeFiles/geos.dir/src/geom/util/Densifier.cpp.o
[ 22%] Building CXX object CMakeFiles/geos.dir/src/geom/util/GeometryCombiner.cpp.o
[ 24%] Building CXX object CMakeFiles/geos.dir/src/geom/util/GeometryEditor.cpp.o
[ 24%] Building CXX object CMakeFiles/geos.dir/src/geom/util/GeometryTransformer.cpp.o
[ 24%] Building CXX object CMakeFiles/geos.dir/src/geom/util/LinearComponentExtracter.cpp.o
[ 24%] Building CXX object CMakeFiles/geos.dir/src/geom/util/PointExtracter.cpp.o
[ 24%] Building CXX object CMakeFiles/geos.dir/src/geom/util/PolygonExtracter.cpp.o
[ 26%] Building CXX object CMakeFiles/geos.dir/src/geom/util/ShortCircuitedGeometryVisitor.cpp.o
[ 26%] Building CXX object CMakeFiles/geos.dir/src/geom/util/SineStarFactory.cpp.o
[ 26%] Building CXX object CMakeFiles/geos.dir/src/geomgraph/Depth.cpp.o
[ 26%] Building CXX object CMakeFiles/geos.dir/src/geomgraph/DirectedEdge.cpp.o
[ 26%] Building CXX object CMakeFiles/geos.dir/src/geomgraph/DirectedEdgeStar.cpp.o
[ 27%] Building CXX object CMakeFiles/geos.dir/src/geomgraph/Edge.cpp.o
[ 27%] Building CXX object CMakeFiles/geos.dir/src/geomgraph/EdgeEnd.cpp.o
[ 27%] Building CXX object CMakeFiles/geos.dir/src/geomgraph/EdgeEndStar.cpp.o
[ 27%] Building CXX object CMakeFiles/geos.dir/src/geomgraph/EdgeIntersectionList.cpp.o
[ 27%] Building CXX object CMakeFiles/geos.dir/src/geomgraph/EdgeList.cpp.o
[ 29%] Building CXX object CMakeFiles/geos.dir/src/geomgraph/EdgeNodingValidator.cpp.o
[ 29%] Building CXX object CMakeFiles/geos.dir/src/geomgraph/EdgeRing.cpp.o
[ 29%] Building CXX object CMakeFiles/geos.dir/src/geomgraph/GeometryGraph.cpp.o
[ 29%] Building CXX object CMakeFiles/geos.dir/src/geomgraph/GraphComponent.cpp.o
[ 29%] Building CXX object CMakeFiles/geos.dir/src/geomgraph/Label.cpp.o
[ 31%] Building CXX object CMakeFiles/geos.dir/src/geomgraph/Node.cpp.o
[ 31%] Building CXX object CMakeFiles/geos.dir/src/geomgraph/NodeFactory.cpp.o
[ 31%] Building CXX object CMakeFiles/geos.dir/src/geomgraph/NodeMap.cpp.o
[ 31%] Building CXX object CMakeFiles/geos.dir/src/geomgraph/PlanarGraph.cpp.o
[ 31%] Building CXX object CMakeFiles/geos.dir/src/geomgraph/Position.cpp.o
[ 32%] Building CXX object CMakeFiles/geos.dir/src/geomgraph/Quadrant.cpp.o
[ 32%] Building CXX object CMakeFiles/geos.dir/src/geomgraph/TopologyLocation.cpp.o
[ 32%] Building CXX object CMakeFiles/geos.dir/src/geomgraph/index/MonotoneChainEdge.cpp.o
[ 32%] Building CXX object CMakeFiles/geos.dir/src/geomgraph/index/MonotoneChainIndexer.cpp.o
[ 32%] Building CXX object CMakeFiles/geos.dir/src/geomgraph/index/SegmentIntersector.cpp.o
[ 34%] Building CXX object CMakeFiles/geos.dir/src/geomgraph/index/SimpleEdgeSetIntersector.cpp.o
[ 34%] Building CXX object CMakeFiles/geos.dir/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp.o
[ 34%] Building CXX object CMakeFiles/geos.dir/src/geomgraph/index/SimpleSweepLineIntersector.cpp.o
[ 34%] Building CXX object CMakeFiles/geos.dir/src/geomgraph/index/SweepLineEvent.cpp.o
[ 34%] Building CXX object CMakeFiles/geos.dir/src/geomgraph/index/SweepLineSegment.cpp.o
[ 36%] Building CXX object CMakeFiles/geos.dir/src/index/bintree/Bintree.cpp.o
[ 36%] Building CXX object CMakeFiles/geos.dir/src/index/bintree/Interval.cpp.o
[ 36%] Building CXX object CMakeFiles/geos.dir/src/index/bintree/Key.cpp.o
[ 36%] Building CXX object CMakeFiles/geos.dir/src/index/bintree/Node.cpp.o
[ 36%] Building CXX object CMakeFiles/geos.dir/src/index/bintree/NodeBase.cpp.o
[ 37%] Building CXX object CMakeFiles/geos.dir/src/index/bintree/Root.cpp.o
[ 37%] Building CXX object CMakeFiles/geos.dir/src/index/chain/MonotoneChain.cpp.o
[ 37%] Building CXX object CMakeFiles/geos.dir/src/index/chain/MonotoneChainBuilder.cpp.o
[ 37%] Building CXX object CMakeFiles/geos.dir/src/index/chain/MonotoneChainOverlapAction.cpp.o
[ 37%] Building CXX object CMakeFiles/geos.dir/src/index/chain/MonotoneChainSelectAction.cpp.o
[ 39%] Building CXX object CMakeFiles/geos.dir/src/index/intervalrtree/IntervalRTreeBranchNode.cpp.o
[ 39%] Building CXX object CMakeFiles/geos.dir/src/index/intervalrtree/IntervalRTreeLeafNode.cpp.o
[ 39%] Building CXX object CMakeFiles/geos.dir/src/index/intervalrtree/SortedPackedIntervalRTree.cpp.o
[ 39%] Building CXX object CMakeFiles/geos.dir/src/index/quadtree/DoubleBits.cpp.o
[ 39%] Building CXX object CMakeFiles/geos.dir/src/index/quadtree/IntervalSize.cpp.o
[ 40%] Building CXX object CMakeFiles/geos.dir/src/index/quadtree/Key.cpp.o
[ 40%] Building CXX object CMakeFiles/geos.dir/src/index/quadtree/Node.cpp.o
[ 40%] Building CXX object CMakeFiles/geos.dir/src/index/quadtree/NodeBase.cpp.o
[ 40%] Building CXX object CMakeFiles/geos.dir/src/index/quadtree/Quadtree.cpp.o
[ 40%] Building CXX object CMakeFiles/geos.dir/src/index/quadtree/Root.cpp.o
[ 42%] Building CXX object CMakeFiles/geos.dir/src/index/strtree/AbstractSTRtree.cpp.o
[ 42%] Building CXX object CMakeFiles/geos.dir/src/index/strtree/BoundablePair.cpp.o
[ 42%] Building CXX object CMakeFiles/geos.dir/src/index/strtree/EnvelopeUtil.cpp.o
[ 42%] Building CXX object CMakeFiles/geos.dir/src/index/strtree/GeometryItemDistance.cpp.o
[ 42%] Building CXX object CMakeFiles/geos.dir/src/index/strtree/Interval.cpp.o
[ 44%] Building CXX object CMakeFiles/geos.dir/src/index/strtree/SIRtree.cpp.o
[ 44%] Building CXX object CMakeFiles/geos.dir/src/index/strtree/STRtree.cpp.o
[ 44%] Building CXX object CMakeFiles/geos.dir/src/index/sweepline/SweepLineEvent.cpp.o
[ 44%] Building CXX object CMakeFiles/geos.dir/src/index/sweepline/SweepLineIndex.cpp.o
[ 44%] Building CXX object CMakeFiles/geos.dir/src/index/sweepline/SweepLineInterval.cpp.o
[ 45%] Building CXX object CMakeFiles/geos.dir/src/inlines.cpp.o
[ 45%] Building CXX object CMakeFiles/geos.dir/src/io/ByteOrderDataInStream.cpp.o
[ 45%] Building CXX object CMakeFiles/geos.dir/src/io/ByteOrderValues.cpp.o
[ 45%] Building CXX object CMakeFiles/geos.dir/src/io/CLocalizer.cpp.o
[ 45%] Building CXX object CMakeFiles/geos.dir/src/io/ParseException.cpp.o
[ 47%] Building CXX object CMakeFiles/geos.dir/src/io/StringTokenizer.cpp.o
[ 47%] Building CXX object CMakeFiles/geos.dir/src/io/Unload.cpp.o
[ 47%] Building CXX object CMakeFiles/geos.dir/src/io/WKBReader.cpp.o
[ 47%] Building CXX object CMakeFiles/geos.dir/src/io/WKBWriter.cpp.o
[ 47%] Building CXX object CMakeFiles/geos.dir/src/io/WKTReader.cpp.o
[ 49%] Building CXX object CMakeFiles/geos.dir/src/io/WKTWriter.cpp.o
[ 49%] Building CXX object CMakeFiles/geos.dir/src/io/Writer.cpp.o
[ 49%] Building CXX object CMakeFiles/geos.dir/src/linearref/ExtractLineByLocation.cpp.o
[ 49%] Building CXX object CMakeFiles/geos.dir/src/linearref/LengthIndexOfPoint.cpp.o
[ 49%] Building CXX object CMakeFiles/geos.dir/src/linearref/LengthIndexedLine.cpp.o
[ 50%] Building CXX object CMakeFiles/geos.dir/src/linearref/LengthLocationMap.cpp.o
[ 50%] Building CXX object CMakeFiles/geos.dir/src/linearref/LinearGeometryBuilder.cpp.o
[ 50%] Building CXX object CMakeFiles/geos.dir/src/linearref/LinearIterator.cpp.o
[ 50%] Building CXX object CMakeFiles/geos.dir/src/linearref/LinearLocation.cpp.o
[ 50%] Building CXX object CMakeFiles/geos.dir/src/linearref/LocationIndexOfLine.cpp.o
[ 52%] Building CXX object CMakeFiles/geos.dir/src/linearref/LocationIndexOfPoint.cpp.o
[ 52%] Building CXX object CMakeFiles/geos.dir/src/noding/BasicSegmentString.cpp.o
[ 52%] Building CXX object CMakeFiles/geos.dir/src/noding/FastNodingValidator.cpp.o
[ 52%] Building CXX object CMakeFiles/geos.dir/src/noding/FastSegmentSetIntersectionFinder.cpp.o
[ 52%] Building CXX object CMakeFiles/geos.dir/src/noding/GeometryNoder.cpp.o
[ 54%] Building CXX object CMakeFiles/geos.dir/src/noding/IntersectionAdder.cpp.o
[ 54%] Building CXX object CMakeFiles/geos.dir/src/noding/IntersectionFinderAdder.cpp.o
[ 54%] Building CXX object CMakeFiles/geos.dir/src/noding/IteratedNoder.cpp.o
[ 54%] Building CXX object CMakeFiles/geos.dir/src/noding/MCIndexNoder.cpp.o
[ 54%] Building CXX object CMakeFiles/geos.dir/src/noding/MCIndexSegmentSetMutualIntersector.cpp.o
[ 55%] Building CXX object CMakeFiles/geos.dir/src/noding/NodedSegmentString.cpp.o
[ 55%] Building CXX object CMakeFiles/geos.dir/src/noding/NodingIntersectionFinder.cpp.o
[ 55%] Building CXX object CMakeFiles/geos.dir/src/noding/NodingValidator.cpp.o
[ 55%] Building CXX object CMakeFiles/geos.dir/src/noding/Octant.cpp.o
[ 55%] Building CXX object CMakeFiles/geos.dir/src/noding/OrientedCoordinateArray.cpp.o
[ 57%] Building CXX object CMakeFiles/geos.dir/src/noding/ScaledNoder.cpp.o
[ 57%] Building CXX object CMakeFiles/geos.dir/src/noding/SegmentIntersectionDetector.cpp.o
[ 57%] Building CXX object CMakeFiles/geos.dir/src/noding/SegmentNode.cpp.o
[ 57%] Building CXX object CMakeFiles/geos.dir/src/noding/SegmentNodeList.cpp.o
[ 57%] Building CXX object CMakeFiles/geos.dir/src/noding/SegmentString.cpp.o
[ 59%] Building CXX object CMakeFiles/geos.dir/src/noding/SegmentStringUtil.cpp.o
[ 59%] Building CXX object CMakeFiles/geos.dir/src/noding/SimpleNoder.cpp.o
[ 59%] Building CXX object CMakeFiles/geos.dir/src/noding/snapround/HotPixel.cpp.o
[ 59%] Building CXX object CMakeFiles/geos.dir/src/noding/snapround/MCIndexPointSnapper.cpp.o
[ 59%] Building CXX object CMakeFiles/geos.dir/src/noding/snapround/MCIndexSnapRounder.cpp.o
[ 60%] Building CXX object CMakeFiles/geos.dir/src/noding/snapround/SimpleSnapRounder.cpp.o
[ 60%] Building CXX object CMakeFiles/geos.dir/src/operation/GeometryGraphOperation.cpp.o
[ 60%] Building CXX object CMakeFiles/geos.dir/src/operation/IsSimpleOp.cpp.o
[ 60%] Building CXX object CMakeFiles/geos.dir/src/operation/buffer/BufferBuilder.cpp.o
[ 60%] Building CXX object CMakeFiles/geos.dir/src/operation/buffer/BufferInputLineSimplifier.cpp.o
[ 62%] Building CXX object CMakeFiles/geos.dir/src/operation/buffer/BufferOp.cpp.o
[ 62%] Building CXX object CMakeFiles/geos.dir/src/operation/buffer/BufferParameters.cpp.o
[ 62%] Building CXX object CMakeFiles/geos.dir/src/operation/buffer/BufferSubgraph.cpp.o
[ 62%] Building CXX object CMakeFiles/geos.dir/src/operation/buffer/OffsetCurveBuilder.cpp.o
[ 62%] Building CXX object CMakeFiles/geos.dir/src/operation/buffer/OffsetCurveSetBuilder.cpp.o
[ 63%] Building CXX object CMakeFiles/geos.dir/src/operation/buffer/OffsetSegmentGenerator.cpp.o
[ 63%] Building CXX object CMakeFiles/geos.dir/src/operation/buffer/RightmostEdgeFinder.cpp.o
[ 63%] Building CXX object CMakeFiles/geos.dir/src/operation/buffer/SubgraphDepthLocater.cpp.o
[ 63%] Building CXX object CMakeFiles/geos.dir/src/operation/distance/ConnectedElementLocationFilter.cpp.o
[ 63%] Building CXX object CMakeFiles/geos.dir/src/operation/distance/ConnectedElementPointFilter.cpp.o
[ 65%] Building CXX object CMakeFiles/geos.dir/src/operation/distance/DistanceOp.cpp.o
[ 65%] Building CXX object CMakeFiles/geos.dir/src/operation/distance/FacetSequence.cpp.o
[ 65%] Building CXX object CMakeFiles/geos.dir/src/operation/distance/FacetSequenceTreeBuilder.cpp.o
[ 65%] Building CXX object CMakeFiles/geos.dir/src/operation/distance/GeometryLocation.cpp.o
[ 65%] Building CXX object CMakeFiles/geos.dir/src/operation/distance/IndexedFacetDistance.cpp.o
[ 67%] Building CXX object CMakeFiles/geos.dir/src/operation/intersection/Rectangle.cpp.o
[ 67%] Building CXX object CMakeFiles/geos.dir/src/operation/intersection/RectangleIntersection.cpp.o
[ 67%] Building CXX object CMakeFiles/geos.dir/src/operation/intersection/RectangleIntersectionBuilder.cpp.o
[ 67%] Building CXX object CMakeFiles/geos.dir/src/operation/linemerge/EdgeString.cpp.o
[ 67%] Building CXX object CMakeFiles/geos.dir/src/operation/linemerge/LineMergeDirectedEdge.cpp.o
[ 68%] Building CXX object CMakeFiles/geos.dir/src/operation/linemerge/LineMergeEdge.cpp.o
[ 68%] Building CXX object CMakeFiles/geos.dir/src/operation/linemerge/LineMergeGraph.cpp.o
[ 68%] Building CXX object CMakeFiles/geos.dir/src/operation/linemerge/LineMerger.cpp.o
[ 68%] Building CXX object CMakeFiles/geos.dir/src/operation/linemerge/LineSequencer.cpp.o
[ 68%] Building CXX object CMakeFiles/geos.dir/src/operation/overlay/EdgeSetNoder.cpp.o
[ 70%] Building CXX object CMakeFiles/geos.dir/src/operation/overlay/ElevationMatrix.cpp.o
[ 70%] Building CXX object CMakeFiles/geos.dir/src/operation/overlay/ElevationMatrixCell.cpp.o
[ 70%] Building CXX object CMakeFiles/geos.dir/src/operation/overlay/LineBuilder.cpp.o
[ 70%] Building CXX object CMakeFiles/geos.dir/src/operation/overlay/MaximalEdgeRing.cpp.o
[ 70%] Building CXX object CMakeFiles/geos.dir/src/operation/overlay/MinimalEdgeRing.cpp.o
[ 72%] Building CXX object CMakeFiles/geos.dir/src/operation/overlay/OverlayNodeFactory.cpp.o
[ 72%] Building CXX object CMakeFiles/geos.dir/src/operation/overlay/OverlayOp.cpp.o
[ 72%] Building CXX object CMakeFiles/geos.dir/src/operation/overlay/PointBuilder.cpp.o
[ 72%] Building CXX object CMakeFiles/geos.dir/src/operation/overlay/PolygonBuilder.cpp.o
[ 72%] Building CXX object CMakeFiles/geos.dir/src/operation/overlay/snap/GeometrySnapper.cpp.o
[ 73%] Building CXX object CMakeFiles/geos.dir/src/operation/overlay/snap/LineStringSnapper.cpp.o
[ 73%] Building CXX object CMakeFiles/geos.dir/src/operation/overlay/snap/SnapIfNeededOverlayOp.cpp.o
[ 73%] Building CXX object CMakeFiles/geos.dir/src/operation/overlay/snap/SnapOverlayOp.cpp.o
[ 73%] Building CXX object CMakeFiles/geos.dir/src/operation/overlay/validate/FuzzyPointLocator.cpp.o
[ 73%] Building CXX object CMakeFiles/geos.dir/src/operation/overlay/validate/OffsetPointGenerator.cpp.o
[ 75%] Building CXX object CMakeFiles/geos.dir/src/operation/overlay/validate/OverlayResultValidator.cpp.o
[ 75%] Building CXX object CMakeFiles/geos.dir/src/operation/polygonize/BuildArea.cpp.o
[ 75%] Building CXX object CMakeFiles/geos.dir/src/operation/polygonize/EdgeRing.cpp.o
[ 75%] Building CXX object CMakeFiles/geos.dir/src/operation/polygonize/HoleAssigner.cpp.o
[ 75%] Building CXX object CMakeFiles/geos.dir/src/operation/polygonize/PolygonizeDirectedEdge.cpp.o
[ 77%] Building CXX object CMakeFiles/geos.dir/src/operation/polygonize/PolygonizeEdge.cpp.o
[ 77%] Building CXX object CMakeFiles/geos.dir/src/operation/polygonize/PolygonizeGraph.cpp.o
[ 77%] Building CXX object CMakeFiles/geos.dir/src/operation/polygonize/Polygonizer.cpp.o
[ 77%] Building CXX object CMakeFiles/geos.dir/src/operation/predicate/RectangleContains.cpp.o
[ 77%] Building CXX object CMakeFiles/geos.dir/src/operation/predicate/RectangleIntersects.cpp.o
[ 78%] Building CXX object CMakeFiles/geos.dir/src/operation/predicate/SegmentIntersectionTester.cpp.o
[ 78%] Building CXX object CMakeFiles/geos.dir/src/operation/relate/EdgeEndBuilder.cpp.o
[ 78%] Building CXX object CMakeFiles/geos.dir/src/operation/relate/EdgeEndBundle.cpp.o
[ 78%] Building CXX object CMakeFiles/geos.dir/src/operation/relate/EdgeEndBundleStar.cpp.o
[ 80%] Building CXX object CMakeFiles/geos.dir/src/operation/relate/RelateComputer.cpp.o
[ 80%] Building CXX object CMakeFiles/geos.dir/src/operation/relate/RelateNode.cpp.o
[ 80%] Building CXX object CMakeFiles/geos.dir/src/operation/relate/RelateNodeFactory.cpp.o
[ 80%] Building CXX object CMakeFiles/geos.dir/src/operation/relate/RelateNodeGraph.cpp.o
[ 80%] Building CXX object CMakeFiles/geos.dir/src/operation/relate/RelateOp.cpp.o
[ 81%] Building CXX object CMakeFiles/geos.dir/src/operation/sharedpaths/SharedPathsOp.cpp.o
[ 81%] Building CXX object CMakeFiles/geos.dir/src/operation/union/CascadedPolygonUnion.cpp.o
[ 81%] Building CXX object CMakeFiles/geos.dir/src/operation/union/CascadedUnion.cpp.o
[ 81%] Building CXX object CMakeFiles/geos.dir/src/operation/union/CoverageUnion.cpp.o
[ 81%] Building CXX object CMakeFiles/geos.dir/src/operation/union/OverlapUnion.cpp.o
[ 83%] Building CXX object CMakeFiles/geos.dir/src/operation/union/PointGeometryUnion.cpp.o
[ 83%] Building CXX object CMakeFiles/geos.dir/src/operation/union/UnaryUnionOp.cpp.o
[ 83%] Building CXX object CMakeFiles/geos.dir/src/operation/valid/ConnectedInteriorTester.cpp.o
[ 83%] Building CXX object CMakeFiles/geos.dir/src/operation/valid/ConsistentAreaTester.cpp.o
[ 83%] Building CXX object CMakeFiles/geos.dir/src/operation/valid/IndexedNestedRingTester.cpp.o
[ 85%] Building CXX object CMakeFiles/geos.dir/src/operation/valid/IsValidOp.cpp.o
[ 85%] Building CXX object CMakeFiles/geos.dir/src/operation/valid/MakeValid.cpp.o
[ 85%] Building CXX object CMakeFiles/geos.dir/src/operation/valid/QuadtreeNestedRingTester.cpp.o
[ 85%] Building CXX object CMakeFiles/geos.dir/src/operation/valid/RepeatedPointRemover.cpp.o
[ 85%] Building CXX object CMakeFiles/geos.dir/src/operation/valid/RepeatedPointTester.cpp.o
[ 86%] Building CXX object CMakeFiles/geos.dir/src/operation/valid/SimpleNestedRingTester.cpp.o
[ 86%] Building CXX object CMakeFiles/geos.dir/src/operation/valid/SweeplineNestedRingTester.cpp.o
[ 86%] Building CXX object CMakeFiles/geos.dir/src/operation/valid/TopologyValidationError.cpp.o
[ 86%] Building CXX object CMakeFiles/geos.dir/src/planargraph/DirectedEdge.cpp.o
[ 86%] Building CXX object CMakeFiles/geos.dir/src/planargraph/DirectedEdgeStar.cpp.o
[ 88%] Building CXX object CMakeFiles/geos.dir/src/planargraph/Edge.cpp.o
[ 88%] Building CXX object CMakeFiles/geos.dir/src/planargraph/Node.cpp.o
[ 88%] Building CXX object CMakeFiles/geos.dir/src/planargraph/NodeMap.cpp.o
[ 88%] Building CXX object CMakeFiles/geos.dir/src/planargraph/PlanarGraph.cpp.o
[ 88%] Building CXX object CMakeFiles/geos.dir/src/planargraph/Subgraph.cpp.o
[ 90%] Building CXX object CMakeFiles/geos.dir/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp.o
[ 90%] Building CXX object CMakeFiles/geos.dir/src/precision/CommonBits.cpp.o
[ 90%] Building CXX object CMakeFiles/geos.dir/src/precision/CommonBitsOp.cpp.o
[ 90%] Building CXX object CMakeFiles/geos.dir/src/precision/CommonBitsRemover.cpp.o
[ 90%] Building CXX object CMakeFiles/geos.dir/src/precision/EnhancedPrecisionOp.cpp.o
[ 91%] Building CXX object CMakeFiles/geos.dir/src/precision/GeometryPrecisionReducer.cpp.o
[ 91%] Building CXX object CMakeFiles/geos.dir/src/precision/MinimumClearance.cpp.o
[ 91%] Building CXX object CMakeFiles/geos.dir/src/precision/PrecisionReducerCoordinateOperation.cpp.o
[ 91%] Building CXX object CMakeFiles/geos.dir/src/precision/SimpleGeometryPrecisionReducer.cpp.o
[ 91%] Building CXX object CMakeFiles/geos.dir/src/simplify/DouglasPeuckerLineSimplifier.cpp.o
[ 93%] Building CXX object CMakeFiles/geos.dir/src/simplify/DouglasPeuckerSimplifier.cpp.o
[ 93%] Building CXX object CMakeFiles/geos.dir/src/simplify/LineSegmentIndex.cpp.o
[ 93%] Building CXX object CMakeFiles/geos.dir/src/simplify/TaggedLineSegment.cpp.o
[ 93%] Building CXX object CMakeFiles/geos.dir/src/simplify/TaggedLineString.cpp.o
[ 93%] Building CXX object CMakeFiles/geos.dir/src/simplify/TaggedLineStringSimplifier.cpp.o
[ 95%] Building CXX object CMakeFiles/geos.dir/src/simplify/TaggedLinesSimplifier.cpp.o
[ 95%] Building CXX object CMakeFiles/geos.dir/src/simplify/TopologyPreservingSimplifier.cpp.o
[ 95%] Building CXX object CMakeFiles/geos.dir/src/triangulate/DelaunayTriangulationBuilder.cpp.o
[ 95%] Building CXX object CMakeFiles/geos.dir/src/triangulate/IncrementalDelaunayTriangulator.cpp.o
[ 95%] Building CXX object CMakeFiles/geos.dir/src/triangulate/VoronoiDiagramBuilder.cpp.o
[ 96%] Building CXX object CMakeFiles/geos.dir/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp.o
[ 96%] Building CXX object CMakeFiles/geos.dir/src/triangulate/quadedge/LocateFailureException.cpp.o
[ 96%] Building CXX object CMakeFiles/geos.dir/src/triangulate/quadedge/QuadEdge.cpp.o
[ 96%] Building CXX object CMakeFiles/geos.dir/src/triangulate/quadedge/QuadEdgeSubdivision.cpp.o
[ 96%] Building CXX object CMakeFiles/geos.dir/src/triangulate/quadedge/TrianglePredicate.cpp.o
[ 98%] Building CXX object CMakeFiles/geos.dir/src/triangulate/quadedge/Vertex.cpp.o
[ 98%] Building CXX object CMakeFiles/geos.dir/src/util/Assert.cpp.o
[ 98%] Building CXX object CMakeFiles/geos.dir/src/util/GeometricShapeFactory.cpp.o
[ 98%] Building CXX object CMakeFiles/geos.dir/src/util/Interrupt.cpp.o
[ 98%] Building CXX object CMakeFiles/geos.dir/src/util/Profiler.cpp.o
[100%] Building CXX object CMakeFiles/geos.dir/src/util/math.cpp.o
[100%] Linking CXX shared library lib/libgeos.so
[100%] Building CXX object CMakeFiles/geos_c.dir/capi/geos_c.cpp.o
[100%] Building CXX object CMakeFiles/geos_c.dir/capi/geos_ts_c.cpp.o
[100%] Linking CXX shared library lib/libgeos_c.so
mkdir -p lib
rm -f lib/lib{geos,geos_c}.so
cp /home/dap/garbage-compactor/cockroach/cache/gopath/native/x86_64-pc-solaris2.11/geos/lib/lib{geos,geos_c}.so lib
gmake: Leaving directory '/home/dap/garbage-compactor/cockroach/cache/gopath/src/github.com/cockroachdb/cockroach'

real     2:06.943118009
user     3:45.434717380
sys      1:11.896866801
dap@ivanova cockroach $ echo $?
2
dap@ivanova cockroach $ 

I am not sure what this file is, but running it directly fails the same way:

$ ./bin/go-bindata 
ld.so.1: go-bindata: fatal: bin/go-bindata: TLS requirement failure : TLS support is unavailable
Killed
dap@ivanova cockroach $ file bin/go-bindata 
file: bin/go-bindata: can't read ELF dynamic data - ELF dynamic tags ignored
file: bin/go-bindata: can't read ELF header
bin/go-bindata:	data
dap@ivanova cockroach $ ldd bin/go-bindata 
dap@ivanova cockroach $ xxd bin/go-bindata  | head
00000000: 7f45 4c46 0201 0100 0000 0000 0000 0000  .ELF............
00000010: 0200 3e00 0100 0000 6080 4600 0000 0000  ..>.....`.F.....
00000020: 4000 0000 0000 0000 3802 0000 0000 0000  @.......8.......
00000030: 0000 0000 4000 3800 0900 4000 2400 0900  ....@.8...@.$...
00000040: 0600 0000 0400 0000 4000 0000 0000 0000  ........@.......
00000050: 4000 4000 0000 0000 4000 4000 0000 0000  @.@.....@.@.....
00000060: f801 0000 0000 0000 f801 0000 0000 0000  ................
00000070: 0010 0000 0000 0000 0300 0000 0400 0000  ................
00000080: ed0f 0000 0000 0000 ed0f 4000 0000 0000  ..........@.....
00000090: ed0f 4000 0000 0000 1300 0000 0000 0000  ..@.............

@davepacheco
Copy link
Contributor Author

For my own reference, to reconstruct the patch files, I created a parallel directory structure in gopath:

$ ls cache | head -n 5
total 22
lrwxrwxrwx   1 dap      staff          6 Aug 17 10:40 cockroach-patched -> gopath/
drwxr-xr-x   3 dap      staff          3 Aug 17 10:41 cockroach-pristine/
drwxr-xr-x 258 dap      staff        260 Aug 17 11:15 gocache/
drwxr-xr-x   5 dap      staff          5 Aug 17 11:34 gopath/

That is:

  • I cloned the cockroach repo as mentioned in my previous comment, putting it under cache/gopath/...
  • I created a parallel cache/cockroach-pristine/src/github.com/cockroachdb/cockroach -- a pristine clone of the same thing

For each patch:

  • run build.sh, watch it fail to apply a patch
  • look at the patch and the underlying file and figure out what it should be (easy in these cases)
  • edit the file in cache/gopath
  • run diff -ur cache/cockroach-{pristine,patched}/path/to/file and put that into the patch file
  • reset the patched version (see below)
  • try again

To reset my workspace without having to re-clone (which takes several minutes), I wound up with this:

$ (cd c-deps/libedit; git restore configure.ac; rm -f configure~); git restore pkg/util/log/stderr_redirect_unix.go pkg/util/sysutil/sysutil_unix.go pkg/util/sysutil/sysutil_unix_test.go Makefile pkg/cli/start_jemalloc.go pkg/server/status/runtime_jemalloc.go ; rm -f Makefile.orig pkg/cli/start_jemalloc.go.orig pkg/server/status/runtime_jemalloc.go.orig pkg/util/log/stderr_redirect_illumos.go pkg/util/sysutil/sysutil_illumos.go

That may have missed some stuff. I'd run git status in cache/gopath/src/github.com/cockroachdb/cockroach -- it should be clean.

Then I'd do this to reset the rest of stuff:

$ rm -rf cache/yarnroot cache/yarncache cache/workaround cache/patched.stamp cache/gopath/pkg cache/gopath/native work/

@davepacheco
Copy link
Contributor Author

The current status is that the build fails as mentioned above. It's failing to run go generate for pkg/roachprod/vm/aws. That command requires running go-bindata to embed a JSON file into a Go program. This command for some reason always produces the above error. That seems like a problem with the way it's built, but I have not yet figured out why. I looked for illumos-specific customizations or any CGO directives but did not find any.

@davepacheco
Copy link
Contributor Author

I'm not sure what was going on with my previous runs, but removing the above as well as cache/gocache and rebuilding showed some problems in the patch files, which I've just fixed. The current problem is now in our patched pebble vfs impl:

github.com/cockroachdb/pebble
# github.com/cockroachdb/pebble
vendor/github.com/cockroachdb/pebble/options.go:830:28: assignment mismatch: 2 variables but vfs.WithDiskHealthChecks returns 1 value
gmake: *** [Makefile:1787: bin/docgen] Error 2
gmake: *** Waiting for unfinished jobs....

I see that the caller does expect two values from this function now:

 829         if o.FS == nil {
 830                 o.FS, o.private.fsCloser = vfs.WithDiskHealthChecks(vfs.Default, 5*time.Second,
 831                         func(name string, duration time.Duration) {
 832                                 o.EventListener.DiskSlow(DiskSlowInfo{
 833                                         Path:     name,
 834                                         Duration: duration,
 835                                 })
 836                         })
 837         }

but ours only returns one, the FS.

@davepacheco
Copy link
Contributor Author

On Josh's recommendation, I took the latest (vendored) pebble vfs and massaged it to work. Here's the delta:

$ diff -r $HOME/garbage-compactor/cockroach/cache/gopath/src/github.com/cockroachdb/cockroach/vendor/github.com/cockroachdb/pebble/vfs pebble/vfs
Common subdirectories: /home/dap/garbage-compactor/cockroach/cache/gopath/src/github.com/cockroachdb/cockroach/vendor/github.com/cockroachdb/pebble/vfs/atomicfs and pebble/vfs/atomicfs
Only in pebble/vfs: disk_usage_illumos.go
diff -r /home/dap/garbage-compactor/cockroach/cache/gopath/src/github.com/cockroachdb/cockroach/vendor/github.com/cockroachdb/pebble/vfs/errors_unix.go pebble/vfs/errors_unix.go
5,6c5,6
< //go:build darwin || dragonfly || freebsd || linux || openbsd
< // +build darwin dragonfly freebsd linux openbsd
---
> //go:build darwin || dragonfly || freebsd || linux || openbsd || illumos
> // +build darwin dragonfly freebsd linux openbsd illumos

With that new file being:

// Copyright 2020 The LevelDB-Go and Pebble Authors. All rights reserved. Use
// of this source code is governed by a BSD-style license that can be found in
// the LICENSE file.

// +build illumos

package vfs

import "golang.org/x/sys/unix"

func (defaultFS) GetDiskUsage(path string) (DiskUsage, error) {
	stat := unix.Statvfs_t{}
	if err := unix.Statvfs(path, &stat); err != nil {
		return DiskUsage{}, err
	}

	freeBytes := uint64(stat.Bsize) * uint64(stat.Bfree)
	availBytes := uint64(stat.Bsize) * uint64(stat.Bavail)
	totalBytes := uint64(stat.Bsize) * uint64(stat.Blocks)
	return DiskUsage{
		AvailBytes: availBytes,
		TotalBytes: totalBytes,
		UsedBytes:  totalBytes - freeBytes,
	}, nil
}

(same as before)

it differs from disk_usage_unix.go only like this:

$ diff pebble/vfs/disk_usage_{unix,illumos}.go
5,6c5
< //go:build darwin || openbsd || dragonfly || freebsd
< // +build darwin openbsd dragonfly freebsd
---
> // +build illumos
13,14c12,13
< 	stat := unix.Statfs_t{}
< 	if err := unix.Statfs(path, &stat); err != nil {
---
> 	stat := unix.Statvfs_t{}
> 	if err := unix.Statvfs(path, &stat); err != nil {

@davepacheco
Copy link
Contributor Author

The latest problem:

docgen http \
--gendoc ./bin/protoc-gen-doc \
--out docs/generated/http \
--protoc-flags "-Ipkg -I./vendor/github.com/gogo/protobuf -I./vendor/go.etcd.io -I./vendor/github.com/grpc-ecosystem/grpc-gateway/third_party/googleapis -I./vendor/github.com/cockroachdb/errors -I./vendor/github.com/prometheus/client_model ./pkg/server/serverpb/status.proto ./pkg/server/serverpb/admin.proto ./pkg/server/status/statuspb/status.proto"
touch bin/.docgen_http
docgen logformats docs/generated/logformats.md
touch bin/.docgen_logformats
Hash: db7417ee41f9729a2871
Version: webpack 4.46.0
Time: 81155ms
Built at: 08/17/2022 10:24:23 PM
 1 asset
Entrypoint vendor = vendor.oss.dll.js
  [47] (webpack)/buildin/global.js 472 bytes {0} [built]
 [207] (webpack)/buildin/module.js 497 bytes {0} [built]
[1068] dll vendor 12 bytes {0} [built]
[1069] ../cluster-ui/dist/js/main.js 7.69 MiB {0} [built]
[1078] ./src/js/protos.js 11.2 MiB {0} [built]
[1232] /home/dap/garbage-compactor/cockroach/cache/gopath/src/github.com/cockroachdb/cockroach/pkg/ui/node_modules/moment/locale sync ^\.\/.*$ 3.21 KiB {0} [built]
    + 1972 hidden modules

ERROR in dll vendor
Module not found: Error: Can't resolve '@cockroachlabs/crdb-protobuf-client-ccl' in '/home/dap/garbage-compactor/cockroach/cache/gopath/src/github.com/cockroachdb/cockroach/pkg/ui/workspaces/db-console'
 @ dll vendor vendor[2]
gmake: *** [Makefile:1380: pkg/ui/workspaces/db-console/dist/vendor.oss.dll.js] Error 2
gmake: Leaving directory '/home/dap/garbage-compactor/cockroach/cache/gopath/src/github.com/cockroachdb/cockroach'

It looks suspicious to me that it's trying to use a file called "CCL" in the "oss" build. I confirmed we are running the buildoss target:

INFO: running gmake buildoss...

My next step is to try to build their Docker builder image (the Dockerfile for which is in build/builder), then see if I can use that to make an OSS build.

@davepacheco
Copy link
Contributor Author

Okay, I sort of successfully built the builder image, but trying to run the entrypoint interactively gave me an error message:

$ docker run -it --rm c5ad4be38ebc
autouseradd: running as root is not permitted

Perhaps inadvisedly, I skipped this and ran with the previous layer. In that I ran this:

    1  git clone --single-branch --depth 1 --branch v22.1.5 https://github.com/cockroachdb/cockroach
    2  cd cockroach/
    3  git submodul update --init
    4  make buildoss

That build ultimately failed with:

...
gcc -std=gnu11 -Wall -Werror=declaration-after-statement -Wsign-compare -pipe -g3 -fvisibility=hidden -O3 -funroll-loops -g1 -fPIC -DPIC -c -D_GNU_SOURCE -D_REENTRANT -I/go/cockroach/c-deps/jemalloc/include -Iinclude -o src/util.pic.o /go/cockroach/c-deps/jemalloc/src/util.c
/go/cockroach/c-deps/jemalloc/src/util.c: In function 'je_malloc_vsnprintf':
/go/cockroach/c-deps/jemalloc/src/util.c:359:2: warning: case label value exceeds maximum value for type
  359 |  case '?' | 0x80:      \
      |  ^~~~
/go/cockroach/c-deps/jemalloc/src/util.c:569:5: note: in expansion of macro 'GET_ARG_NUMERIC'
  569 |     GET_ARG_NUMERIC(val, 'p');
      |     ^~~~~~~~~~~~~~~
/go/cockroach/c-deps/jemalloc/src/util.c:377:2: warning: case label value exceeds maximum value for type
  377 |  case 'j' | 0x80:      \
      |  ^~~~
/go/cockroach/c-deps/jemalloc/src/util.c:569:5: note: in expansion of macro 'GET_ARG_NUMERIC'
  569 |     GET_ARG_NUMERIC(val, 'p');
      |     ^~~~~~~~~~~~~~~
/go/cockroach/c-deps/jemalloc/src/util.c:365:2: warning: case label value exceeds maximum value for type
  365 |  case 'l' | 0x80:      \
      |  ^~~~
/go/cockroach/c-deps/jemalloc/src/util.c:569:5: note: in expansion of macro 'GET_ARG_NUMERIC'
  569 |     GET_ARG_NUMERIC(val, 'p');
      |     ^~~~~~~~~~~~~~~
/go/cockroach/c-deps/jemalloc/src/util.c:371:2: warning: case label value exceeds maximum value for type
  371 |  case 'q' | 0x80:      \
      |  ^~~~
/go/cockroach/c-deps/jemalloc/src/util.c:569:5: note: in expansion of macro 'GET_ARG_NUMERIC'
  569 |     GET_ARG_NUMERIC(val, 'p');
      |     ^~~~~~~~~~~~~~~
/go/cockroach/c-deps/jemalloc/src/util.c:386:2: warning: case label value exceeds maximum value for type
  386 |  case 'z' | 0x80:      \
      |  ^~~~
/go/cockroach/c-deps/jemalloc/src/util.c:569:5: note: in expansion of macro 'GET_ARG_NUMERIC'
  569 |     GET_ARG_NUMERIC(val, 'p');
      |     ^~~~~~~~~~~~~~~
gcc -std=gnu11 -Wall -Werror=declaration-after-statement -Wsign-compare -pipe -g3 -fvisibility=hidden -O3 -funroll-loops -g1 -fPIC -DPIC -c -D_GNU_SOURCE -D_REENTRANT -I/go/cockroach/c-deps/jemalloc/include -Iinclude -o src/witness.pic.o /go/cockroach/c-deps/jemalloc/src/witness.c
ar crus lib/libjemalloc.a src/jemalloc.o src/arena.o src/atomic.o src/base.o src/bitmap.o src/chunk.o src/chunk_dss.o src/chunk_mmap.o src/ckh.o src/ctl.o src/extent.o src/hash.o src/huge.o src/mb.o src/mutex.o src/nstime.o src/pages.o src/prng.o src/prof.o src/quarantine.o src/rtree.o src/stats.o src/spin.o src/tcache.o src/ticker.o src/tsd.o src/util.o src/witness.o
ar: `u' modifier ignored since `D' is the default (see `U')
ar crus lib/libjemalloc_pic.a src/jemalloc.pic.o src/arena.pic.o src/atomic.pic.o src/base.pic.o src/bitmap.pic.o src/chunk.pic.o src/chunk_dss.pic.o src/chunk_mmap.pic.o src/ckh.pic.o src/ctl.pic.o src/extent.pic.o src/hash.pic.o src/huge.pic.o src/mb.pic.o src/mutex.pic.o src/nstime.pic.o src/pages.pic.o src/prng.pic.o src/prof.pic.o src/quarantine.pic.o src/rtree.pic.o src/stats.pic.o src/spin.pic.o src/tcache.pic.o src/ticker.pic.o src/tsd.pic.o src/util.pic.o src/witness.pic.o
ar: `u' modifier ignored since `D' is the default (see `U')
AWK=mawk sh /go/cockroach/c-deps/libedit/src/makelist -h /go/cockroach/c-deps/libedit/src/vi.c > vi.h
AWK=mawk sh /go/cockroach/c-deps/libedit/src/makelist -h /go/cockroach/c-deps/libedit/src/emacs.c > emacs.h
AWK=mawk sh /go/cockroach/c-deps/libedit/src/makelist -h /go/cockroach/c-deps/libedit/src/common.c > common.h
AWK=mawk sh /go/cockroach/c-deps/libedit/src/makelist -bh /go/cockroach/c-deps/libedit/src/vi.c /go/cockroach/c-deps/libedit/src/emacs.c /go/cockroach/c-deps/libedit/src/common.c > help.h
AWK=mawk sh /go/cockroach/c-deps/libedit/src/makelist -fc vi.h emacs.h common.h  > func.h
AWK=mawk sh /go/cockroach/c-deps/libedit/src/makelist -fh vi.h emacs.h common.h  > fcns.h
make  all-am
  CC       chared.lo
  CC       common.lo
  CC       el.lo
  CC       eln.lo
  CC       emacs.lo
  CC       hist.lo
  CC       keymacro.lo
  CC       map.lo
  CC       chartype.lo
  CC       parse.lo
  CC       prompt.lo
  CC       read.lo
  CC       refresh.lo
  CC       search.lo
  CC       sig.lo
  CC       terminal.lo
  CC       tty.lo
  CC       vi.lo
  CC       wcsdup.lo
  CC       tokenizer.lo
  CC       tokenizern.lo
  CC       history.lo
  CC       historyn.lo
  CC       filecomplete.lo
  CC       readline.lo
  CC       literal.lo
  CC       strlcpy.lo
  CC       strlcat.lo
  CC       vis.lo
  CC       unvis.lo
  CCLD     libedit.la
ar: `u' modifier ignored since `D' is the default (see `U')
stringer -output=pkg/sql/opt/rule_name_string.go -type=RuleName pkg/sql/opt/rule_name.go pkg/sql/opt/rule_name.og.go
# Add comment recognized by reviewable.
echo '// GENERATED FILE DO NOT EDIT' > pkg/ui/workspaces/db-console/src/js/protos.d.ts
build/node-run.sh pkg/ui/node_modules/.bin/pbts pkg/ui/workspaces/db-console/src/js/protos.js >> pkg/ui/workspaces/db-console/src/js/protos.d.ts
[100%] Linking CXX shared library lib/libgeos_c.so
mkdir -p lib
rm -f lib/lib{geos,geos_c}.so
cp -L /go/native/x86_64-pc-linux-gnu/geos/lib/lib{geos,geos_c}.so lib
rm -f docs/generated/sql/bnf/*.bnf
docgen grammar bnf docs/generated/sql/bnf --quiet
panic: cannot find crdb path ("github.com/cockroachdb/cockroach/pkg/util/caller") inside file path ("/go/cockroach/pkg/util/caller")

goroutine 1 [running]:
github.com/cockroachdb/cockroach/pkg/util/caller.findFileAndPackageRoot()
	/go/cockroach/pkg/util/caller/resolver.go:126 +0x574
github.com/cockroachdb/cockroach/pkg/util/caller.glob..func1()
	/go/cockroach/pkg/util/caller/resolver.go:176 +0x1d
github.com/cockroachdb/cockroach/pkg/util/caller.init()
	/go/cockroach/pkg/util/caller/resolver.go:183 +0x4c
make: *** [Makefile:1549: bin/.docgen_bnfs] Error 2
make: *** Waiting for unfinished jobs....

root@fd23c533f431:/go/cockroach# 

This looks unrelated to the problem I was trying to check above.

I was going to file a few bugs, but I checked the build instructions and found that make is altogether deprecated in v22.1, as (I think) is the Docker image. They now expect you to use Bazel for these builds. This is very discouraging. I guess a decision point is whether to continue trying to get the make build working for now or invest in getting Bazel and the Bazel build working.

@davepacheco
Copy link
Contributor Author

Ran into another issue with the stock OSS build using their Docker builder and filed cockroachdb/cockroach#86403.

@davepacheco
Copy link
Contributor Author

davepacheco commented Aug 19, 2022

That turned out to be a legit CockroachDB OSS build issue. It's fixed by cockroachdb/cockroach#86425. I verified this by cherry picking that fix onto v22.1.5. I was able to successfully build a v22.1.5 binary. I have not really tested it.

A side effect of using a git clone here is that the Build Tag is actually correct:

$ cockroach version
Build Tag:        v22.1.5-1-g7ec579a4-dirty
Build Time:       2022/08/19 01:58:12
Distribution:     OSS
Platform:         illumos amd64 (x86_64-pc-solaris2.11)
Go Version:       go1.17.11
C Compiler:       gcc 10.3.0
Build Commit ID:  7ec579a413542182a658254edf32393e62647cf9
Build Type:       release

I believe the "dirty" note is because of the patch files. I was tempted to remove this, but I think it's more transparent to show that this isn't quite commit 7ec579a4.

@davepacheco
Copy link
Contributor Author

The omicron test suite passed with expected changes:

dap@ivanova omicron-fixes $ git diff
diff --git a/nexus/tests/output/test-explain-output b/nexus/tests/output/test-explain-output
index 0f065162..b2e6e555 100644
--- a/nexus/tests/output/test-explain-output
+++ b/nexus/tests/output/test-explain-output
@@ -3,5 +3,5 @@ vectorized: true
 
 • scan
   missing stats
-  table: test_users@primary
+  table: test_users@test_users_pkey
   spans: [/'00000000-0000-0000-0000-000000000000' - /'00000000-0000-0000-0000-000000000000']
\ No newline at end of file
diff --git a/tools/cockroachdb_version b/tools/cockroachdb_version
index d44d5b1b..c8f8a62e 100644
--- a/tools/cockroachdb_version
+++ b/tools/cockroachdb_version
@@ -1 +1 @@
-v21.2.9
+v22.1.5-1-g7ec579a4-dirty

@davepacheco
Copy link
Contributor Author

The web UI is at least not totally broken:

Screen Shot 2022-08-18 at 8 10 42 PM

@davepacheco
Copy link
Contributor Author

Updating my notes above: my current workflow for testing changes is to do the following at the top level (garbage-compactor/cockroach):

$ rm -rf cache/yarnroot cache/yarncache cache/workaround cache/patched.stamp cache/gopath/pkg cache/gopath/native work/ cache/gocache cache/patched.stamp

and the following within the clone at cache/gopath/src/github.com/cockroachdb/cockroach:

git reset --hard HEAD && git clean -fxd && (cd c-deps/libedit && git reset --hard HEAD && git clean -fxd) && (cd vendor && git reset --hard HEAD && git clean -fxd)

One could as well remove the whole cache directory, but it takes several minutes to clone CockroachDB so this saves a lot of time.

@davepacheco
Copy link
Contributor Author

Okay, I think this is ready for review.

Summary of changes here:

The goals:

  • build.sh: moves us to v22.1.5 (we were previously on v21.2.9). This also updates Go to 1.17.
  • I added a new patch to the Makefile that sets the build tag stdmalloc to use the system memory allocator.

What came along for the ride:

  • build.sh: now clones Cockroach instead of pulling down a source tarball. This is because Cockroach no longer produce source tarballs. The closest thing they have is what GitHub provides when you download a tarball of a release (tag). This lacks submodule contents. On the plus side, since this is a real clone of cockroach, we can remove the git wrapper we had, and the build actually puts the correct git information into the binary.
  • I added a patch to the Makefile that pulls in the fix for make buildoss build failure on 22.1.5 cockroachdb/cockroach#86403, which we need to build. We should be able to remove this patch when we move to v22.1.7, whenever that is released.
  • I was able to remove several local patches: 03-sysutils.patch, 04-stderr.patch, 10-libpq.patch, stderr_redirect_illumos.go, sysutil_illumos.go. In at least one case, this wound up pulling in a notable bugfix that had been made upstream.
  • I converted the vendored, modified dependencies into patch files. This was cockroachdb/pebble/vfs, knz/strtime, knz/go-libedit, and elastic/gosigar. I felt this would make it much easier in the future to see what changes we had locally.

I'd appreciate a sanity check on the removed and added patch files! I hope that any issues would result in build failures, but I know that's not always the case (as in the case of the libedit changes).

Testing

On the latest commit (d762111), I have tested:

  • a build from a clean slate (git clean -nxd shows no output from the garbage-compactor/cockroach directory)
  • a repeat build (so, this should skip the cloning and patching)
  • the omicron test suite using the built binary
  • cockroach sql using the built binary, including basic line editing
  • the admin console loads

@davepacheco davepacheco marked this pull request as ready for review August 19, 2022 21:44
@davepacheco
Copy link
Contributor Author

Note that since I last updated this, 22.1.7 has been released and contains the fix for one of the things I patched. When we're ready to move forward here, we should drop that patch and update to 22.1.7 instead.

@davepacheco
Copy link
Contributor Author

Cockroach have published a technical advisory that may affect us. We'll want to move to 22.1.9 when we're ready.

Copy link
Collaborator

@jclulow jclulow left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It might be good to do a similar check for Node 16.3.0 to what we're already doing for Go, but I don't feel that strongly about it.

One thing I've noticed is that the version stamp Build Tag field now says v22.1.5-dirty, which I assume is an artefact of our having patched things after cloning:

$ ./cockroach-v22.1.5/bin/cockroach version
Build Tag:        v22.1.5-dirty
Build Time:       2022/10/21 00:18:30
Distribution:     OSS
Platform:         illumos amd64 (x86_64-pc-solaris2.11)
Go Version:       go1.17.13
C Compiler:       gcc 10.3.0
Build Commit ID:  a30a663cbd9323d34d50f343dd038af64671e25f
Build Type:       release

$ ./cockroach-v22.1.5/bin/cockroach version --build-tag
v22.1.5-dirty

I'm not sure to what extent this will matter.

cockroach/build.sh Outdated Show resolved Hide resolved
cockroach/build.sh Outdated Show resolved Hide resolved
@davepacheco
Copy link
Contributor Author

It might be good to do a similar check for Node 16.3.0 to what we're already doing for Go, but I don't feel that strongly about it.

I added something for this. I decided to check the node on your PATH rather than the installed package, since you could have the right package installed but having something else on your PATH.

One thing I've noticed is that the version stamp Build Tag field now says v22.1.5-dirty, which I assume is an artefact of our having patched things after cloning

Yeah, I decided to leave that because I felt it was more transparent about what we're doing. I may regret this if someone uses that in the future to disclaim responsibility. It might be cleaner to have our own RFD 211-style fork where we commit our patches. We could use the usual git/GitHub processes for managing patches and changes. Then the output here would be a (non-dirty) commit on our branch (and one could easily see what's different from the tip of the release branch).


Since it sounds like you're okay with the other changes here, I think the next steps for me will be to see if I can build v22.1.9 without further work, then run that through an Omicron test suite, and then hopefully land this.

Copy link
Collaborator

@jclulow jclulow left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, David! Sounds like a plan.

@davepacheco
Copy link
Contributor Author

The new build has some of the same issues we were seeing before: oxidecomputer/omicron#1223 (comment)
I'm not sure if this is worse than it was or not. But I've tried two test runs so far and both ran into these failures, so that makes me worry it's worse.

@jclulow jclulow merged commit 7c127f7 into master Oct 26, 2022
@davepacheco davepacheco deleted the cockroachdb-stdmalloc-22.1.5 branch October 26, 2022 23:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants