Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 191668 - media-libs/pdflib-7.0.2 fails to install w/ USE=java
Summary: media-libs/pdflib-7.0.2 fails to install w/ USE=java
Status: VERIFIED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Java team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-09-08 10:14 UTC by Mathieu Z
Modified: 2007-09-13 09:55 UTC (History)
2 users (show)

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


Attachments
pdflib-7.0.2 emerge log (media-libs:pdflib-7.0.2:20070908-090337.log,151.82 KB, text/plain)
2007-09-08 10:16 UTC, Mathieu Z
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mathieu Z 2007-09-08 10:14:08 UTC
pdflib fail at make install with a 'No such file or directory error'

Reproducible: Always

Steps to Reproduce:
1. emerge pdflib
2.
3.
Comment 1 Mathieu Z 2007-09-08 10:16:22 UTC
Created attachment 130320 [details]
pdflib-7.0.2 emerge log

$ emerge --info
Portage 2.1.3.8 (default-linux/x86/2007.0, gcc-4.2.0, glibc-2.6.1-r0, 2.6.22-suspend2-r1 i686)
=================================================================
System uname: 2.6.22-suspend2-r1 i686 Intel(R) Pentium(R) M processor 1.70GHz
Timestamp of tree: Sat, 08 Sep 2007 07:20:01 +0000
app-shells/bash:     3.2_p17-r1
dev-java/java-config: 1.3.7, 2.0.33-r1
dev-lang/python:     2.5.1-r2
sys-apps/baselayout: 1.12.10-r4
sys-apps/sandbox:    1.2.18.1
sys-devel/autoconf:  2.13, 2.61-r1
sys-devel/automake:  1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.18
sys-devel/gcc-config: 1.4.0-r2
sys-devel/libtool:   1.5.24
virtual/os-headers:  2.6.22-r2
ACCEPT_KEYWORDS="x86 ~x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=pentium-m -pipe -fomit-frame-pointer -ggdb"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/splash /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-O2 -march=pentium-m -pipe -fomit-frame-pointer -ggdb"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks metadata-transfer parallel-fetch sandbox sfperms splitdebug strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://gentoo.osuosl.org ftp://distro.ibiblio.org/pub/linux/distributions/gentoo/ http://distro.ibiblio.org/pub/linux/distributions/gentoo/ ftp://ftp.ucsb.edu/pub/mirrors/linux/gentoo/ http://ftp.ucsb.edu/pub/mirrors/linux/gentoo/"
LANG="en_US.UTF-8"
LINGUAS="en zh zh_CN zh_TW ja"
MAKEOPTS="-j2"
PKGDIR="/usr/portage//packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage/"
PORTDIR_OVERLAY="/usr/local/portage/layman/musicbrainz /usr/local/portage/layman/initng /usr/local/portage/layman/gentoo-china /usr/local/portage/layman/science /usr/local/portage/layman/gentoo-taiwan /usr/local/portage/layman/sunrise /usr/local/portage/layman/xeffects /usr/local/portage/over-mine"
SYNC="rsync://rsync.us.gentoo.org/gentoo-portage"
USE="3dnow X a52 aac aalib acl acpi aim alsa apache2 asf audiofile bash-completion berkdb bidi bitmap-fonts blas bluetooth browserplugin bzip2 cairo caps cariro cdda cdio cdr cjk cli cracklib crypt ctype cups curl cvs dbus directfb divx4linux dri dts dvb dvd dvdr dvdread dvi emacs emacs-w3 encode exif fbcon ffmpeg fftw firefox flac flash fontconfig fortran ftp gd gdbm ginac glitz glut gmp gnome gnutls gphoto2 gpm gps gs gstreamer gtk gtk2 gtkhtml hal hdaps howl httpd iconv icq ieee1394 imagemagick imap immqt-bc innodb ipv6 isdnlog jabber java javascript joystick jpeg jpeg2k kde kdeenablefinal kdehiddenvisibility kdexdelta kerberos lcms ldap libcaca lirc live m17n-lib mad matroska midi mime mmx mmxext mng mono mozdevelop mp3 mp4 mpeg msn mssql mudflap mule musepack musicbrainz mysql mysqli nas ncurses nls nntp nptl nptlonly nsplugin odbc ogg openal opengl openmp oscar pam pam_console pcmcia pcre pda pdf perl php plotutils png posix postgres ppds pppd profile python qt3 qt4 quicktime readline real reflection ruby samba scanner sdl session simplexml slang soap sockets socks5 speex spell spl sse sse2 ssl subversion svg svga tcl tcltk tcpd tetex theora theroa threads tidy tiff timidity tk tokenizer truetype truetype-fonts type1-fonts unicode upnp usb utf8 v4l v4l2 vcd vhosts videos vim-syntax vlm vorbis wifi win32codecs wma wmf wmp wmv wxwindows x86 xcb xcomposite xfce xforms xine xinerama xml xmlrpc xorg xpm xprint xsl xslt xulrunner xv xvid yahoo zip zlib" ALSA_CARDS="intel8x0 intel8x0m" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INITNG_PLUGINS="also bash_launcher chdir chroot conflict cpout critical ctrlaltdel daemon_clean dbus_event debug_commands envparser find fmon fstat history idleprobe initctl interactive iparser last limit lockfile logfile netdev netprobe ngc4 ngcs nge pause provide reload renice rlparser simple_launcher stcmd stdout suid syncron syslog sysreq unneeded usplash" INPUT_DEVICES="keyboard mouse joystick evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en zh zh_CN zh_TW ja" USERLAND="GNU" VIDEO_CARDS="radeon vesa vga r300"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRES
Comment 2 Jakub Moc (RETIRED) gentoo-dev 2007-09-08 10:21:33 UTC
(In reply to comment #0)
> pdflib fail at make install with a 'No such file or directory error'

That's not the error, just a stupid warning. This one is:

<snip>
bind/pdflib/java/pdflib.jar does not exist
</snip>

No clue whatsoever about this stuff and this part of ebuild is completely untouched since 6.0.x at least.

java folks, all yours.
Comment 3 Andreas Arens 2007-09-08 15:00:24 UTC
Please check your /usr/lib/jvm directory for existence. I ran into the same and after some amount of searching I found out the I accidently running /usr/bin/cleanlinks in /usr/lib was the cause. It deleted 'empty directories', which is a bad think on its own, but worse didn't count symlinks for population.

I had to re-emerge all my java jdks and jres (quite some on x86_64 multilib).
Just remerging your current system vm was enough to make the emerge pass again.
Comment 4 Vlastimil Babka (Caster) (RETIRED) gentoo-dev 2007-09-08 15:59:59 UTC
What's the output of java-check-environment?
Comment 5 Mathieu Z 2007-09-08 16:01:58 UTC
(In reply to comment #3)
> Please check your /usr/lib/jvm directory for existence. I ran into the same and
> after some amount of searching I found out the I accidently running
> /usr/bin/cleanlinks in /usr/lib was the cause. It deleted 'empty directories',
> which is a bad think on its own, but worse didn't count symlinks for
> population.
> 
> I had to re-emerge all my java jdks and jres (quite some on x86_64 multilib).
> Just remerging your current system vm was enough to make the emerge pass again.
> 

It exists and links are good.(In reply to comment #4)
> What's the output of java-check-environment?
> 

 $ java-check-environment 
 * === Java Environment Checker ===
 * The purpose of this script is to check the sanity of your Java Environment.
 * We have significantly changed and improved the way Java is handled in many
 * respects.
 * Please refer to our upgrade guide for details:
 *      http://www.gentoo.org/proj/en/java/java-upgrade.xml

 * Checking fastjar ...                                                   [ ok ]

 * Checking vm_environment_files ...                                      [ ok ]

 * Checking user_settings ...                                             [ ok ]

 * Checking generation_1_system_vm ...
 * No Generation-1 System VM is set! (no /etc/env.d/20java)
 * It doesn't look like java-config-1 sees any installed VMs.
 * It is most likely because you don't have a 1.4 JDK installed
 * This is required for generation-1 to work properly.
 * You will want to emerge =virtual/jdk-1.4*                              [ !! ]

 * Some problems were found. Please follow the instructions above, and rerun java-check-environment

Why do I need jdk-1.4?? I have 1.5 and 1.6 installed...
Comment 6 Vlastimil Babka (Caster) (RETIRED) gentoo-dev 2007-09-08 16:11:48 UTC
> Why do I need jdk-1.4?? I have 1.5 and 1.6 installed...
 
Well, for some packages you would need it. But not this one.

The problem is that pkg_setup() from java eclass is not called, because it's overriden by perl-module's pkg_setup() (and maybe others I didn't check)
The ebuild should have own pkg_setup() and call all inherited ones manually.
There should really be a way to detect this automatically :(
Comment 7 Jakub Moc (RETIRED) gentoo-dev 2007-09-09 22:23:55 UTC
(In reply to comment #6)
> The problem is that pkg_setup() from java eclass is not called, because it's
> overriden by perl-module's pkg_setup() (and maybe others I didn't check)

Just move the java-pkg-opt-2 to be the last one in inherit then, we don't need any other one (well in fact there's just the perl-module one).
Comment 8 David Gurvich 2007-09-11 15:36:52 UTC
Error message told me what symlink pdflib wanted on my system in /usr/lib/jvm/ and after creating that it built with no problems.
Comment 9 Mathieu Z 2007-09-12 21:47:33 UTC
(In reply to comment #8)
> Error message told me what symlink pdflib wanted on my system in /usr/lib/jvm/
> and after creating that it built with no problems.
> 
Which symlink??

I think the problem is that in the ebuild during myconf ${JAVA_HOME} is expanded to /opt/sun_jdk_1.4.2-3 which is what's written in /etc/env.d/20java...

This is really odd because I check my env before running ebuild, and $JAVA_HOME is set to /etc/java-config-2/current-system-vm/. I don't know why during ebuild compile, it's configured with the wrong value...

So my fix is to emerge using ebuild command, but do this:
JAVA_HOME=/etc/java-config-2/current-system-vm/ ebuild pdflib-7.0.2.ebuild emerge
Comment 10 Vlastimil Babka (Caster) (RETIRED) gentoo-dev 2007-09-13 09:34:36 UTC
(In reply to comment #7)
> Just move the java-pkg-opt-2 to be the last one in inherit then, we don't need
> any other one (well in fact there's just the perl-module one).
 
Hm I don't think that perl-module.eclass calls perlinfo in pkg_setup (which sets some variables as java eclass does) just for fun, so I'm not going to simply override it. Fixed like this:

+pkg_setup() {
+       java-pkg-opt-2_pkg_setup
+       perl-module_pkg_setup
+}
Comment 11 Jakub Moc (RETIRED) gentoo-dev 2007-09-13 09:55:17 UTC
(In reply to comment #10)
> Hm I don't think that perl-module.eclass calls perlinfo in pkg_setup (which
> sets some variables as java eclass does) just for fun, so I'm not going to
> simply override it.

The only thing the ebuild uses from the perl-module eclass is perlinfo - and calls it manually at the needed place :D. It's completely unneeded elsewhere. Oh well, doesn't matter much.