Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

imlib2: require x11 #15390

Closed
wants to merge 1 commit into from

4 participants

@2bits

imlib2 without x11 has missing symbols needed by other programs
like feh. Add a depends_on :x11. Remove the deps on libpng
and freetype. Works well with superenv.

Fixes #15325

@2bits 2bits imlib2: require x11
imlib2 without x11 has missing symbols needed by other programs
like feh.  Add a `depends_on :x11`.  Remove the deps on libpng
and freetype. Works well with superenv.

Fixes #15325
c4ae1a9
@adamv adamv closed this pull request from a commit
@2bits 2bits imlib2: require x11
imlib2 without x11 has missing symbols needed by other programs
like feh.  Add a `depends_on :x11`.  Remove the deps on libpng
and freetype. Works well with superenv.

Fixes #15325

Closes #15390.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
21ac106
@adamv adamv closed this in 21ac106
@mikemcquaid
Owner

@2bits @adamv Can we please discuss things like this before merging? This plainly doesn't need all of X11; as far as I'm concerned unless it runs in an X server we should consider depends_on :x11 deprecated.

@2bits Can we try and work out what bits of X11 it's linking to/using?

@adamv adamv reopened this
@2bits

It's only a problem I suppose because we can't specify a depends_on 'imlib2' => 'with-x'
The missing symbols are listed in #15325.

There are only two programs that use imlib2 in the main repo, feh and minbif. In the case of feh, it's an x11 image viewer that started this issue. In the case of minbif, that's a command line irc client. So it fixes one, and doesn't hurt the other. I think that's the best I can do.

@mikemcquaid
Owner

@2bits Can you use otool to show me what imlib2 links to when compiled with (and without if you have time) X11? I'm avoiding installing XQuartz on this machine. I guess the depends_on with-x stuff could be a useful comment for when @jacknagel's branch for that lands. Thanks!

@2bits

Built --with-x I get this:

$ otool -L /usr/local/lib/libImlib2.dylib 
/usr/local/lib/libImlib2.dylib:
    /usr/local/lib/libImlib2.1.dylib (compatibility version 6.0.0, current version 6.5.0)
    /usr/local/lib/libfreetype.6.dylib (compatibility version 16.0.0, current version 16.0.0)
    /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.5)
    /usr/lib/libbz2.1.0.dylib (compatibility version 1.0.0, current version 1.0.5)
    /opt/X11/lib/libX11.6.dylib (compatibility version 10.0.0, current version 10.0.0)
    /opt/X11/lib/libXext.6.dylib (compatibility version 11.0.0, current version 11.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0)

When I build imlib2 --without-x I get this:

$ otool -L /usr/local/lib/libImlib2.dylib 
/usr/local/lib/libImlib2.dylib:
    /usr/local/lib/libImlib2.1.dylib (compatibility version 6.0.0, current version 6.5.0)
    /usr/local/lib/libfreetype.6.dylib (compatibility version 16.0.0, current version 16.0.0)
    /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.5)
    /usr/lib/libbz2.1.0.dylib (compatibility version 1.0.0, current version 1.0.5)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0)
@mikemcquaid
Owner

The only difference is libX11. Sucks.

@mikemcquaid
Owner

Thanks, by the way.

@2bits

yw, here is the nm output of each build so you can see the difference in symbols:

imlib.x11.txt
imlib.nox.txt

@mxcl
Collaborator

Our new policy with X11 is: don't depend on it unless it absolutely requires it.

@sfnelson sfnelson referenced this pull request from a commit
Commit has since been removed from the repository and is no longer available.
@sfnelson sfnelson referenced this pull request from a commit
Commit has since been removed from the repository and is no longer available.
@mikemcquaid mikemcquaid closed this pull request from a commit
@mikemcquaid mikemcquaid imlib2: make X11 dependency optional.
References #15325.
Closes #15390.
8cea93f
@mikemcquaid
Owner

@2bits I've tweaked this further in 8cea93f and 8324107. Can you see if you can still reproduce the issue in #15325; I think this should fix it in feh, for X11 users and for people without X11. Thanks!

@2bits

Yes it still fails.

@mikemcquaid mikemcquaid referenced this pull request from a commit
@mikemcquaid mikemcquaid imlib2: default to X11 support on.
References #15325, #15390.
59a2f11
@mikemcquaid
Owner

59a2f11 defaults to without-x. Should work fine now I guess.

@2bits

It's ok with me to have it as an option either way you default it, because jack's commit will eventually land. Thanks for working on this stuff.

@theirix theirix referenced this pull request from a commit
Commit has since been removed from the repository and is no longer available.
@theirix theirix referenced this pull request from a commit
Commit has since been removed from the repository and is no longer available.
@theirix theirix referenced this pull request from a commit
Commit has since been removed from the repository and is no longer available.
@theirix theirix referenced this pull request from a commit
Commit has since been removed from the repository and is no longer available.
@snakeyroc3 snakeyroc3 referenced this pull request from a commit in snakeyroc3/homebrew
@2bits 2bits imlib2: require x11
imlib2 without x11 has missing symbols needed by other programs
like feh.  Add a `depends_on :x11`.  Remove the deps on libpng
and freetype. Works well with superenv.

Fixes #15325

Closes #15390.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
27be4f3
@snakeyroc3 snakeyroc3 referenced this pull request from a commit in snakeyroc3/homebrew
@mikemcquaid mikemcquaid imlib2: make X11 dependency optional.
References #15325.
Closes #15390.
9366fcd
@snakeyroc3 snakeyroc3 referenced this pull request from a commit in snakeyroc3/homebrew
@mikemcquaid mikemcquaid feh: giblib: re-order dependencies to try and fix X11 issues.
References #15325, #15390.
0a1f773
@snakeyroc3 snakeyroc3 referenced this pull request from a commit in snakeyroc3/homebrew
@mikemcquaid mikemcquaid imlib2: default to X11 support on.
References #15325, #15390.
82d94ed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Commits on Oct 10, 2012
  1. @2bits

    imlib2: require x11

    2bits authored
    imlib2 without x11 has missing symbols needed by other programs
    like feh.  Add a `depends_on :x11`.  Remove the deps on libpng
    and freetype. Works well with superenv.
    
    Fixes #15325
This page is out of date. Refresh to see the latest.
Showing with 2 additions and 3 deletions.
  1. +2 −3 Library/Formula/imlib2.rb
View
5 Library/Formula/imlib2.rb
@@ -6,15 +6,14 @@ class Imlib2 < Formula
sha1 'af86a2c38f4bc3806db57e64e74dc9814ad474a0'
depends_on 'pkg-config' => :build
- depends_on :freetype
- depends_on :libpng => :recommended
depends_on 'jpeg' => :recommended
+ depends_on :x11
def install
system "./configure", "--disable-dependency-tracking",
"--prefix=#{prefix}",
"--enable-amd64=no",
- "--without-x"
+ "--with-x"
system "make install"
end
Something went wrong with that request. Please try again.