Skip to content
This repository has been archived by the owner on Nov 27, 2017. It is now read-only.

cairo: depends on recommended x11 for Linuxbrew #986

Closed
wants to merge 1 commit into from

Conversation

DoomHammer
Copy link
Contributor

As in #974

@DoomHammer
Copy link
Contributor Author

It seems :recommended dep on :x11 changes exactly nothing therefore Travis doesn't install X11 deps. Any ideas how to overcome this?

@sjackman
Copy link
Member

sjackman commented Apr 1, 2016

requirements/x11_requirement.rb and os/mac/xquartz.rb need to be modified to depend on linuxbrew/xorg/xorg. @rwhogg @maxim-belkin

@maleghast
Copy link

Is there any chance that someone can merge this..? I really want to install Elixir on my new work Linux machine, and I would MUCH rather do it with Brew than from scratch, but I can't at the moment because of this bug in the Cairo build, Cairo being a dep for Elixir.

@DoomHammer
Copy link
Contributor Author

I believe it depends on #1039 right now.

Also, if you want cairo you can brew install linuxbrew/xorg/xorg && brew install cairo. I think this should help you.

@sjackman
Copy link
Member

sjackman commented Apr 5, 2016

As Piotr mentioned, but also add --with-x11 to cairo.

brew install linuxbrew/xorg/xorg
brew install cairo --with-x11
brew install elixir

@sjackman
Copy link
Member

sjackman commented Apr 6, 2016

I'm happy with merging this patch as is.

@maleghast
Copy link

Thanks guys :-) I am still getting the hang of making stuff work on Linux - been on a Mac for work for 14 years... I ran into another issue to do with wxmac, but thanks for getting me this far.

@sjackman
Copy link
Member

sjackman commented Apr 8, 2016

Thanks, Piotr!

@7kemZmani
Copy link

7kemZmani commented Apr 27, 2017

As Piotr mentioned, but also add --with-x11 to cairo.
brew install linuxbrew/xorg/xorg
brew install cairo --with-x11
brew install elixir

doesn't work 👎 I'm getting:
Warning: cairo: this formula has no --with-x11 option so it will be ignored!
...
checking for X11/extensions/shmproto.h... yes
checking for X11/extensions/shmstr.h... yes
checking whether cairo's Xlib surface backend feature could be enabled... yes
checking for cairo's Xlib Xrender surface backend feature...
checking for xlib_xrender... no
checking for X11/extensions/Xrender.h... yes
checking for XRenderCreateSolidFill... yes
checking for XRenderCreateLinearGradient... yes
checking for XRenderCreateRadialGradient... yes
checking for XRenderCreateConicalGradient... yes
checking whether cairo's Xlib Xrender surface backend feature could be enabled... yes
checking for cairo's XCB surface backend feature...
checking for xcb... no
checking whether cairo's XCB surface backend feature could be enabled... no (requires xcb >= 1.6 xcb-render >= 1.6 http://xcb.freedesktop.org)
configure: error: XCB surface backend feature could not be enabled

@rwhogg
Copy link
Contributor

rwhogg commented Apr 27, 2017

I modified cairo recently; can you try

brew update
brew install cairo

If that fails, you can try brew install cairo --env=std.

@maxim-belkin
Copy link
Contributor

the log clearly says

checking for xcb... no

After doing what @rwhogg suggested, try brew install libxcb

@7kemZmani
Copy link

@rwhogg

If that fails, you can try brew install cairo --env=std.

This line did it for me,
Thanks!

@7kemZmani
Copy link

7kemZmani commented Apr 27, 2017

@maxim-belkin

brew install libxcb

Warning: linuxbrew/xorg/libxcb-1.12 already installed

@maxim-belkin
Copy link
Contributor

my solution was a back up solution in case @rwhogg's didn't work.
So, which line exactly worked for you

@7kemZmani
Copy link

@maxim-belkin

So, which line exactly worked for you

brew install cairo --env=std

@maxim-belkin
Copy link
Contributor

maxim-belkin commented Apr 27, 2017

Weird... I'd suggest you to run the following code:

dir="$(pwd)"
cd "$(brew --repo)"
git checkout master
git reset --hard origin/master
git fetch --unshallow
git pull origin master
for tap in $(brew tap); do
    cd "$(brew --repo $tap)"
    git checkout master
    git reset --hard origin/master
    git fetch --unshallow
    git pull origin master
