Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 429294 - =dev-java/gnu-classpath-0.98-r3 uses gcc [gcj] to build but not chcecks gcc for USE=gcj
Summary: =dev-java/gnu-classpath-0.98-r3 uses gcc [gcj] to build but not chcecks gcc f...
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal minor (vote)
Assignee: Java team
Whiteboard: masked in 17.0 profiles
Depends on:
Reported: 2012-08-01 04:23 UTC by David Kredba
Modified: 2019-12-19 17:54 UTC (History)
3 users (show)

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


Note You need to log in before you can comment on or make changes to this bug.
Description David Kredba 2012-08-01 04:23:51 UTC
I would like to ask you to add check for gcj USE flag in gcc, because all my tries to build it failed on missing /usr/bin/gjar:

ebuild /usr/portage/dev-java/gnu-classpath/gnu-classpath-0.98-r3.ebuild compile
>>> Existing ${T}/environment for 'gnu-classpath-0.98-r3' will be sourced.
>>> Run 'clean' to start with a fresh environment.
>>> Checking classpath-0.98.tar.gz's mtime...
>>> WORKDIR is up-to-date, keeping...
 * checking ebuild checksums ;-) ...                                                        [ ok ]
 * checking miscfile checksums ;-) ...                                                      [ ok ]
>>> It appears that 'setup' has already executed for 'gnu-classpath-0.98-r3'; skipping.
>>> Remove '/var/tmp/portage/dev-java/gnu-classpath-0.98-r3/.setuped' to force setup.
>>> It appears that 'unpack' has already executed for 'gnu-classpath-0.98-r3'; skipping.
>>> Remove '/var/tmp/portage/dev-java/gnu-classpath-0.98-r3/.unpacked' to force unpack.
>>> It appears that 'prepare' has already executed for 'gnu-classpath-0.98-r3'; skipping.
>>> Remove '/var/tmp/portage/dev-java/gnu-classpath-0.98-r3/.prepared' to force prepare.
>>> It appears that 'configure' has already executed for 'gnu-classpath-0.98-r3'; skipping.
>>> Remove '/var/tmp/portage/dev-java/gnu-classpath-0.98-r3/.configured' to force configure.
>>> Compiling source in /var/tmp/portage/dev-java/gnu-classpath-0.98-r3/work/classpath-0.98 ...
make -j4 
Making all in lib
make[1]: Entering directory `/var/tmp/portage/dev-java/gnu-classpath-0.98-r3/work/classpath-0.98/lib'
top_builddir=.. top_srcdir=.. /bin/sh ./ standard
Adding java source files from srcdir '..'.
Adding java source files from VM directory ../vm/reference
/usr/bin/gjar cf gnu java javax org sun META-INF
gcc-config: error: could not run/locate 'gjar'
make[1]: *** [] Error 1

With gcj enabled gcc-4.7.1 it built fine. Thank you.

Reproducible: Always

Portage 2.2.0_alpha120 (default/linux/amd64/10.0/no-multilib, gcc-4.7.1, glibc-2.15-r2, 3.5.0-gentoo x86_64)
                        System Settings
System uname: Linux-3.5.0-gentoo-x86_64-Intel-R-_Core-TM-2_Quad_CPU_Q9550_@_2.83GHz-with-gentoo-2.1
Timestamp of tree: Wed, 01 Aug 2012 03:00:01 +0000
app-shells/bash:          4.2_p37
dev-java/java-config:     2.1.12
dev-lang/python:          2.7.3-r2, 3.2.3-r1
dev-util/cmake:           2.8.8-r3
dev-util/pkgconfig:       0.27
sys-apps/baselayout:      2.1-r1
sys-apps/openrc:          0.10.5
sys-apps/sandbox:         2.6
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.9.6-r3, 1.10.3, 1.11.6, 1.12.2
sys-devel/binutils:       2.22.90
sys-devel/gcc:            4.5.4, 4.6.3, 4.7.1
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r3
sys-kernel/linux-headers: 3.5 (virtual/os-headers)
sys-libs/glibc:           2.15-r2
Repositories: gentoo
ACCEPT_KEYWORDS="amd64 ~amd64"
CFLAGS="-O2 -pipe -ggdb -march=native"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/themes/oxygen-gtk/gtk-2.0 /var/bind /var/lib/hsqldb"
CONFIG_PROTECT_MASK="${EPREFIX}/etc/gconf /etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.4/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/cli-php5.4/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -pipe -ggdb -march=native"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs compressdebug config-protect-if-modified distlocks ebuild-locks fixlafiles news parallel-fetch parse-eapi-ebuild-head preserve-libs protect-owned sandbox sfperms splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch xattr"
FFLAGS="-O2 -pipe -ggdb -march=native"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="cs en"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
USE="R X a52 aac acl aften akonadi alsa amd64 amr aspell atlas attica berkdb blas bluetooth bluray boost branding bs2b bzip2 cairo caps cdda cddb cdio cdparanoia cdr cleartype cli consolekit cracklib crypt cups cvs cxx dbus declarative djvu doc dot dri dts dv dvb dvd dvdr dvi eds egl emboss emf emovix encode examples exif faac fam ffmpeg fftw fits flac fltk fluidsynth fontconfig fortran fpx freetds frei0r ftp gcj gd gdbm geoip ggi gif glut gmp gnome gnuplot gnutls gpac gpm gps graphviz gsl gsm gstreamer gtk guile h323 handbook hdf hdf5 iconv icu id3tag idn ieee1394 imagemagick imlib indi ipv6 ithreads jadetex java javascript jbig jpeg jpeg2k kate kde kipi ladspa lame lapack latex lcms ldap libass libnotify libsamplerate lirc live lua lzma lzo mad matroska md5sum midi mjpeg mms mmx mmxext mng modplug modules motif mp3 mp4 mpeg mplayer msn mtp mudflap multimedia musepack musicbrainz mysql nautilus ncurses netcdf netpbm nls nptl numpy nut objc objc++ objc-gc ocaml octave odbc ofa ogg ogm okular openal opencl openexr opengl openmp openssl pam pch pcre pdf perl pgplot phonon plotutils plplot png pnm policykit postgres postproc postscript pppd projectm pulseaudio pvr python qalculate qscintilla qt3support qt4 qthelp quad quicktime qwt radio rdesktop readline rle rss rtmp ruby samba sasl scanner scrobbler sdl semantic-desktop session slang smp sndfile sox speex spell sqlite srt sse sse2 sse4_1 ssl ssse3 startup-notification subversion svg swig szip t1lib taglib tcl tcpd teletext theora threads tidy tiff tk tools truetype twolame udev unicode usb utils v4l vaapi vala vcd vdpau video vnc vorbis vpx wav wavpack webkit wmf wxwidgets x264 xanim xattr xcb xft xine xinerama xml xosd xpm xps xscreensaver xv xvid xvmc zip zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" APACHE2_MPMS="worker" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="ptp2 canon hp215 sony_dscf1 sony_dscf55" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" FFTOOLS="aviocat cws2fws ffeval graph2dot ismindex pktdumper qt-faststart trasher" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" GRUB_PLATFORMS="pc" INPUT_DEVICES="evdev keyboard mouse joystick" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="cs en" LIRC_DEVICES="inputlirc pctv hauppauge hauppauge_dvb devinput" PHP_TARGETS="php5-4" PYTHON_TARGETS="python3_2 python2_7" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="nouveau" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"

                        Package Settings

dev-java/gnu-classpath-0.98-r3 was built with the following:
USE="alsa gmp gstreamer gtk qt4 xml -debug -doc -dssi -examples -gconf -gjdoc"
Comment 1 David Kredba 2012-08-01 04:29:45 UTC
After [doc] enabled, I found another thing:

configure: error: Building documentation requires GJDoc >= 0.7.9, 0.98 found

Kindly please look at this too.
Comment 2 Christoph Junghans gentoo-dev 2012-09-18 03:45:01 UTC
(In reply to comment #1)
> After [doc] enabled, I found another thing:
> configure: error: Building documentation requires GJDoc >= 0.7.9, 0.98 found
> Kindly please look at this too.
Same here, the problem is:
$ equery b /usr/bin/gjdoc 
 * Searching for /usr/bin/gjdoc ... 
dev-java/gjdoc-0.7.9-r2 (/usr/bin/gjdoc)
$ gjdoc --version
gjdoc 0.98
Comment 3 Ralph Sennhauser (RETIRED) gentoo-dev 2012-09-26 09:46:31 UTC
gjar is part of gnu-classpath or newer gcc[gcj] and /usr/bin/gjar is managed by gcc-config, so looks to me as if /usr/bin/gjar wasn't cleaned up from an earlier install.

gjdoc is available as gjdoc, newer gnu-classpath[gjdoc] or newer gcc[gcj] /usr/bin/gjdoc is managed by gcc-config or installed by gjdoc! Here as well configure finds not the gjdoc that it depends on, so one would think 0.98 should be fine.

Bottom line gnu-classpath doesn't depend on gcc[gcj], will have to look into a proper fix for this mess.
Comment 4 László Szalma 2015-02-07 08:48:32 UTC
I confirm gcc[gcj] not required. I found this bug, because /usr/bin/gjar was in my system, but i think it was left there from an old reinstall (root fs corruption), equery d /usr/bin/gjar wasn't found anything, i removed it, now gnu-classpath compiled fine.
Comment 5 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2015-07-22 16:55:30 UTC
Some action needs to be taken here. I think gcc-config should clean up its old symlinks rather than leaving non-working tools to confuse build systems.
Comment 6 James Le Cuirot gentoo-dev 2015-07-22 17:16:26 UTC
This is actually in hand. gnu-andrew has been making improvements to the ebuild in java-overlay. I have some pending changes too but I'm waiting on him to finish his bit. He's mega busy with icedtea releases right now though so please be patient.

This will be a bump to at least 0.99. He's talked about doing a new release but I'm not sure if that will happen soon.

It will no longer be slotted, which should simplify some of the surrounding logic.

IIRC, it will no longer install anything under /usr/bin. Tools will go somewhere under /usr/libexec instead.

gjdoc is only provided by gcc if you happen to have antlr:0 installed at build time. Fixing bug #552882 will explicitly prevent that. I will remove the standalone gjdoc package, which is obsolete, and gjdoc will be provided solely by gnu-classpath.
Comment 7 Andreas K. Hüttel gentoo-dev 2017-12-09 21:54:09 UTC
gcc[gcj] is going away...
Comment 8 David Kredba 2019-12-19 17:54:17 UTC
This is obsolete and gcj is gone for gcc versions 7 and higher.