On Wed, Nov 15, 2017 at 7:52 AM, Nick Wellnhofer <wellnho...@aevum.de> wrote:

> [ ] +1 Release RC 1 as Apache Clownfish 0.6.2.
> [ ] +0
> [ ] -1 Do not release RC 1 as Apache Clownfish 0.6.2 because...

+1

* Checked sums and sigs.
* Inspected the diff between the last release tag and this RC tag.
* Tested the Clownfish RC along with the Lucy 0.6.1 tarball
  using lucy/devel/bin/test_all.sh.

* OS X Sierra
* Apple LLVM version 9.0.0 (clang-900.0.38)
* Perl v5.18.2
* Go go1.9.2 darwin/amd64

After some twiddling, I was able to make test_all.sh pass.

However, the Go build was broken out of the box. I was able to remedy
by applying the following patch to the `build.go` files in
$CLOWNFISH/compiler/go/build.go, $CLOWNFISH/runtime/go/build.go, and
$LUCY/go/build.go:

  func init() {
    _, buildGO, _, _ = runtime.Caller(1)
+   if buildGO == "<autogenerated>" {
+       _, buildGO, _, _ = runtime.Caller(0)
+   }
    buildDir = path.Dir(buildGO)
    configGO = path.Join(buildDir, "cfc", "config.go")

Without that patch, we don't get the full path for the include dirs
under recent versions of Go and the build can't find files like
"CFC.h". Depending on `runtime.Caller()` to get the file path and
derive the directory is fragile and using the full paths to feed CGO
is a sketchy hack to begin with -- it's not surprising that it broke.
I'm actually pretty happy that that's all that was broken.

This issue is not any worse with the current RC than it is in previous
releases, so I am not going to block the RC. If someone feels like
rolling out new releases for Clownfish and Lucy we can fix it.

Marvin Humphrey

Reply via email to