# Problem z kompilacją mozilla-firefox-3.5.1-r1

## one_and_only

Podczas próby aktualizacji firefoksa do wersji 3.5.1-r1 pojawia się błąd:

```

  -I/usr/lib64/xulrunner-devel-1.9.1.1/sdk/include    -fPIC   -fno-rtti -fno-handle-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-long-long -march=core2 -fPIC -Wno-return-type -w -fno-strict-aliasing -fshort-wchar -pthread -pipe  -DNDEBUG -DTRIMMED -Os -freorder-blocks -fno-reorder-functions    -DMOZILLA_CLIENT -include ../../../mozilla-config.h -Wp,-MD,.deps/nsBrowserDirectoryProvider.pp nsBrowserDirectoryProvider.cpp

nsBrowserDirectoryProvider.cpp:48:39: error: nsAppDirectoryServiceDefs.h: Nie ma takiego pliku ani katalogu

nsBrowserDirectoryProvider.cpp:50:36: error: nsCategoryManagerUtils.h: Nie ma takiego pliku ani katalogu

nsBrowserDirectoryProvider.cpp:57:25: error: nsXULAppAPI.h: Nie ma takiego pliku ani katalogu

nsBrowserDirectoryProvider.cpp: In member function ‘virtual nsresult nsBrowserDirectoryProvider::GetFile(const char*, PRBool*, nsIFile**)’:

nsBrowserDirectoryProvider.cpp:117: error: ‘NS_APP_BOOKMARKS_50_FILE’ was not declared in this scope

nsBrowserDirectoryProvider.cpp:130: error: ‘NS_APP_DEFAULTS_50_DIR’ was not declared in this scope

nsBrowserDirectoryProvider.cpp:148: error: ‘NS_APP_USER_PROFILE_50_DIR’ was not declared in this scope

nsBrowserDirectoryProvider.cpp:169: error: ‘NS_APP_USER_PROFILE_50_DIR’ was not declared in this scope

nsBrowserDirectoryProvider.cpp: In member function ‘virtual nsresult nsBrowserDirectoryProvider::GetFiles(const char*, nsISimpleEnumerator**)’:

nsBrowserDirectoryProvider.cpp:298: error: ‘NS_APP_SEARCH_DIR_LIST’ was not declared in this scope

nsBrowserDirectoryProvider.cpp:307: error: ‘NS_APP_SEARCH_DIR’ was not declared in this scope

nsBrowserDirectoryProvider.cpp:308: error: ‘NS_APP_USER_SEARCH_DIR’ was not declared in this scope

nsBrowserDirectoryProvider.cpp:316: error: ‘XRE_EXTENSIONS_DIR_LIST’ was not declared in this scope

nsBrowserDirectoryProvider.cpp: In static member function ‘static nsresult nsBrowserDirectoryProvider::Register(nsIComponentManager*, nsIFile*, const char*, const char*, const nsModuleComponentInfo*)’:

nsBrowserDirectoryProvider.cpp:348: error: ‘nsICategoryManager’ was not declared in this scope

nsBrowserDirectoryProvider.cpp:348: error: template argument 1 is invalid

nsBrowserDirectoryProvider.cpp:349: error: invalid type in declaration before ‘(’ token

nsBrowserDirectoryProvider.cpp:349: error: cannot convert ‘const nsGetServiceByContractID’ to ‘int’ in initialization

nsBrowserDirectoryProvider.cpp:353: error: base operand of ‘->’ is not a pointer

nsBrowserDirectoryProvider.cpp: In static member function ‘static nsresult nsBrowserDirectoryProvider::Unregister(nsIComponentManager*, nsIFile*, const char*, const nsModuleComponentInfo*)’:

nsBrowserDirectoryProvider.cpp:367: error: ‘nsICategoryManager’ was not declared in this scope

nsBrowserDirectoryProvider.cpp:367: error: template argument 1 is invalid

nsBrowserDirectoryProvider.cpp:368: error: invalid type in declaration before ‘(’ token

nsBrowserDirectoryProvider.cpp:368: error: cannot convert ‘const nsGetServiceByContractID’ to ‘int’ in initialization

nsBrowserDirectoryProvider.cpp:372: error: base operand of ‘->’ is not a pointer

gmake[5]: *** [nsBrowserDirectoryProvider.o] Błąd 1

gmake[5]: Opuszczenie katalogu `/var/tmp/portage/www-client/mozilla-firefox-3.5.1-r1/work/mozilla-1.9.1/browser/components/dirprovider'

