-
Notifications
You must be signed in to change notification settings - Fork 56
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
Assume you guys know Cairo won't build on 0.7 #239
Comments
yes that is #230 workaround:
|
did not work.
|
Cairo continually fails on missing dependency pangocairo. What is that?
|
Yes, Cairo is broken on v1.0 as well... I nuked my entire Julia v1.0 installation and tried a clean reinstall, but nothing works, the workaround used to work, but now doesn't. Same error too. We'll have to wait until someone knowledgeable enough decides that Cairo.jl is worth fixing... :) |
Can we get Cairo.jl to use a separate, correct installation of the Cairo libraries? I believe that what fails are the installation of various dependencies. I have installed these via the independent Homebrew, not the captive Julia won. Do you know how to force the build to use these? That must involve bindeps, but I don't know how to get bindeps to use externally installed dependencies. |
No idea, sorry, that's way over my head. Have you considered trying older versions of Cairo/Homebrew rather than the latest ones? Because Cairo used to work on v0.7 and v1.0 last week, so some combination of libraries must have worked once... |
this is strange. I just tried it locally here and it just worked. |
@lewisl @cormullion: Have you tried this on a "fresh" Julia installation? By "fresh" I mean that you have removed |
Yes, I nuked everything I could find in ~/.julia (apart from I see the |
are you on High Sierra (OS X)? |
yes. no going back... |
Yes. I have a successful install of Cairo via external Homebrew as Julia’s Brew.jl can’t successfully install it. Now my question is how to get Cairo.jl to use the system (actually Homebrew’s) Cairo stack.
From: Tobias Knopp <notifications@github.com>
Reply-To: "JuliaGraphics/Cairo.jl" <reply@reply.github.com>
Date: Saturday, August 18, 2018 at 10:44 AM
To: "JuliaGraphics/Cairo.jl" <Cairo.jl@noreply.github.com>
Cc: Lewis Levin <lewis@neilson-levin.org>, Mention <mention@noreply.github.com>
Subject: Re: [JuliaGraphics/Cairo.jl] Assume you guys know Cairo won't build on 0.7 (#239)
are you on High Sierra (OS X)?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<#239 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/ABGLLYXjfdt1TnWLLCuA-MiHimbRUTSNks5uSFJ4gaJpZM4V67zv>.
|
Yes. I blew away my Julia 0.6 and 0.7 installations and started over with Julia 0.7.
From: Tobias Knopp <notifications@github.com>
Reply-To: "JuliaGraphics/Cairo.jl" <reply@reply.github.com>
Date: Saturday, August 18, 2018 at 10:01 AM
To: "JuliaGraphics/Cairo.jl" <Cairo.jl@noreply.github.com>
Cc: Lewis Levin <lewis@neilson-levin.org>, Mention <mention@noreply.github.com>
Subject: Re: [JuliaGraphics/Cairo.jl] Assume you guys know Cairo won't build on 0.7 (#239)
@lewisl<https://github.com/lewisl> @cormullion<https://github.com/cormullion>: Have you tried this on a "fresh" Julia installation? By "fresh" I mean that you have removed .julia/packages/Homebrew and .julia/packages/Cairo. Make also sure that none of these packages is located in .julia/packages.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<#239 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/ABGLLYvlauQnyzuPSqtt-z3sI3AoeMbLks5uSEhWgaJpZM4V67zv>.
|
in
Then you just have to change the |
will try this tomorrow... had enough for today 😊 |
Thanks. I’ll give it a shot and report back.
Where could I have found this on my own? In documentation of bindeps.jl package?
From: Tobias Knopp <notifications@github.com>
Reply-To: "JuliaGraphics/Cairo.jl" <reply@reply.github.com>
Date: Saturday, August 18, 2018 at 11:48 AM
To: "JuliaGraphics/Cairo.jl" <Cairo.jl@noreply.github.com>
Cc: Lewis Levin <lewis@neilson-levin.org>, Mention <mention@noreply.github.com>
Subject: Re: [JuliaGraphics/Cairo.jl] Assume you guys know Cairo won't build on 0.7 (#239)
in Cairo/deps/you can create a deps.jl file that looks like this
# This is an auto-generated file; do not edit and do not check-in to version control
# Pre-hooks
if VERSION >= v"0.7.0-DEV.3382"
using Libdl
end
# Macro to load a library
macro checked_lib(libname, path)
if Libdl.dlopen_e(path) == C_NULL
error("Unable to load \n\n$libname ($path)\n\nPlease ",
"re-run Pkg.build(package), and restart Julia.")
end
quote
const $(esc(libname)) = $path
end
end
# Load dependencies
@checked_lib _jl_libgobject "/Users/knopp/.julia/packages/Homebrew/l8kUw/deps/usr/lib/libgobject-2.0.dylib"
@checked_lib _jl_libcairo "/Users/knopp/.julia/packages/Homebrew/l8kUw/deps/usr/lib/libcairo.dylib"
@checked_lib _jl_libpango "/Users/knopp/.julia/packages/Homebrew/l8kUw/deps/usr/lib/libpango-1.0.dylib"
@checked_lib _jl_libpangocairo "/Users/knopp/.julia/packages/Homebrew/l8kUw/deps/usr/lib/libpangocairo-1.0.dylib"
# Load-hooks
function __init__()
ENV["PANGO_SYSCONFDIR"] = joinpath("/Users/knopp/.julia/packages/Homebrew/l8kUw/deps/usr", "etc")
end
Then you just have to change the _jl_lib* paths to point to your system homebrew.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<#239 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/ABGLLbjlcnVTo4WjyuxW6Ljtr6CYT1soks5uSGGQgaJpZM4V67zv>.
|
It’s not clear to me what the equivalent is for ENV["PANGO_SYSCONFDIR"]
Because I have the Julia homebrew package I have /18kUw/deps/usr/etc
But, because I don’t trust or want to use the Julia internal homebrew (it fails to install pango) I am not sure where I should find this. What are we looking for in the directory? The subdirectory called fonts?
From: Tobias Knopp <notifications@github.com>
Reply-To: "JuliaGraphics/Cairo.jl" <reply@reply.github.com>
Date: Saturday, August 18, 2018 at 11:48 AM
To: "JuliaGraphics/Cairo.jl" <Cairo.jl@noreply.github.com>
Cc: Lewis Levin <lewis@neilson-levin.org>, Mention <mention@noreply.github.com>
Subject: Re: [JuliaGraphics/Cairo.jl] Assume you guys know Cairo won't build on 0.7 (#239)
in Cairo/deps/you can create a deps.jl file that looks like this
# This is an auto-generated file; do not edit and do not check-in to version control
# Pre-hooks
if VERSION >= v"0.7.0-DEV.3382"
using Libdl
end
# Macro to load a library
macro checked_lib(libname, path)
if Libdl.dlopen_e(path) == C_NULL
error("Unable to load \n\n$libname ($path)\n\nPlease ",
"re-run Pkg.build(package), and restart Julia.")
end
quote
const $(esc(libname)) = $path
end
end
# Load dependencies
@checked_lib _jl_libgobject "/Users/knopp/.julia/packages/Homebrew/l8kUw/deps/usr/lib/libgobject-2.0.dylib"
@checked_lib _jl_libcairo "/Users/knopp/.julia/packages/Homebrew/l8kUw/deps/usr/lib/libcairo.dylib"
@checked_lib _jl_libpango "/Users/knopp/.julia/packages/Homebrew/l8kUw/deps/usr/lib/libpango-1.0.dylib"
@checked_lib _jl_libpangocairo "/Users/knopp/.julia/packages/Homebrew/l8kUw/deps/usr/lib/libpangocairo-1.0.dylib"
# Load-hooks
function __init__()
ENV["PANGO_SYSCONFDIR"] = joinpath("/Users/knopp/.julia/packages/Homebrew/l8kUw/deps/usr", "etc")
end
Then you just have to change the _jl_lib* paths to point to your system homebrew.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<#239 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/ABGLLbjlcnVTo4WjyuxW6Ljtr6CYT1soks5uSGGQgaJpZM4V67zv>.
|
Remarkably, I got it. I used /usr/local/etc assuming Cairo would be looking for the preloaded fonts. It built; pre-compiled, and passed tests. Yay!
This stuff is not easy or obvious, but it’s nice when something works, though I doubt I’ll ever be able to do it again without a cookbook.
From: Tobias Knopp <notifications@github.com>
Reply-To: "JuliaGraphics/Cairo.jl" <reply@reply.github.com>
Date: Saturday, August 18, 2018 at 11:48 AM
To: "JuliaGraphics/Cairo.jl" <Cairo.jl@noreply.github.com>
Cc: Lewis Levin <lewis@neilson-levin.org>, Mention <mention@noreply.github.com>
Subject: Re: [JuliaGraphics/Cairo.jl] Assume you guys know Cairo won't build on 0.7 (#239)
in Cairo/deps/you can create a deps.jl file that looks like this
# This is an auto-generated file; do not edit and do not check-in to version control
# Pre-hooks
if VERSION >= v"0.7.0-DEV.3382"
using Libdl
end
# Macro to load a library
macro checked_lib(libname, path)
if Libdl.dlopen_e(path) == C_NULL
error("Unable to load \n\n$libname ($path)\n\nPlease ",
"re-run Pkg.build(package), and restart Julia.")
end
quote
const $(esc(libname)) = $path
end
end
# Load dependencies
@checked_lib _jl_libgobject "/Users/knopp/.julia/packages/Homebrew/l8kUw/deps/usr/lib/libgobject-2.0.dylib"
@checked_lib _jl_libcairo "/Users/knopp/.julia/packages/Homebrew/l8kUw/deps/usr/lib/libcairo.dylib"
@checked_lib _jl_libpango "/Users/knopp/.julia/packages/Homebrew/l8kUw/deps/usr/lib/libpango-1.0.dylib"
@checked_lib _jl_libpangocairo "/Users/knopp/.julia/packages/Homebrew/l8kUw/deps/usr/lib/libpangocairo-1.0.dylib"
# Load-hooks
function __init__()
ENV["PANGO_SYSCONFDIR"] = joinpath("/Users/knopp/.julia/packages/Homebrew/l8kUw/deps/usr", "etc")
end
Then you just have to change the _jl_lib* paths to point to your system homebrew.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<#239 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/ABGLLbjlcnVTo4WjyuxW6Ljtr6CYT1soks5uSGGQgaJpZM4V67zv>.
|
Success, thanks to your brilliant suggestion, @tknopp! Creating a
So I'm probably stuck using older versions of something, but at least I can get a few things done. |
I think the problem might be even simpler for some people. I simply had to do
See my progress: |
Messages from Pkg.build() for Cairo:
The text was updated successfully, but these errors were encountered: