JuliaPackaging / Homebrew.jl

OSX Binary dependency provider for Julia
Other
27 stars 32 forks source link

building Homebrew #194

Open rveltz opened 7 years ago

rveltz commented 7 years ago

Dear @staticfloat

I can't get Homebrew.jl to work on my computer (osx Sierra 10.12.6 (16G29)). I use Homebrew and not port on my computer.

My version of Julia is the following.

Can you give me a hint please? Thank you,

Best regards

julia> versioninfo()
Julia Version 0.6.0
Commit 903644385b (2017-06-19 13:05 UTC)
Platform Info:
  OS: macOS (x86_64-apple-darwin13.4.0)
  CPU: Intel(R) Core(TM) i7-4980HQ CPU @ 2.80GHz
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Haswell)
  LAPACK: libopenblas64_
  LIBM: libopenlibm
  LLVM: libLLVM-3.9.1 (ORCJIT, haswell)
julia> Pkg.build("Homebrew")
INFO: Building Homebrew
==============================[ ERROR: Homebrew ]===============================

LoadError: InitError: could not spawn `/Users/rveltz/.julia/v0.6/Homebrew/deps/usr/bin/brew tap --full homebrew/core`: no such file or directory (ENOENT)
during initialization of module Homebrew
while loading /Users/rveltz/.julia/v0.6/Homebrew/deps/build.jl, in expression starting on line 1

================================================================================

================================[ BUILD ERRORS ]================================

WARNING: Homebrew had build errors.

 - packages with build errors remain installed in /Users/rveltz/.julia/v0.6
 - build the package(s) and all dependencies with `Pkg.build("Homebrew")`
 - build a single package by running its `deps/build.jl` script

================================================================================
staticfloat commented 7 years ago

Interesting. If you look around within the /Users/rveltz/.julia/v0.6/Homebrew/deps/usr directory, what do you see? Is there a bin folder? Is there a brew executable within that bin folder?

dpo commented 7 years ago

In a similar vein, I'm now getting

julia> Pkg.add("Homebrew")
INFO: Installing Homebrew v0.5.9
INFO: Building Homebrew
Warning: The post-install step did not complete successfully
=========================================[ ERROR: Homebrew ]=========================================

LoadError: failed process: Process(`/Users/dpo/.julia/v0.6/Homebrew/deps/usr/bin/brew install --ignore-dependencies staticfloat/juliatranslated/fontconfig`, ProcessExited(1)) [1]
while loading /Users/dpo/.julia/v0.6/Homebrew/deps/build.jl, in expression starting on line 2

=====================================================================================================
dpo commented 7 years ago

After a complete reinstall of Homebrew.jl, Homebrew.add("fontconfig") results in

/Users/dpo/.local/share/fonts: skipping, no such directory
/Users/dpo/.fonts: skipping, no such directory
/usr/local/var/cache/fontconfig: not cleaning unwritable cache directory
/Users/dpo/.cache/fontconfig: not cleaning unwritable cache directory
/Users/dpo/.fontconfig: not cleaning non-existent cache directory
/Users/dpo/.julia/v0.6/Homebrew/deps/usr/Cellar/fontconfig/2.12.1_2/bin/fc-cache: failed
Warning: The post-install step did not complete successfully
You can try again using `brew postinstall staticfloat/juliatranslated/fontconfig`
==> Summary
🍺  /Users/dpo/.julia/v0.6/Homebrew/deps/usr/Cellar/fontconfig/2.12.1_2: 486 files, 3.1MB
ERROR: failed process: Process(`/Users/dpo/.julia/v0.6/Homebrew/deps/usr/bin/brew install --ignore-dependencies staticfloat/juliatranslated/fontconfig`, ProcessExited(1)) [1]
floswald commented 7 years ago

ok, i reinstalled Homebrew.jl from scratch. here is what I get on OS Sierra.

julia> Pkg.build("Cairo")
INFO: Building Homebrew
Warning: The post-install step did not complete successfully
===========================================================[ ERROR: Homebrew ]============================================================

LoadError: failed process: Process(`/Users/74097/.julia/v0.6/Homebrew/deps/usr/bin/brew install --ignore-dependencies staticfloat/juliatranslated/fontconfig`, ProcessExited(1)) [1]
while loading /Users/74097/.julia/v0.6/Homebrew/deps/build.jl, in expression starting on line 2

==========================================================================================================================================
INFO: Building Cairo

=============================================================[ BUILD ERRORS ]=============================================================