gmake[4]: *** [libs] Błąd 2

gmake[4]: Opuszczenie katalogu `/var/tmp/portage/www-client/mozilla-firefox-3.5.1-r1/work/mozilla-1.9.1/browser/components'

gmake[3]: *** [libs] Błąd 2

gmake[3]: Opuszczenie katalogu `/var/tmp/portage/www-client/mozilla-firefox-3.5.1-r1/work/mozilla-1.9.1/browser'

gmake[2]: *** [libs_tier_app] Błąd 2

gmake[2]: Opuszczenie katalogu `/var/tmp/portage/www-client/mozilla-firefox-3.5.1-r1/work/mozilla-1.9.1'

gmake[1]: *** [tier_app] Błąd 2

gmake[1]: Opuszczenie katalogu `/var/tmp/portage/www-client/mozilla-firefox-3.5.1-r1/work/mozilla-1.9.1'

make: *** [default] Błąd 2

 * 

 * ERROR: www-client/mozilla-firefox-3.5.1-r1 failed.

 * Call stack:

 *               ebuild.sh, line   42:  Called src_compile

 *             environment, line 3322:  Called die

 * The specific snippet of code:

 *       emake ${jobs} || die

 *  The die message:

 *   (no error message)

 * 

 * If you need support, post the topmost build error, and the call stack if relevant.

 * A complete build log is located at '/var/tmp/portage/www-client/mozilla-firefox-3.5.1-r1/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/www-client/mozilla-firefox-3.5.1-r1/temp/environment'.

 * 

```

Czyli tak na oko brakuje kilku plików nagłółkowych, które jednak znajdują się gdzieś tam w źródłach. W czym może być problem?

Moje emerge --info:

```

kml@kml ~ % emerge --info

Portage 2.3_pre13820 (default/linux/amd64/2008.0, gcc-4.3.3, glibc-2.10.1-r0, 2.6.30-gentoo-r2 x86_64)

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

System uname: Linux-2.6.30-gentoo-r2-x86_64-Intel-R-_Core-TM-2_Duo_CPU_T9300_@_2.50GHz-with-gentoo-2.0.1

Timestamp of tree: Sat, 01 Aug 2009 19:00:01 +0000

app-shells/bash:     4.0_p28

dev-java/java-config: 2.1.8-r1

dev-lang/python:     2.6.2-r1

dev-util/cmake:      2.6.4-r2

sys-apps/baselayout: 2.0.1

sys-apps/openrc:     0.4.3-r3

sys-apps/sandbox:    2.0

sys-devel/autoconf:  2.13, 2.63-r1

sys-devel/automake:  1.7.9-r1, 1.9.6-r2, 1.10.2, 1.11

sys-devel/binutils:  2.19.1-r1

sys-devel/gcc-config: 1.4.1

sys-devel/libtool:   2.2.6a

virtual/os-headers:  2.6.30-r1

ACCEPT_KEYWORDS="amd64 ~amd64"

CBUILD="x86_64-pc-linux-gnu"

CFLAGS="-march=core2 -msse4.1"

CHOST="x86_64-pc-linux-gnu"

CONFIG_PROTECT="/etc /usr/share/config"

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

CXXFLAGS="-march=core2 -msse4.1"

DISTDIR="/usr/portage/distfiles"

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

GENTOO_MIRRORS="http://gentoo.prz.rzeszow.pl "

LANG="pl_PL.utf8"

LDFLAGS="-Wl,-O1"

LINGUAS="pl en"

MAKEOPTS="-j3"

PKGDIR="/usr/portage/packages"

PORTAGE_CONFIGROOT="/"

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"

PORTDIR_OVERLAY="/usr/local/portage/layman/kde-testing /usr/local/portage/layman/roslin /usr/local/portage/layman/arcon /usr/local/portage/layman/x11 /usr/local/portage/layman/mpd /usr/local/portage/layman/berkano /usr/local/portage/layman/Eaedificata"

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

