# [RISOLTO] Failed to emerge net-libs/xulrunner-1.9.2.4

## lsegalla

Dopo la sfiga che mi ha colto (https://forums.gentoo.org/viewtopic-p-6349997.html#6349997) mi ritrovo a sistemare le ultime cosine per rimettere a posto la mia gentoobox. Ora mi ritrovo con un emerge -uDN world dove andro' a tirarmi su un aggiornamento di firefox, e quindi xulrunner, nella fattispecie:

```
# emerge -uDNp mozilla-firefox

These are the packages that would be merged, in order:

Calculating dependencies... done!

[ebuild     U ] net-libs/xulrunner-1.9.2.4 [1.9.2.3-r1] USE="ipc%*" 

[ebuild     U ] www-client/mozilla-firefox-3.6.4 [3.6.3] USE="ipc%*" 

```

Inoltre vi anticipo già:

```
# emerge --info xulrunner

Portage 2.1.8.3 (default/linux/x86/10.0, gcc-4.4.3, glibc-2.11.2-r0, 2.6.30-tuxonice-r6 i686)

=================================================================

                        System Settings

=================================================================

System uname: Linux-2.6.30-tuxonice-r6-i686-Intel-R-_Pentium-R-_Dual_CPU_T2310_@_1.46GHz-with-gentoo-1.12.13

Timestamp of tree: Mon, 12 Jul 2010 16:00:01 +0000

app-shells/bash:     4.0_p37

dev-java/java-config: 2.1.11

dev-lang/python:     2.6.5-r2, 3.1.2-r3

dev-util/cmake:      2.6.4-r3

sys-apps/baselayout: 1.12.13

sys-apps/sandbox:    1.6-r2

sys-devel/autoconf:  2.13, 2.65

sys-devel/automake:  1.7.9-r1, 1.8.5-r3, 1.9.6-r3, 1.10.3, 1.11.1

sys-devel/binutils:  2.20.1-r1

sys-devel/gcc:       4.3.4, 4.4.3-r2

sys-devel/gcc-config: 1.4.1

sys-devel/libtool:   2.2.6b

virtual/os-headers:  2.6.30-r1

ACCEPT_KEYWORDS="x86"

ACCEPT_LICENSE="*"

CBUILD="i686-pc-linux-gnu"

CFLAGS="-O2 -march=native -pipe -fomit-frame-pointer"

CHOST="i686-pc-linux-gnu"

CONFIG_PROTECT="/etc /usr/share/X11/xkb /usr/share/config /var/lib/hsqldb"

CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"

CXXFLAGS="-O2 -march=native -pipe -fomit-frame-pointer"

DISTDIR="/usr/portage/distfiles"

FEATURES="assume-digests distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch"

GENTOO_MIRRORS="http://distfiles.gentoo.org"

LANG="it_IT.UTF-8"

LDFLAGS="-Wl,-O1"

LINGUAS="it"

MAKEOPTS="-j1"

PKGDIR="/usr/portage/packages"

PORTAGE_CONFIGROOT="/"

PORTAGE_RSYNC_EXTRA_OPTS="--exclude-from=/etc/portage/rsync_excludes"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

SYNC="rsync://rsync.gentoo.org/gentoo-portage"

USE="X accessibility acl acpi aiglx alsa apm berkdb bluetooth bzip2 cairo cdda cdio cli consolekit cracklib crypt cups cxx dbus directfb dri dvd dvdr eapi-2 encode fbcon ffmpeg flac foomaticdb fortran gcj gdbm gif glitz gpm gtk iconv ipv6 java jpeg kde kerberos laptop mad mjpeg mmx modules mp3 mpeg mtrr mudflap mysql ncurses nls nptl nptlonly nsplugin ogg opencore-amr opengl openmp pam pcre perl png ppds pppd python qt-static qt3 qt3support qt4 rdesktop readline reflection samba semantic-desktop session sndfile spl sql sse ssl svg symlink sysfs tcpd theora tiff truetype unicode usb utempter vnc vorbis webkit win32codecs winbind x86 xine xorg xulrunner zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 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 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" ELIBC="glibc" INPUT_DEVICES="evdev keyboard mouse synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="it" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="vesa fbdev intel i810 965GM" 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" 

Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTDIR_OVERLAY

=================================================================

                        Package Settings

=================================================================

net-libs/xulrunner-1.9.2.3-r1 was built with the following:

USE="alsa dbus java -custom-optimization -debug -gnome -libnotify -startup-notification -system-sqlite -wifi" 

CFLAGS="-march=native -pipe -Wno-return-type -w"

CXXFLAGS="-march=native -pipe -Wno-return-type -w"

```

Grazie a dio ho appena risistemato (quasi) tutto, e ho appena eseguito un revdep-rebuild che ha rimesso le cose a posto. Però ora facendo un update di world mi imbatto in un problemino di xulrunner (java nella fattispecie). Segue il msg d'errore:

```
checking MOZ_DBUS_GLIB_CFLAGS... -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include  

checking MOZ_DBUS_GLIB_LIBS... -ldbus-glib-1 -ldbus-1 -lpthread -lrt -lgobject-2.0 -lglib-2.0  

checking __attribute__ ((aligned ())) support... trying 64

64

checking for snd_pcm_open in -lasound... yes

configure: error: The header jni.h was not found.  Set $JAVA_HOME to your java sdk directory, use --with-java-bin-path={java-bin-dir}, or reconfigure with --disable-javaxpcom.

!!! Please attach the following file when seeking support:

!!! /var/tmp/portage/net-libs/xulrunner-1.9.2.4/work/mozilla-1.9.2/config.log

 * ERROR: net-libs/xulrunner-1.9.2.4 failed:

 *   econf failed

 * 

 * Call stack:

 *     ebuild.sh, line   54:  Called src_configure

 *   environment, line 7353:  Called econf

 *     ebuild.sh, line  544:  Called die

 * The specific snippet of code:

 *                      die "econf failed"

 * 

 * If you need support, post the output of 'emerge --info =net-libs/xulrunner-1.9.2.4',

 * the complete build log and the output of 'emerge -pqv =net-libs/xulrunner-1.9.2.4'.

!!! When you file a bug report, please include the following information:

GENTOO_VM=sun-jre-bin-1.6  CLASSPATH="" JAVA_HOME="/opt/sun-jre-bin-1.6.0.20"

JAVACFLAGS="-source 1.4 -target 1.4" COMPILER=""

and of course, the output of emerge --info

 * The complete build log is located at '/var/tmp/portage/net-libs/xulrunner-1.9.2.4/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/net-libs/xulrunner-1.9.2.4/temp/environment'.

 * S: '/var/tmp/portage/net-libs/xulrunner-1.9.2.4/work/mozilla-1.9.2'

```

A leggere quel che mi dice (correggetemi se sbaglio) si direbbe che c'è solo un errore della JAVA_HOME. Mi par di aver trovato qualcosa di utile qui: https://bugs.gentoo.org/show_bug.cgi?id=228605

Per quanto riguarda questo Set $JAVA_HOME to your java sdk directory io ho già tentato di impostarla sta home (non ricordo come ho fatto e quindi sto rifacendo tutto di nuovo così vi posso anche documentare). Ora vedo che:

```
# echo $JAVA_HOME

/etc/java-config-2/current-system-vm

```

Dovrebbe essere corretto a quanto vedo scritto sul gentoo bug 228605, aggiungo per scrupolo la riga in make.conf, ma non cambia nulla.

Vado a vedere cosa uso, e mi sembra vada bene:

```
# java-config -L

The following VMs are available for generation-2:

1)      Sun JDK 1.5.0.22 [sun-jdk-1.5]

2)      Sun JDK 1.6.0.20 [sun-jdk-1.6]

*)      Sun JRE 1.6.0.20 [sun-jre-bin-1.6]

```

Quindi provo: 

```
# export JAVA_HOME="/opt/sun-jre-bin-1.6.0.20/"

```

Infine l'ultimo passaggio, poi mi arrendo:

```
# cd $JAVA_HOME

```

Lì scrivono quindi di creare un link simbolico a ln -s ../blackdown-jdk-1.4.2.03/include (in quel caso) ma nel mio caso non trovo niente.

Se sono un casinista mi scuso, spero di avervi dato sufficienti informazioni per darmi una spinta.

(Mini quesito: è utile tirare via da world xulrunner secondo voi? attendo consiglio)Last edited by lsegalla on Thu Jul 15, 2010 5:46 am; edited 1 time in total

----------

## Onip

sun-jre non è la sun-jdk. Dagli di 

```
# java-config -S 2
```

e riprova

----------

## lsegalla

Benissimo, intanto ti ringrazio. Quindi riprovando:

```
# java-config -S 2

Now using sun-jdk-1.6 as your generation-2 system JVM

```

Provo quindi a rieffettuare emerge e mi pare che tutto funzioni (altrimenti si sarebbe già bloccato credo), quindi marco come RISOLTO.

Ho solo tre quesiti rapidi che chiedo per conferma:

IL PRIMO

Vedo che la mia JAVA HOME è /etc/java-config-2/current-system-vm - quindi stando così le cose dovevo solo preoccuparmi che fosse settato il tutto con java-config? Cioè non ho bisogno di fare mai quel comando export JAVA_HOME="/opt/sun-jdk-1.6.0.20/" (mi sembra evidente ma chiedo conferma)

IL SECONDO

Faccio confusione fra JDK e JRE (e non sono l'unico googlando in giro). L'unica cosa più chiara me la dice eix spiegando gli acronimi (cioè Development Kit e il Runtime Environment). Perchè noi abbiamo del development kit? Non dovrebbe essere sufficiente il JRE?

IL TERZO

E' utile tirare via da world xulrunner secondo voi? Dipende da cosa voglio direte voi. Semplicemente io aggiorno ad ogni release di firefox che viene messa in portage. Xulrunner e Firefox vanno sempre di pari passo? Quindi o tolgo entrambi o li lascio entrambi, giusto?

----------

## Onip

a fare gli export necessari ci pensa java-config. Se guardi bene quel percorso è un link simbolico che punta alla java-vm che desideri utilizzare.

jre è solamente il runtime, praticamente il comando java. Serve per eseguire i programmi in java, ma non per compilare i sorgenti.

jdk è il jre più tutti i vari tool di sviluppo.

A noi gentooisti serve, di conseguenza, una jdk per poter compilare i vari programmi. Diverso è il discorso di una distribuzione binaria per cui un jre può essere sufficiente.

----------