done
cd "$dir"
unset dir

@7kemZmani
Copy link

7kemZmani commented Apr 27, 2017

result:

Switched to branch 'master'
HEAD is now at dc9752e Add symlink_host_gcc: Symlink the host's compiler for Linuxbrew (#358)
remote: Counting objects: 329, done.
remote: Compressing objects: 100% (153/153), done.
remote: Total 329 (delta 191), reused 297 (delta 160), pack-reused 0
Receiving objects: 100% (329/329), 148.56 KiB | 0 bytes/s, done.
Resolving deltas: 100% (191/191), completed with 17 local objects.
From https://github.com/Linuxbrew/brew
 * [new branch]      gh-pages   -> origin/gh-pages
From https://github.com/Linuxbrew/brew
 * branch            master     -> FETCH_HEAD
Already up-to-date.
Already on 'master'
Your branch is up-to-date with 'origin/master'.
HEAD is now at 49aca39 CONTRIBUTING.md: Fix typos (#12)
remote: Counting objects: 97, done.
remote: Compressing objects: 100% (45/45), done.
remote: Total 97 (delta 59), reused 88 (delta 50), pack-reused 0
Unpacking objects: 100% (97/97), done.
From https://github.com/Linuxbrew/homebrew-extra
 * branch            master     -> FETCH_HEAD
Already up-to-date.
Already on 'master'
Your branch is up-to-date with 'origin/master'.
HEAD is now at 576e451 xorg-protocols: fix dependencies and URL
remote: Counting objects: 2426, done.
remote: Compressing objects: 100% (607/607), done.
remote: Total 2426 (delta 1886), reused 2359 (delta 1819), pack-reused 0
Receiving objects: 100% (2426/2426), 408.08 KiB | 0 bytes/s, done.
Resolving deltas: 100% (1886/1886), completed with 64 local objects.
From https://github.com/Linuxbrew/homebrew-xorg
 * branch            master     -> FETCH_HEAD
Already up-to-date.
Already on 'master'
Your branch is up-to-date with 'origin/master'.
HEAD is now at ef5061d travis: reconcile with homebrew/science (#2560)
remote: Counting objects: 356177, done.
remote: Compressing objects: 100% (146355/146355), done.
remote: Total 356177 (delta 210878), reused 352305 (delta 207018), pack-reused 0
Receiving objects: 100% (356177/356177), 121.33 MiB | 3.39 MiB/s, done.
Resolving deltas: 100% (210878/210878), completed with 3678 local objects.
From https://github.com/Linuxbrew/homebrew-core
 * branch            master     -> FETCH_HEAD
Already up-to-date.

@maxim-belkin
Copy link
Contributor

LGTM. Now you can try

brew remove cairo
brew install cairo
brew gist-logs cairo

and report here the url you get in the end

@7kemZmani
Copy link

7kemZmani commented Apr 27, 2017

I'm getting an error when I try:

brew remove cairo
..
because it is required by harfbuzz 1.4.6, atk 2.24.0, gdk-pixbuf 2.36.6, gobject-introspection 1.52.0_1, which are currently installed.
You can override this and force removal with:
brew uninstall --ignore-dependencies cairo

now I'm afraid that 'brew uninstall --ignore-dependencies cairo' is going to break something else :/
so, are things going to go back to normal after forcing the removal of the dependencies, and reinstalling cairo?

@maxim-belkin
Copy link
Contributor

maxim-belkin commented Apr 27, 2017 via email

@7kemZmani
Copy link

@maxim-belkin
Copy link
Contributor

So.... now you were able to install cairo in superenv, is that right?

@maxim-belkin
Copy link
Contributor

superenv -- this is the default env. in Linuxbrew when you don't specify --env=std.

@7kemZmani
Copy link

good...
now that we got 'cairo' to install properly, I'm getting the same problem with 'gtk+' this time.
these are all for the sake of:
brew install erlang

(heading back to google)

@maxim-belkin
Copy link
Contributor

You can report that in Linuxbrew/homebrew-core, not here. This is a legacy repo... :)

@maxim-belkin
Copy link
Contributor

maxim-belkin commented Apr 27, 2017

Can you create an issue there and post the url you get after executing the following commands:

brew install -vds gtk+
brew gist-logs gtk+

?

@7kemZmani
Copy link

#2564

@Linuxbrew Linuxbrew locked and limited conversation to collaborators Apr 27, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants