Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 510566 - =dev-java/icedtea-bin-6.1.12.7[-X] - Missing RDEPEND on media-libs/freetype
Summary: =dev-java/icedtea-bin-6.1.12.7[-X] - Missing RDEPEND on media-libs/freetype
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Java (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Java team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-05-17 15:12 UTC by Bertrand Jacquin
Modified: 2015-09-08 09:36 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Bertrand Jacquin 2014-05-17 15:12:30 UTC
# emerge -pvt dev-java/icedtea-bin:6

Calculating dependencies... done!
[ebuild   R    ] dev-java/icedtea-bin-6.1.12.7:6  USE="-X -alsa -cjk -cups -doc -examples -nsplugin -source" 0 kB

# ldd /opt/icedtea-bin-6.1.12.7/jre/lib/amd64/libfontmanager.so
        linux-vdso.so.1 (0x00007fff693fe000)
        libfreetype.so.6 => not found
        libawt.so => /opt/icedtea-bin-6.1.12.7/jre/lib/amd64/libawt.so (0x00007f8dd6fe0000)
        libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/libstdc++.so.6 (0x00007f8dd6cc5000)
        libjava.so => /opt/icedtea-bin-6.1.12.7/jre/lib/amd64/libjava.so (0x00007f8dd6a93000)
        libjvm.so => not found
        libm.so.6 => /lib64/libm.so.6 (0x00007f8dd6795000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f8dd63f4000)
        libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/libgcc_s.so.1 (0x00007f8dd61de000)
        libjvm.so => not found
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f8dd5fda000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f8dd7513000)
        libjvm.so => not found
        libverify.so => /opt/icedtea-bin-6.1.12.7/jre/lib/amd64/libverify.so (0x00007f8dd5dc8000)
        libnsl.so.1 => /lib64/libnsl.so.1 (0x00007f8dd5bb1000)
        libjvm.so => not found

The important line to note is "libfreetype.so.6 => not found"

The ebuild has following :

  X_COMMON_DEP="
          >=dev-libs/glib-2.32:2
          >=media-libs/freetype-2.4.9:2
          >=x11-libs/gtk+-2.24:2
          >=x11-libs/libX11-1.4
          >=x11-libs/libXext-1.3
          >=x11-libs/libXi-1.6
          >=x11-libs/libXtst-1.2"


  RDEPEND="${COMMON_DEP}
          X? (
                  ${X_COMMON_DEP}
  ..."

So, media-libs/freetype should always to used as a RDEPEND, or libfontmanager.so should be installed only when USE=X.

In my current case, I don't need X and can have media-libs/freetype without no issue.

This is needed to fix the issue :

  USE=-X emerge media-libs/freetype



Reproducible: Always
Comment 1 Dirk Olmes 2015-03-24 07:46:05 UTC
I have dev-java/icedtea-bin installed with USE=-X but unmerging media-libs/freetype leaves me with

!!! existing preserved libs:
>>> package: media-libs/freetype-2.5.5
 *  - /usr/lib/libfreetype.so.6
 *  - /usr/lib/libfreetype.so.6.11.4
 *      used by /opt/icedtea-bin-6.1.13.5/jre/lib/i386/libfontmanager.so (dev-java/icedtea-bin-6.1.13.5)

Looks like icedtea-bin really needs freetype
Comment 2 James Le Cuirot gentoo-dev 2015-03-24 09:54:57 UTC
I need to speak to Caster about the icedtea-bin package but my guess is that we should remove this file when X is disabled. No other binary in the package seems to depend on it so it's probably only loaded when required. There are situations where even a headless VM could require this file but there's not much we can do about that other than to suggest that you build icedtea instead.
Comment 3 Dirk Olmes 2015-03-24 15:07:44 UTC
(In reply to James Le Cuirot from comment #2)
> There are situations where even a headless VM could require this file but
> there's not much we can do about that other than to suggest that you build
> icedtea instead.

At least for me having to deal with icedtea-bin at all is extra work. AFAIR it's a dependency for some java virtual ebuild which is pulled in if you emerge dev-java/oracle-jdk-bin. If there's a chance of getting rid of the icedtea-bin dependency alltogether I'm all for that.
Comment 4 James Le Cuirot gentoo-dev 2015-03-24 15:40:39 UTC
(In reply to Dirk Olmes from comment #3)
> At least for me having to deal with icedtea-bin at all is extra work. AFAIR
> it's a dependency for some java virtual ebuild which is pulled in if you
> emerge dev-java/oracle-jdk-bin. If there's a chance of getting rid of the
> icedtea-bin dependency alltogether I'm all for that.

That happens because oracle-jdk-bin is stable, all VMs require java-config, java-config requires virtual/jdk, and virtual/jdk-1.7 is unstable so it pulls in 1.6. This is obviously a very silly situation but stabilising 1.7 is the current hot topic of the week so it should get resolved soon.
Comment 5 Dirk Olmes 2015-03-25 09:13:23 UTC
(In reply to James Le Cuirot from comment #4)
> That happens because oracle-jdk-bin is stable, all VMs require java-config,
> java-config requires virtual/jdk, and virtual/jdk-1.7 is unstable so it
> pulls in 1.6. This is obviously a very silly situation but stabilising 1.7
> is the current hot topic of the week so it should get resolved soon.

Thanks for the explanation.
Comment 6 Andrew John Hughes 2015-03-26 03:03:36 UTC
What makes you think freetype is related to X? Fonts can be rendered onto off-screen surfaces for images and printing. 

In general, I think there is a place for a binary IcedTea package for slow architectures where it can take hours to build. However, at the moment, the binaries are only provided for architectures where it is least needed; on x86 & x86_64, it should be possibly to build in < 10 minutes on modern machines.
Comment 7 James Le Cuirot gentoo-dev 2015-03-26 09:44:31 UTC
(In reply to Andrew John Hughes from comment #6)
> What makes you think freetype is related to X? Fonts can be rendered onto
> off-screen surfaces for images and printing. 

I understand that though freetype doesn't pull in as many deps as I thought it did. I guess it wouldn't hurt to add it.

> In general, I think there is a place for a binary IcedTea package for slow
> architectures where it can take hours to build. However, at the moment, the
> binaries are only provided for architectures where it is least needed; on
> x86 & x86_64, it should be possibly to build in < 10 minutes on modern
> machines.

About 40 minutes on my last attempt, though that didn't include gcj. I do plan to create binaries for at least ppc though.
Comment 8 James Le Cuirot gentoo-dev 2015-09-08 09:36:40 UTC
Now fixed. freetype has been made a mandatory dependency.