WARNING: Homebrew had build errors.

 - packages with build errors remain installed in /Users/74097/.julia/v0.6
 - build the package(s) and all dependencies with `Pkg.build("Homebrew")`
 - build a single package by running its `deps/build.jl` script

==========================================================================================================================================
floswald commented 7 years ago

so, i can execute

➜   /Users/florian.oswald/.julia/v0.6/Homebrew/deps/usr/bin/brew install --ignore-dependencies staticfloat/juliatranslated/fontconfig
Warning: staticfloat/juliatranslated/fontconfig 2.12.1_2 is already installed

myself in a shell without problems. it fails from within julia for some reason

dharasim commented 7 years ago

I have exactly the same problem (also on osx Sierra 10.12.6 (16G29)).

rsrock commented 7 years ago

Same problem here with fontconfig. Happy to help troubleshoot.

staticfloat commented 7 years ago

I just pushed up a few small changes to Homebrew, try Pkg.checkout("Homebrew") and try again.

cormullion commented 7 years ago

I'm so pleased there's some light at the end of the tunnel! But it's not working just yet:

               _
   _       _ _(_)_     |  A fresh approach to technical computing
  (_)     | (_) (_)    |  Documentation: https://docs.julialang.org
   _ _   _| |_  __ _   |  Type "?help" for help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 0.6.0 (2017-06-19 13:05 UTC)
 _/ |\__'_|_|_|\__'_|  |  Official http://julialang.org/ release
|__/                   |  x86_64-apple-darwin13.4.0

julia> Pkg.checkout("Homebrew")
INFO: Checking out Homebrew master...
INFO: Pulling Homebrew latest master...
INFO: No packages to install, update or remove

julia> Pkg.build("Homebrew")
INFO: Building Homebrew

julia> Pkg.build("Cairo")
INFO: Building Homebrew
INFO: Building Cairo
WARNING: The following packages do not have relocatable bottles, installation may fail!
Please report these packages to https://github.com/JuliaLang/Homebrew.jl:
  staticfloat/juliadeps/fontconfig
/Users/me/.julia/v0.6/Homebrew/deps/usr/Library/Homebrew/utils/github.rb:210:in `raise_api_error': GitHub  (GitHub::AuthenticationFailedError)
The GitHub credentials in the macOS keychain may be invalid.
Clear them with:
  printf "protocol=https\nhost=github.com\n" | git credential-osxkeychain erase
Or create a personal access token:
  https://github.com/settings/tokens/new?scopes=gist,public_repo&description=Homebrew
and then set the token as: export HOMEBREW_GITHUB_API_TOKEN="your_new_token"
    from /Users/me/.julia/v0.6/Homebrew/deps/usr/Library/Homebrew/utils/github.rb:178:in `open'
    from /Users/me/.julia/v0.6/Homebrew/deps/usr/Library/Homebrew/utils/github.rb:278:in `search'
    from /Users/me/.julia/v0.6/Homebrew/deps/usr/Library/Homebrew/utils/github.rb:225:in `search_issues'
    from /Users/me/.julia/v0.6/Homebrew/deps/usr/Library/Homebrew/utils/github.rb:238:in `issues_for_formula'
    from /Users/me/.julia/v0.6/Homebrew/deps/usr/Library/Homebrew/exceptions.rb:369:in `fetch_issues'
    from /Users/me/.julia/v0.6/Homebrew/deps/usr/Library/Homebrew/exceptions.rb:365:in `issues'
    from /Users/me/.julia/v0.6/Homebrew/deps/usr/Library/Homebrew/exceptions.rb:419:in `dump'
    from /Users/me/.julia/v0.6/Homebrew/deps/usr/Library/Homebrew/brew.rb:135:in `rescue in <main>'
    from /Users/me/.julia/v0.6/Homebrew/deps/usr/Library/Homebrew/brew.rb:30:in `<main>'
==============================================[ ERROR: Cairo ]===============================================

LoadError: failed process: Process(`/Users/me/.julia/v0.6/Homebrew/deps/usr/bin/brew install --ignore-dependencies staticfloat/juliadeps/fontconfig`, ProcessExited(1)) [1]
while loading /Users/me/.julia/v0.6/Cairo/deps/build.jl, in expression starting on line 162

=============================================================================================================

==============================================[ BUILD ERRORS ]===============================================

WARNING: Cairo had build errors.

 - packages with build errors remain installed in /Users/me/.julia/v0.6
 - build the package(s) and all dependencies with `Pkg.build("Cairo")`
 - build a single package by running its `deps/build.jl` script

