Homebrew.jl
Homebrew.jl copied to clipboard
Cairo install fail on sierra
@staticfloat Hi, I recently got some error while installing "cairo". I've tried to install it manually by
_
_ _ _(_)_ | A fresh approach to technical computing
(_) | (_) (_) | Documentation: https://docs.julialang.org
_ _ _| |_ __ _ | Type "?help" for help.
| | | | | | |/ _` | |
| | |_| | | | (_| | | Version 0.5.3-pre+5 (2017-05-16 09:15 UTC)
_/ |\__'_|_|_|\__'_| | Commit c3b8ad0ba9* (0 days old release-0.5)
|__/ | x86_64-apple-darwin16.5.0
julia> versioninfo()
Julia Version 0.5.3-pre+5
Commit c3b8ad0ba9* (2017-05-16 09:15 UTC)
Platform Info:
OS: macOS (x86_64-apple-darwin16.5.0)
CPU: Intel(R) Core(TM) i7-4870HQ CPU @ 2.50GHz
WORD_SIZE: 64
BLAS: libgfortblas
LAPACK: liblapack
LIBM: libopenlibm
LLVM: libLLVM-3.7.1 (ORCJIT, haswell)
julia>
using Homebrew; Homebrew.add("cairo");
And I got such errors below. Thanks in advance!
julia> Homebrew.add("cairo");
==> Installing fontconfig from staticfloat/juliatranslated
==> Downloading https://homebrew.bintray.com/bottles/fontconfig-2.12.1_2.sierra.bottle.t
Already downloaded: /Users/bluehope/Library/Caches/Homebrew.jl/fontconfig-2.12.1_2.sierra.bottle.tar.gz
==> Pouring fontconfig-2.12.1_2.sierra.bottle.tar.gz
Error: No such file or directory - /Users/bluehope/.julia/v0.5/Homebrew/deps/usr/etc/fonts/conf.d/10-hinting-slight.conf
Warning: Bottle installation failed: building from source.
==> Downloading https://www.freedesktop.org/software/fontconfig/release/fontconfig-2.12.
Already downloaded: /Users/bluehope/Library/Caches/Homebrew.jl/fontconfig-2.12.1.tar.bz2
==> Downloading https://raw.githubusercontent.com/Homebrew/formula-patches/3790bcd/fontc
Already downloaded: /Users/bluehope/Library/Caches/Homebrew.jl/fontconfig--patch-e7c074109a367bf3966578034b20d11f7e0b4a611785a040aef1fd11359af04d.diff
==> Patching
==> Applying patch-2.12.1-fccache.diff
patching file src/fccache.c
==> ./configure --disable-silent-rules --enable-static --with-add-fonts=/System/Library/
Last 15 lines from /Users/bluehope/Library/Logs/Homebrew/fontconfig/01.configure:
checking for struct statfs.f_flags... yes
checking for struct statfs.f_fstypename... yes
checking for struct dirent.d_type... yes
checking for FREETYPE... no
configure: error: in `/private/tmp/fontconfig-20170517-4279-fjffei/fontconfig-2.12.1':
configure: error: The pkg-config script could not be found or is too old. Make sure it
is in your PATH or set the PKG_CONFIG environment variable to the full
path to pkg-config.
Alternatively, you may set the environment variables FREETYPE_CFLAGS
and FREETYPE_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
To get pkg-config, see <http://pkg-config.freedesktop.org/>.
See `config.log' for more details
If reporting this issue please do so at (not Homebrew/brew or Homebrew/core):
https://github.com/staticfloat/homebrew-juliatranslated/issues
ERROR: failed process: Process(`/Users/bluehope/.julia/v0.5/Homebrew/deps/usr/bin/brew install --ignore-dependencies staticfloat/juliatranslated/fontconfig`, ProcessExited(1)) [1]
in pipeline_error(::Base.Process) at ./process.jl:616
in run(::Cmd) at ./process.jl:592
in #brew#4(::Bool, ::Bool, ::Bool, ::Bool, ::Bool, ::Function, ::Cmd) at /Users/bluehope/.julia/v0.5/Homebrew/src/API.jl:19
in (::Homebrew.#kw##brew)(::Array{Any,1}, ::Homebrew.#brew, ::Cmd) at ./<missing>:0
in #install_and_link#42 at /Users/bluehope/.julia/v0.5/Homebrew/src/API.jl:492 [inlined]
in (::Homebrew.#kw##install_and_link)(::Array{Any,1}, ::Homebrew.#install_and_link, ::String) at ./<missing>:0
in #add#33(::Bool, ::Bool, ::Function, ::String) at /Users/bluehope/.julia/v0.5/Homebrew/src/API.jl:462
in add(::String) at /Users/bluehope/.julia/v0.5/Homebrew/src/API.jl:412
julia>
And this issue is also related with https://github.com/JuliaGraphics/Cairo.jl/issues/165.
I'm not sure why this would happen, can you try installing it again? Do a using Homebrew; Homebrew.cleanup()
first.
I've cleared Homebrew like below.
julia> Pkg.rm("Homebrew")
INFO: Removing Homebrew (unregistered)
julia> Pkg.rm("Homebrew")
INFO: Nothing to be done
Add Cairo
julia> Pkg.add("Cairo")
INFO: Installing Cairo v0.3.0
INFO: Installing Homebrew v0.5.6
INFO: Building Homebrew
Updated 2 taps (homebrew/core, homebrew/science).
==> New Formulae
cockroach
==> Updated Formulae
arangodb homebrew/science/lastz miniupnpc tiger-vnc ykpers
ffmpeg homebrew/science/vips rrdtool traildb
homebrew/science/getdp homebrew/science/xmgredit tee-clc weechat
INFO: Building Cairo
WARNING: BinDeps.shlib_ext is deprecated.
likely near /Users/bluehope/.julia/v0.5/Cairo/deps/build.jl:112
INFO: Package database updated
INFO: METADATA is out-of-date — you may not have the latest version of Cairo
INFO: Use `Pkg.update()` to get the latest versions of your packages
(Pkg.update() was finished.) And, I got error like below (_jl_libcairo not defined).
julia> using Cairo
INFO: Precompiling module Cairo.
ERROR: LoadError: UndefVarError: _jl_libcairo not defined
in anonymous at ./<missing>:?
in include_from_node1(::String) at ./loading.jl:488
in include_from_node1(::String) at /usr/local/opt.user/julia_0.5/usr/lib/julia/sys.dylib:?
in macro expansion; at ./none:2 [inlined]
in anonymous at ./<missing>:?
in eval(::Module, ::Any) at ./boot.jl:234
in eval(::Module, ::Any) at /usr/local/opt.user/julia_0.5/usr/lib/julia/sys.dylib:?
in process_options(::Base.JLOptions) at ./client.jl:242
in _start() at ./client.jl:321
in _start() at /usr/local/opt.user/julia_0.5/usr/lib/julia/sys.dylib:?
while loading /Users/bluehope/.julia/v0.5/Cairo/src/Cairo.jl, in expression starting on line 16
ERROR: Failed to precompile Cairo to /Users/bluehope/.julia/lib/v0.5/Cairo.ji.
in compilecache(::String) at ./loading.jl:593
in require(::Symbol) at ./loading.jl:422
in require(::Symbol) at /usr/local/opt.user/julia_0.5/usr/lib/julia/sys.dylib:?
You need to run Pkg.build("Cairo")
, not Pkg.add("Cairo")
again.
-E
On Wed, May 17, 2017 at 1:12 AM, Hongkee Yoon [email protected] wrote:
I've cleared Homebrew like below.
julia> Pkg.rm("Homebrew") INFO: Removing Homebrew (unregistered)
julia> Pkg.rm("Homebrew") INFO: Nothing to be done
Add Cairo
julia> Pkg.add("Cairo") INFO: Installing Cairo v0.3.0 INFO: Installing Homebrew v0.5.6 INFO: Building Homebrew Updated 2 taps (homebrew/core, homebrew/science).==> New Formulae cockroach==> Updated Formulae arangodb homebrew/science/lastz miniupnpc tiger-vnc ykpers ffmpeg homebrew/science/vips rrdtool traildb homebrew/science/getdp homebrew/science/xmgredit tee-clc weechat INFO: Building Cairo WARNING: BinDeps.shlib_ext is deprecated. likely near /Users/bluehope/.julia/v0.5/Cairo/deps/build.jl:112 INFO: Package database updated INFO: METADATA is out-of-date — you may not have the latest version of Cairo INFO: Use
Pkg.update()
to get the latest versions of your packages(Pkg.update() was finished.) And, I got error like below (_jl_libcairo not defined).
julia> using Cairo INFO: Precompiling module Cairo. ERROR: LoadError: UndefVarError: _jl_libcairo not defined in anonymous at ./
:? in include_from_node1(::String) at ./loading.jl:488 in include_from_node1(::String) at /usr/local/opt.user/julia_0.5/usr/lib/julia/sys.dylib:? in macro expansion; at ./none:2 [inlined] in anonymous at ./ :? in eval(::Module, ::Any) at ./boot.jl:234 in eval(::Module, ::Any) at /usr/local/opt.user/julia_0.5/usr/lib/julia/sys.dylib:? in process_options(::Base.JLOptions) at ./client.jl:242 in _start() at ./client.jl:321 in _start() at /usr/local/opt.user/julia_0.5/usr/lib/julia/sys.dylib:?while loading /Users/bluehope/.julia/v0.5/Cairo/src/Cairo.jl, in expression starting on line 16 ERROR: Failed to precompile Cairo to /Users/bluehope/.julia/lib/v0.5/Cairo.ji. in compilecache(::String) at ./loading.jl:593 in require(::Symbol) at ./loading.jl:422 in require(::Symbol) at /usr/local/opt.user/julia_0.5/usr/lib/julia/sys.dylib:? — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/JuliaPackaging/Homebrew.jl/issues/189#issuecomment-302018639, or mute the thread https://github.com/notifications/unsubscribe-auth/AAH_aMIcK8lD_JnWQz1inLUntH5_7Nd7ks5r6qwIgaJpZM4NctdF .
Thanks, I've tried
Pkg.build("Cairo");
and then
using Cairo
The result is as below. This gives the same error...
[bluehope:~] % julia
_
_ _ _(_)_ | A fresh approach to technical computing
(_) | (_) (_) | Documentation: https://docs.julialang.org
_ _ _| |_ __ _ | Type "?help" for help.
| | | | | | |/ _` | |
| | |_| | | | (_| | | Version 0.5.3-pre+5 (2017-05-16 09:15 UTC)
_/ |\__'_|_|_|\__'_| | Commit c3b8ad0ba9* (1 day old release-0.5)
|__/ | x86_64-apple-darwin16.5.0
julia> Pkg.build("Cairo")
INFO: Building Homebrew
Updated 2 taps (homebrew/core, homebrew/science).
==> New Formulae
allure audacious bdsup2sub dcos-cli moodbar
==> Updated Formulae
aws-sdk-cpp certbot gist homebrew/science/hypre pre-commit winetricks
awscli coffeescript [email protected] leaps tcpreplay
bluepill firebase-cli homebrew/science/gmsh monax tcptraceroute
INFO: Building Cairo
WARNING: BinDeps.shlib_ext is deprecated.
likely near /Users/bluehope/.julia/v0.5/Cairo/deps/build.jl:112
julia> using Cairo
INFO: Precompiling module Cairo.
ERROR: LoadError: UndefVarError: _jl_libcairo not defined
in anonymous at ./<missing>:?
in include_from_node1(::String) at ./loading.jl:488
in include_from_node1(::String) at /usr/local/opt.user/julia_0.5/usr/lib/julia/sys.dylib:?
in macro expansion; at ./none:2 [inlined]
in anonymous at ./<missing>:?
in eval(::Module, ::Any) at ./boot.jl:234
in eval(::Module, ::Any) at /usr/local/opt.user/julia_0.5/usr/lib/julia/sys.dylib:?
in process_options(::Base.JLOptions) at ./client.jl:242
in _start() at ./client.jl:321
in _start() at /usr/local/opt.user/julia_0.5/usr/lib/julia/sys.dylib:?
while loading /Users/bluehope/.julia/v0.5/Cairo/src/Cairo.jl, in expression starting on line 16
ERROR: Failed to precompile Cairo to /Users/bluehope/.julia/lib/v0.5/Cairo.ji.
in compilecache(::String) at ./loading.jl:593
in require(::Symbol) at ./loading.jl:422
in require(::Symbol) at /usr/local/opt.user/julia_0.5/usr/lib/julia/sys.dylib:?
Hmmm, Pkg.build()
thinks that libcairo
is available. That's weird. Try the following:
using Homebrew
Homebrew.rm("cairo")
Homebrew.add("cairo")
Pkg.build("Cairo")
Hi, I've tried as you suggested (only added using Cairo
).
using Homebrew
Homebrew.rm("cairo")
Homebrew.add("cairo")
Pkg.build("Cairo")
using Cairo
I've still got the same error...
_
_ _ _(_)_ | A fresh approach to technical computing
(_) | (_) (_) | Documentation: https://docs.julialang.org
_ _ _| |_ __ _ | Type "?help" for help.
| | | | | | |/ _` | |
| | |_| | | | (_| | | Version 0.5.3-pre+5 (2017-05-16 09:15 UTC)
_/ |\__'_|_|_|\__'_| | Commit c3b8ad0ba9* (1 day old release-0.5)
|__/ | x86_64-apple-darwin16.5.0
julia> using Homebrew
julia> Homebrew.rm("cairo")
julia> Homebrew.add("cairo")
julia> Pkg.build("Cairo")
INFO: Building Homebrew
Updated 1 tap (homebrew/core).
==> Updated Formulae
gofabric8 libphonenumber openshift-cli pyenv tth
kops minizinc prometheus syncthing
INFO: Building Cairo
WARNING: BinDeps.shlib_ext is deprecated.
likely near /Users/bluehope/.julia/v0.5/Cairo/deps/build.jl:112
julia> using Cairo
INFO: Precompiling module Cairo.
ERROR: LoadError: UndefVarError: _jl_libcairo not defined
in anonymous at ./<missing>:?
in include_from_node1(::String) at ./loading.jl:488
in include_from_node1(::String) at /usr/local/opt.user/julia_0.5/usr/lib/julia/sys.dylib:?
in macro expansion; at ./none:2 [inlined]
in anonymous at ./<missing>:?
in eval(::Module, ::Any) at ./boot.jl:234
in eval(::Module, ::Any) at /usr/local/opt.user/julia_0.5/usr/lib/julia/sys.dylib:?
in process_options(::Base.JLOptions) at ./client.jl:242
in _start() at ./client.jl:321
in _start() at /usr/local/opt.user/julia_0.5/usr/lib/julia/sys.dylib:?
while loading /Users/bluehope/.julia/v0.5/Cairo/src/Cairo.jl, in expression starting on line 16
ERROR: Failed to precompile Cairo to /Users/bluehope/.julia/lib/v0.5/Cairo.ji.
in compilecache(::String) at ./loading.jl:593
in require(::Symbol) at ./loading.jl:422
in require(::Symbol) at /usr/local/opt.user/julia_0.5/usr/lib/julia/sys.dylib:?
Wait, Homebrew.add("cairo")
didn't do anything? try Homebrew.rm("cairo"; force=true, verbose=true)
and Homebrew.add("cairo"; verbose=true)
Hi, verbose option gave me more info. Still I get "UndefVarError: _jl_libcairo not defined" message.
julia> using Homebrew
julia> Homebrew.rm("cairo"; force=true, verbose=true)
julia> Homebrew.add("cairo"; verbose=true)
runtime_deps: String["pixman","pcre","libpng","freetype","fontconfig","gettext","libffi","glib"]
translation: beginning for pkg-config
translation: successfully finished for pkg-config
translation: beginning for pixman
translation: replacing dependency pkg-config because it's been translated before
translation: successfully finished for pixman
translation: beginning for libpng
translation: successfully finished for libpng
translation: beginning for freetype
translation: replacing dependency libpng because it's been translated before
translation: successfully finished for freetype
translation: beginning for fontconfig
translation: using staticfloat/juliadeps/fontconfig for the source of our translation
translation: replacing dependency pkg-config because it's been translated before
translation: replacing dependency freetype because it's been translated before
translation: successfully finished for staticfloat/juliadeps/fontconfig
translation: beginning for autoconf
translation: successfully finished for autoconf
translation: beginning for automake
translation: replacing dependency autoconf because it's been translated before
translation: successfully finished for automake
translation: beginning for libffi
translation: replacing dependency autoconf because it's been translated before
translation: replacing dependency automake because it's been translated before
translation: successfully finished for libffi
translation: beginning for pcre
translation: replacing dependency automake because it's been translated before
translation: replacing dependency autoconf because it's been translated before
translation: successfully finished for pcre
translation: beginning for gettext
translation: successfully finished for gettext
translation: beginning for libtool
translation: successfully finished for libtool
translation: beginning for glib
translation: replacing dependency pkg-config because it's been translated before
translation: replacing dependency autoconf because it's been translated before
translation: replacing dependency automake because it's been translated before
translation: replacing dependency libtool because it's been translated before
translation: replacing dependency gettext because it's been translated before
translation: replacing dependency libffi because it's been translated before
translation: replacing dependency pcre because it's been translated before
translation: successfully finished for glib
sorted_deps: AbstractString["staticfloat/juliatranslated/pixman","staticfloat/juliatranslated/libpng","staticfloat/juliatranslated/freetype","staticfloat/juliatranslated/fontconfig","staticfloat/juliatranslated/libffi","staticfloat/juliatranslated/pcre","staticfloat/juliatranslated/gettext","staticfloat/juliatranslated/glib"]
build_deps only: AbstractString["staticfloat/juliatranslated/pkg-config","staticfloat/juliatranslated/autoconf","staticfloat/juliatranslated/automake","staticfloat/juliatranslated/libtool"]
translation: beginning for cairo
translation: replacing dependency automake because it's been translated before
translation: replacing dependency autoconf because it's been translated before
translation: replacing dependency libtool because it's been translated before
translation: replacing dependency pkg-config because it's been translated before
translation: replacing dependency freetype because it's been translated before
translation: replacing dependency fontconfig because it's been translated before
translation: replacing dependency libpng because it's been translated before
translation: replacing dependency pixman because it's been translated before
translation: replacing dependency glib because it's been translated before
translation: successfully finished for cairo
julia> Pkg.build("Cairo")
INFO: Building Homebrew
Updated 2 taps (homebrew/core, homebrew/science).
==> Updated Formulae
minicom
INFO: Building Cairo
WARNING: BinDeps.shlib_ext is deprecated.
likely near /Users/bluehope/.julia/v0.5/Cairo/deps/build.jl:112
julia> using Cairo
INFO: Precompiling module Cairo.
ERROR: LoadError: UndefVarError: _jl_libcairo not defined
in anonymous at ./<missing>:?
in include_from_node1(::String) at ./loading.jl:488
in include_from_node1(::String) at /usr/local/opt.user/julia_0.5/usr/lib/julia/sys.dylib:?
in macro expansion; at ./none:2 [inlined]
in anonymous at ./<missing>:?
in eval(::Module, ::Any) at ./boot.jl:234
in eval(::Module, ::Any) at /usr/local/opt.user/julia_0.5/usr/lib/julia/sys.dylib:?
in process_options(::Base.JLOptions) at ./client.jl:242
in _start() at ./client.jl:321
in _start() at /usr/local/opt.user/julia_0.5/usr/lib/julia/sys.dylib:?
while loading /Users/bluehope/.julia/v0.5/Cairo/src/Cairo.jl, in expression starting on line 16
ERROR: Failed to precompile Cairo to /Users/bluehope/.julia/lib/v0.5/Cairo.ji.
in compilecache(::String) at ./loading.jl:593
in require(::Symbol) at ./loading.jl:422
in require(::Symbol) at /usr/local/opt.user/julia_0.5/usr/lib/julia/sys.dylib:?
This is very strange, because it is not installing cairo
, it gets through the translation routines, but doesn't actually install it.
Please run mv ~/.julia/v0.5/Homebrew/deps/usr mv ~/.julia/v0.5/Homebrew/deps/usr2
. This will move your entire Homebrew.jl
Homebrew installation to the side, and allow it to start over from scratch. Once you've done that, open up Julia and run Pkg.build()
. This will reinstall every Homebrew package you've ever installed, but is a good way to check to see if your Homebrew installation has somehow gotten itself into some inconsistent state.
@staticfloat Hi, Hmm I've also tried to remove everything under ~/.julia/v0.5/Homebrew/
and install everything new. However, this still gave me the same error.
I may try on the clean new user account...
Can you post the output of Pkg.build()
after you remove the ~/.julia/v0.5/Homebrew/deps/usr
directory?
@staticfloat
I'm also having troubles building Cairo (anything it seems) on OS X 10.11.16/v0.6 on a clean package directory. I Tried to fix things by hand but I always run into new errors, it seems there's something wrong with the overall setup. I also got the PKG_CONFIG error sometimes, but now the error comes from autoreconf (running brew install glib
with verbose on):
==> autoreconf -i -f
Failed to execute: autoreconf
See here for the log https://github.com/JuliaGraphics/Cairo.jl/issues/194.
This might be relevant: https://github.com/Homebrew/legacy-homebrew/issues/24468
Note that if I remove the --ignore-dependencies
then it works.