-
Notifications
You must be signed in to change notification settings - Fork 57
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
Update README with install note #149
Conversation
I suspect this advice is quite specific to OSX, and it might be good to clarify that before you get to the part about "removing Cairo from your system." On Linux, it would probably be bad advice to remove Cairo, since that seems likely to also force removal of the majority of graphical programs on the user's system. |
Oh I see. I wasn't aware of the Linux issue. I'll modify this. |
I trust this is good advice, but I'm going to let someone with a Mac make the merge decision---having literally zero experience with the beasts, I'm not the one to do it. |
What part of the tests fail? Ideally that would be in the binary verification hook to disallow loading that library. |
The build for this PR is failing because the AppVeyor build is failing on the latest 32-bit version, and the latest Mac version is segfaulting on Master. |
That's not what Keno meant. He was asking about what happened before you ran the steps you're describing here. What didn't work about Homebrew's version of Cairo? |
Oh I see. |
What version of Cairo.jl are you using? |
I did a |
If you can reproduce it again, what is the content of the file at |
Here is a horrible hack for the #Work around annoying BinDeps bug where BinDeps doesn't save location of binary
#dependencies
#This comes up most often in Cairo...
pkgdir=`julia -e 'print(Pkg.dir())'` #Change path to julia binary as necessary
if [ -d $pkgdir/Cairo -a `grep -c _jl_libgobject $pkgdir/Cairo/deps/deps.jl` -eq 0 ]; then
cat >> $pkgdir/Cairo/deps/deps.jl << ENDPATCH
const _jl_libpangocairo = "/usr/local/lib/libpangocairo-1.0.dylib"
const _jl_libpango = "/usr/local/lib/libpango-1.0.dylib"
const _jl_libcairo = "/usr/local/lib/libcairo.dylib"
const _jl_libgobject = "/usr/local/lib/libgobject-2.0.dylib"
ENDPATCH
fi |
Could we actually get steps to reproduce the bug so we can attempt to fix it? |
Ah, sorry, I was travelling a fair bit. I'll work on reproducing it now. |
I think this is a way to reproduce this on Mac. Have a fresh install of Julia v0.5 with Pkg.update()
Pkg.add("Cairo")
Pkg.test("Cairo") You're likely to see the same Now, after |
|
This is an auto-generated file; do not edit
# Pre-hooks
# Macro to load a library
macro checked_lib(libname, path)
((VERSION >= v"0.4.0-dev+3844" ? Base.Libdl.dlopen_e : Base.dlopen_e)(path) == C_NULL) && error("Unable to load \n\n$libname ($path)\n\nPlease re-run Pkg.build(package), and restart Julia.")
quote const $(esc(libname)) = $path end
end
# Load dependencies
# Load-hooks |
And Pkg.build succeeds without an error? We should track that through to find out why that file is coming out empty. |
Yeah. Only once I unlink my system's cairo does Pkg.build do anything. |
please be more specific than "do anything." Exactly what do you see happen? |
Alrighty. Please forgive me for the long comment. In the beginning, I have cairo on my system, installed through Homebrew, and I have a blank
Now after that, it begins to download
And then it begins to build Cairo:
And that's it; it returns to |
Okay. So we need to figure out what happened with that first build, why |
This is not necessary anymore |
Does not seem obvious to me, so this note may be useful. Thanks.