=============================================================================================================

julia> 

which looks like something is still amiss... I deleted the .julia/v0.6 directory and started afresh before adding Homebrew and restarting...

rsrock commented 7 years ago

Fabulous, that worked! I'm not sure what fixed it from your commits, but whatever. For the record:

Pkg.update()
Pkg.checkout("Homebrew")
Pkg.update()  # just paranoid here
Pkg.build("Homebrew")

And I'm greeted with Homebrew updating every brew that's alphabetically after fontconfig.

Now, one remaining problem: if I run Pkg.build("Homebrew") again, both fontconfig and imagemagick@6 uninstall and reinstall themselves.

INFO: Building Homebrew
Already up-to-date.
Uninstalling fontconfig... (486 files, 3.1MB)
==> Installing fontconfig from staticfloat/juliatranslated
==> Downloading https://homebrew.bintray.com/bottles/fontconfig-2.12.1_2.sierra.
Already downloaded: /Users/rrock/Library/Caches/Homebrew.jl/fontconfig-2.12.1_2.sierra.bottle.tar.gz
==> Pouring fontconfig-2.12.1_2.sierra.bottle.tar.gz
==> Regenerating font cache, this may take a while
==> /Users/rrock/.julia/v0.6/Homebrew/deps/usr/Cellar/fontconfig/2.12.1_2/bin/fc
🍺  /Users/rrock/.julia/v0.6/Homebrew/deps/usr/Cellar/fontconfig/2.12.1_2: 486 files, 3.1MB
Warning: Already linked: /Users/rrock/.julia/v0.6/Homebrew/deps/usr/Cellar/fontconfig/2.12.1_2
Uninstalling imagemagick@6... (1,464 files, 22.2MB)
==> Installing imagemagick@6 from staticfloat/juliatranslated
==> Downloading https://juliabottles.s3.amazonaws.com/imagemagick@6-6.9.7-3.sier
Already downloaded: /Users/rrock/Library/Caches/Homebrew.jl/imagemagick@6-6.9.7-3.sierra.bottle.tar.gz
==> Pouring imagemagick@6-6.9.7-3.sierra.bottle.tar.gz
🍺  /Users/rrock/.julia/v0.6/Homebrew/deps/usr/Cellar/imagemagick@6/6.9.7-3: 1,464 files, 22.2MB
Warning: Already linked: /Users/rrock/.julia/v0.6/Homebrew/deps/usr/Cellar/imagemagick@6/6.9.7-3

Not horrible, I guess, except that fontconfig takes a long time to rebuild those caches. I seem to remember I had this problem before, I'll see if I can find the issue. [Edit: yep, #142]

rsrock commented 7 years ago

I'm so pleased there's some light at the end of the tunnel! But it's not working just yet:

@cormullion, it looks like some issue with your Github credentials. You might need to create a personal access token as noted in the error message.

floswald commented 7 years ago

problem solved. thanks!

cormullion commented 7 years ago

@staticfloat Cairo now builds! Thanks for whatever magic rites you performed. :)

staticfloat commented 7 years ago

@rveltz are you still having troubles?

JiaweiZhuang commented 6 years ago

I have a similar issue on MacOS Sierra.

My julia version is:

julia> versioninfo()
Julia Version 0.6.1
Commit 0d7248e (2017-10-24 22:15 UTC)
Platform Info:
  OS: macOS (x86_64-apple-darwin14.5.0)
  CPU: Intel(R) Core(TM) i5-7360U CPU @ 2.30GHz
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Prescott)
  LAPACK: libopenblas64_
  LIBM: libopenlibm
  LLVM: libLLVM-3.9.1 (ORCJIT, broadwell)

I got the following error by simply running Pkg.add("Homebrew")

INFO: Building Homebrew
Error: git: /Users/zhuangjw/.julia/v0.6/Homebrew/deps/usr/Library/Taps/homebrew/homebrew-core/Formula/git.rb:190: syntax error, unexpected $undefined, expecting keyword_end
      \thelper = osxkeychain
       ^
==============================[ ERROR: Homebrew ]===============================

LoadError: ArgumentError: `brew info` failed for String["git"]!
while loading /Users/zhuangjw/.julia/v0.6/Homebrew/deps/build.jl, in expression starting on line 2

===============================================================================

The problem was solved by

Pkg.add("Homebrew") # returns an error, but we just proceed
Pkg.checkout("Homebrew")
Pkg.build("Homebrew")

Then Homebrew seems to be working. Although Pkg.test("Homebrew") is still not successful...

julia> Pkg.test("Homebrew")
INFO: Testing Homebrew
INFO: Using Homebrew.jl installed to /Users/zhuangjw/.julia/v0.6/Homebrew/deps/usr
INFO: Removing pkg-config for our testing...
Uninstalling pkg-config... (11 files, 627.4KB)
==> Installing pkg-config from staticfloat/juliatranslated
==> Downloading https://homebrew.bintray.com/bottles/pkg-config-0.29.2.sierra.bo
Already downloaded: /Users/zhuangjw/Library/Caches/Homebrew.jl/pkg-config-0.29.2.sierra.bottle.tar.gz
==> Pouring pkg-config-0.29.2.sierra.bottle.tar.gz
🍺  /Users/zhuangjw/.julia/v0.6/Homebrew/deps/usr/Cellar/pkg-config/0.29.2: 11 files, 627.3KB
Warning: Already linked: /Users/zhuangjw/.julia/v0.6/Homebrew/deps/usr/Cellar/pkg-config/0.29.2
Julia Version 0.6.1
Commit 0d7248e (2017-10-24 22:15 UTC)
Platform Info:
  OS: macOS (x86_64-apple-darwin14.5.0)
  CPU: Intel(R) Core(TM) i5-7360U CPU @ 2.30GHz
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Prescott)
  LAPACK: libopenblas64_
  LIBM: libopenlibm
  LLVM: libLLVM-3.9.1 (ORCJIT, broadwell)
Homebrew git revision b4e1e39d3; last commit 12 days ago
homebrew/core git revision b5afc82; last commit 37 minutes ago
staticfloat/juliadeps revision b4e1e39d3; last commit 12 days ago

29 total packages installed:
adwaita-icon-theme, atk, cairo, fontconfig, freetype, gdk-pixbuf, gettext, git, glib, gobject-introspection, graphite2, gsettings-desktop-schemas, gtk+3, harfbuzz, hdf5, hicolor-icon-theme, icu4c, jpeg, libcroco, libepoxy, libffi, libpng, librsvg, libtiff, pango, pcre, pixman, pkg-config, szip
INFO: pkg-config: 0.29.2 installed to: /Users/zhuangjw/.julia/v0.6/Homebrew/deps/usr/Cellar/pkg-config/0.29.2
Test Failed
  Expression: Homebrew.direct_deps("nettle") == [Homebrew.info("gmp")]
   Evaluated: Homebrew.BrewPkg[gmp: 6.1.2_1] == Homebrew.BrewPkg[gmp: 6.1.2_1]
ERROR: LoadError: There was an error during testing
while loading /Users/zhuangjw/.julia/v0.6/Homebrew/test/runtests.jl, in expression starting on line 49
==============================[ ERROR: Homebrew ]===============================

failed process: Process(`/Applications/Julia-0.6.app/Contents/Resources/julia/bin/julia -Ccore2 -J/Applications/Julia-0.6.app/Contents/Resources/julia/lib/julia/sys.dylib --compile=yes --depwarn=yes --check-bounds=yes --code-coverage=none --color=yes --compilecache=yes /Users/zhuangjw/.julia/v0.6/Homebrew/test/runtests.jl`, ProcessExited(1)) [1]

================================================================================
ERROR: Homebrew had test errors
DNF2 commented 6 years ago

I also did:

Pkg.add("Homebrew")
Pkg.checkout("Homebrew")
Pkg.build("Homebrew")

and still get

Error: git: /Users/dnf/.julia/v0.6/Homebrew/deps/usr/Library/Taps/homebrew/homebrew-core/Formula/git.rb:190: syntax error, unexpected $undefined, expecting keyword_end
      \thelper = osxkeychain

This on both versions 0.6 and 0.6.1.

staticfloat commented 6 years ago

A new version of Homebrew was just released. Does this work better now?

rsrock commented 6 years ago

Works for me after fixing up fontconfig as in #211.

ajtranslaor commented 6 years ago

when I try Pkg.build("Homebrew") or Homebrew.install_brew() I have met the problem: could not spawn /Users/aj/.julia/v0.6/Homebrew/deps/usr/bin/brew tap --full homebrew/core: no such file or directory (ENOENT) during initialization of module Homebrew while loading /Users/aj/.julia/v0.6/Homebrew/deps/build.jl, in expression starting on line 1