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 added a commit that closed this pull request Oct 10, 2012
@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 Oct 10, 2012
@MikeMcQuaid
Homebrew member

@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 Oct 10, 2012
@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
Homebrew member

@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
Homebrew member

The only difference is libX11. Sucks.

@MikeMcQuaid
Homebrew member

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
Homebrew member

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

@MikeMcQuaid MikeMcQuaid added a commit that closed this pull request Oct 13, 2012
@MikeMcQuaid MikeMcQuaid imlib2: make X11 dependency optional.
References #15325.
Closes #15390.
8cea93f
@MikeMcQuaid
Homebrew member

@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 added a commit that referenced this pull request Oct 13, 2012
@MikeMcQuaid MikeMcQuaid imlib2: default to X11 support on.
References #15325, #15390.
59a2f11
@MikeMcQuaid
Homebrew member

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.

@snakeyroc3 snakeyroc3 pushed a commit to snakeyroc3/homebrew that referenced this pull request Dec 17, 2012
@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 pushed a commit to snakeyroc3/homebrew that referenced this pull request Dec 17, 2012
@MikeMcQuaid MikeMcQuaid imlib2: make X11 dependency optional.
References #15325.
Closes #15390.
9366fcd
@snakeyroc3 snakeyroc3 pushed a commit to snakeyroc3/homebrew that referenced this pull request Dec 17, 2012
@MikeMcQuaid MikeMcQuaid feh: giblib: re-order dependencies to try and fix X11 issues.
References #15325, #15390.
0a1f773
@snakeyroc3 snakeyroc3 pushed a commit to snakeyroc3/homebrew that referenced this pull request Dec 17, 2012
@MikeMcQuaid MikeMcQuaid imlib2: default to X11 support on.
References #15325, #15390.
82d94ed
@xu-cheng xu-cheng locked and limited conversation to collaborators Feb 16, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.