USE="X acl acpi alsa amd64 bash-completion berkdb branding bzip2 cdr cli cracklib crypt cups dri enca fortran gdbm gpm hal iconv ipv6 isdnlog jpeg jpeg2k kde laptop mmx mudflap multilib ncurses nls nptl nptlonly nvidia opengl openmp pam pcre perl pppd python qt4 readline reflection session spl sse sse2 ssl startup-notification sysfs tcpd unicode vim-syntax xcomposite xorg 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 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="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="pl en" USERLAND="GNU" VIDEO_CARDS="nvidia"

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

```

----------

## Arfrever

Czy zainstalowany jest =net-libs/xulrunner-1.9.1*?

----------

## one_and_only

 *Arfrever wrote:*   

> Czy zainstalowany jest =net-libs/xulrunner-1.9.1*?

 

Tak:

```

[I] net-libs/xulrunner

     Available versions:  

   (1.8)   1.8.1.19

   (1.9)   1.9.0.10 1.9.0.11-r1 (~)1.9.0.12 (~)1.9.1-r1 (~)1.9.1.1 (~)1.9.1.1-r1

   {custom-optimization dbus debug elibc_FreeBSD gnome ipv6 java python startup-notification xinerama}

     Installed versions:  1.9.1.1-r1(1.9)(22:51:46 08/02/09)(java python startup-notification -custom-optimization -dbus -debug -elibc_FreeBSD -gnome)

```

Coś mi świta, że dodałem USE java do firefoksa i xulrunnera ostatnio, zobaczę czy zemerguje się bez tej flagi.

W chwili obecnej, przy najnowszym xulrunnerze i firefoksie 3.5.1, próba uruchomienia firefoksa kończy się błędem:

```
Could not find compatible GRE between version 1.9.1 and 1.9.1
```

edit:

po dokładniejszym przejrzeniu loga:

```
* Running autoheader ...

  [ !! ]
```

autoheader.out (fragment):

```

***** autoheader *****

***** PWD: /var/tmp/portage/www-client/mozilla-firefox-3.5.1-r1/work/mozilla-1.9.1/js/src

***** autoheader

/usr/bin/autoheader-2.13: Symbol `ATK_MAJOR_VERSION' is not covered by /usr/share/autoconf/

acconfig.h

/usr/bin/autoheader-2.13: Symbol `ATK_MINOR_VERSION' is not covered by /usr/share/autoconf/

acconfig.h

/usr/bin/autoheader-2.13: Symbol `ATK_REV_VERSION' is not covered by /usr/share/autoconf/ac

config.h

```

Jeśli chodzi o autoconfa to:

```

[I] sys-devel/autoconf

     Available versions:  

   (2.1)   2.13

   (2.5)   2.59-r7 2.61-r2 (~)2.62-r1 2.63 2.63-r1 **2.64 **9999

   {emacs}

     Installed versions:  2.13(2.1)(00:06:06 08/03/09) 2.63-r1(2.5)(22:06:59 07/23/09)(-emacs)

```

----------

## dziadu

Czy było *na wszelki wypadek* robione

```
source /etc/profile

env-update
```

----------

## one_and_only

 *dziadu wrote:*   

> Czy było *na wszelki wypadek* robione
> 
> ```
> source /etc/profile
> 
> ...

 

Nie, ale sprawdziłem - ten sam efekt co wcześniej  :Sad: 

----------

## dziadu

Eeee, fail... To jest prawidłowa kolejność:

```
env-update

source /etc/profile
```

----------

## one_and_only

Bez zmian, podobnie po aktualizacji do 3.5.2  :Sad:  Czy ktoś ma jakiś pomysł co to może być?

----------

## dziadu

A czy firefox ma flagę xulrunner włączoną? Pokaż 

```
emerge mozilla-firefox -pv
```

----------

## one_and_only

 *dziadu wrote:*   

> A czy firefox ma flagę xulrunner włączoną? Pokaż 
> 
> ```
> emerge mozilla-firefox -pv
> ```
> ...

 

Nie mam teraz dostępu do systemu, ale firefox 3.5 nie ma flagi xulrunner AFAIR.

----------

## dziadu

Moja wina, masz rację. W takim razie, póki co, nie mam innych pomysłów  :Neutral: 

----------

## one_and_only

Chyba to samo co tu https://bugs.gentoo.org/show_bug.cgi?id=278448 rozwiazania brak :/

----------

