sudoforge / pkgbuilds

PKGBUILDs for the AUR.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

buildozer

ixil opened this issue · comments

I'm trying to build buildozer in an clean chroot.
I've got no idea why it's failing - maybe it's the chroot setup? Any thoughts?

==> Extracting sources...
  -> Extracting buildozer-3.3.0.tar.gz with bsdtar
==> Starting build()...
Extracting Bazel installation...
Starting local Bazel server and connecting to it...
Loading:
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
ERROR: /build/.cache/bazel/_bazel_builduser/c143ba48f39edbef3590154ceb0d46ec/external/build_bazel_rules_nodejs/internal/node/node.bzl:89:45: invalid escape sequence: \/. You can enable unknown escape sequences by passing the flag --incompatible_restrict_string_escapes=false
ERROR: /build/.cache/bazel/_bazel_builduser/c143ba48f39edbef3590154ceb0d46ec/external/build_bazel_rules_nodejs/internal/node/node.bzl:89:64: invalid escape sequence: \.. You can enable unknown escape sequences by passing the flag --incompatible_restrict_string_escapes=false
ERROR: error loading package '': in /build/.cache/bazel/_bazel_builduser/c143ba48f39edbef3590154ceb0d46ec/external/build_bazel_rules_nodejs/index.bzl: Extension 'internal/node/node.bzl' has errors
INFO: Elapsed time: 8.743s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (0 packages loaded)
FAILED: Build did NOT complete successfully (0 packages loaded)
==> ERROR: A failure occurred in build().
    Aborting...
==> ERROR: Build failed, check /var/lib/aurbuild/x86_64/ixil/build

Thanks for opening the issue. I'll take a look in a few minutes.

I have reproduced this successfully (as is expected, since the build occurs via Bazel). I'll need to dig into this a bit more to understand why it is occurring now, and will follow up with the appropriate upstream maintainers (at a glance, it appears to be happening on v1.3.0 of rules_nodejs).

  • rules_nodejs builds fine at 1.3.0.
  • I can reproduce this on the 3.4.0 and 3.5.0 trees of bazelbuild/buildtools (where buildozer lives), but not on 4.0.0 or 4.1.0.

As a stop-gap for this upstream issue, and because it's way overdue (due to a lack of release notifications on my end), I've added commits to update the buildozer and buildozer-bin packages, which happens to resolve this error.

Between version 3.5.0 and 4.0.0 of buildtools, the rules_nodejs dependency (along with several others) was updated. This is likely what resolved the error, and while I'm still not 100% positive what the root cause was, I'm going to go ahead and close this issue.

The downstream AUR repositories have been updated and you should now be able to install the package.

As an aside, in your opening comment, it looks like you were building version 3.3.0 of the AUR package, which was published in June 2020. At the time of writing of your comment, the latest published version available in the AUR was 3.4.0. Be sure to update your local copy of the AUR package's repository in order to benefit from the updates.

Thanks for the quick update. I checked now that I'm on the 4.0.1 aur version.

I think this is a setup problem from my side, (I have little bazel experience and a slightly non-standard makepkg.conf)
The package is failing to find the bin, I have the same problem in my clean-chroot (using the aur-build tools).

The symlinks to the bazel outputs are:
bazel-bin -> /home/ixil/.cache/bazel/_bazel_ixil/ba49057621d38c7b92c85bf47f82b92c/execroot/com_github_bazelbuild_buildtools/bazel-out/k8-fastbuild/bin

Whereas the actual bin is at:

$cd ~/.cache/bazel; fd -x buildozer-linux;
   ./_bazel_ixil/ba49057621d38c7b92c85bf47f82b92c/execroot/com_github_bazelbuild_buildtools/bazel-out/k8-fastbuild-ST-05b09dfdd2e5/bin/buildozer/buildozer-linux_amd64

makepkg -s

==> Starting build()...
Starting local Bazel server and connecting to it...
WARNING: ignoring _JAVA_OPTIONS in environment.
INFO: Analyzed target //buildozer:buildozer-linux (105 packages loaded, 8159 targets configured).
INFO: Found 1 target...
Target //buildozer:buildozer-linux up-to-date:
  bazel-out/k8-fastbuild-ST-05b09dfdd2e5/bin/buildozer/buildozer-linux_amd64
INFO: Elapsed time: 53.302s, Critical Path: 21.34s
INFO: 567 processes: 24 internal, 543 linux-sandbox.
INFO: Build completed successfully, 567 total actions
==> Entering fakeroot environment...
==> Starting package()...
install: cannot stat './bazel-bin/buildozer/buildozer-linux_amd64': No such file or directory
==> ERROR: A failure occurred in package().
    Aborting...

Actually, that error is my fault. Whoops.

The output path for that target changed from 3.5.0 -> 4.0.0. It's a bit more complex than simply updating the path, but I'll work out a solution soon enough and get a patch out today.

In the mean time, you can use the binary package, buildozer-bin. It downloads the release directly from GitHub.

@ixil you're good to go now. Thanks for your patience.