# [SOLVED] Fehler beim Bauen von xulrunner-1.9.8.2

## suilenroc1183

Hallo,

ich habe letzte Nacht mein System aktualisiert. Das letzte Update war ca. 14 Tage her, da ich wegen eines anderen Updateproblems und dringender Verfügbarkeit mein Backup zurück gespielt habe.

Bei der Aktualisierung von xulrunner tritt folgender Fehler auf:

```

i686-pc-linux-gnu-g++ -o nsTHashtable.o -c -I../../dist/system_wrappers -include ../../config/gcc_hidden.h -DOSTYPE=\"Linux2.6.32.9-CS-AMDD1200-0\" -DOSARCH=Linux -DTARGET_XPCOM_ABI=\"x86-gcc3\" -I./../build  -I. -I. -I../../dist/include -I../../dist/include/nsprpub  -I/usr/include/nspr -I/usr/include/nss      -I/usr/include   -fPIC  -I/usr/include -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=athlon-xp -pipe -Wno-return-type -w -fno-strict-aliasing -fshort-wchar -pthread -pipe  -DNDEBUG -DTRIMMED -O2  -I/usr/include -DMOZILLA_CLIENT -include ../../mozilla-config.h -Wp,-MD,.deps/nsTHashtable.pp nsTHashtable.cpp

nsTHashtable.cpp: In function 'PRUint32 HashString(const nsAString&)':

nsTHashtable.cpp:58: error: 'PR_ROTATE_LEFT32' was not declared in this scope

nsTHashtable.cpp: In function 'PRUint32 HashString(const nsACString&)':

nsTHashtable.cpp:81: error: 'PR_ROTATE_LEFT32' was not declared in this scope

nsTHashtable.cpp: In function 'PRUint32 HashString(const char*)':

nsTHashtable.cpp:94: error: 'PR_ROTATE_LEFT32' was not declared in this scope

nsTHashtable.cpp: In function 'PRUint32 HashString(const PRUnichar*)':

nsTHashtable.cpp:107: error: 'PR_ROTATE_LEFT32' was not declared in this scope

nsTHashtable.cpp: In static member function 'static PRUint32 nsIDHashKey::HashKey(const nsID*)':

nsTHashtable.cpp:128: error: 'PR_ROTATE_LEFT32' was not declared in this scope

```

Das ganze habe ich aber schon einmal vor dem Backup gebaut bekommen.

Eine Behbung des Fehlers mit

```

revdep-rebuild

lafilefixer --justfixit

```

habe ich schon probiert, es hat aber keine Verbesserung gebracht.

Kann mir jemand Hinweise geben,  woran xulrunner scheitert.

Danke für die Antworten

suilenroc1183

emerge --info

```

i686-pc-linux-gnu-g++ -o nsTHashtable.o -c -I../../dist/system_wrappers -include ../../config/gcc_hidden.h -DOSTYPE=\"Linux2.6.32.9-CS-AMDD1200-0\" -DOSARCH=Linux -DTARGET_XPCOM_ABI=\"x86-gcc3\" -I./../build  -I. -I. -I../../dist/include -I../../dist/include/nsprpub  -I/usr/include/nspr -I/usr/include/nss      -I/usr/include   -fPIC  -I/usr/include -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=athlon-xp -pipe -Wno-return-type -w -fno-strict-aliasing -fshort-wchar -pthread -pipe  -DNDEBUG -DTRIMMED -O2  -I/usr/include -DMOZILLA_CLIENT -include ../../mozilla-config.h -Wp,-MD,.deps/nsTHashtable.pp nsTHashtable.cpp

nsTHashtable.cpp: In function 'PRUint32 HashString(const nsAString&)':

nsTHashtable.cpp:58: error: 'PR_ROTATE_LEFT32' was not declared in this scope

nsTHashtable.cpp: In function 'PRUint32 HashString(const nsACString&)':

nsTHashtable.cpp:81: error: 'PR_ROTATE_LEFT32' was not declared in this scope

nsTHashtable.cpp: In function 'PRUint32 HashString(const char*)':

nsTHashtable.cpp:94: error: 'PR_ROTATE_LEFT32' was not declared in this scope

nsTHashtable.cpp: In function 'PRUint32 HashString(const PRUnichar*)':

nsTHashtable.cpp:107: error: 'PR_ROTATE_LEFT32' was not declared in this scope

nsTHashtable.cpp: In static member function 'static PRUint32 nsIDHashKey::HashKey(const nsID*)':

nsTHashtable.cpp:128: error: 'PR_ROTATE_LEFT32' was not declared in this scope

```

build.log

http://pastebin.com/u2zmAGkC

Edit: build.log bei pastebin eingefügtLast edited by suilenroc1183 on Sat Aug 14, 2010 10:12 am; edited 2 times in total

----------

## ChrisJumper

Ich halte deine Fehlermeldung nicht für eine Fehlermeldung den einen Abbruch rechtfertigt.. solche "was not declared in this scope" Meldungen müssen nicht immer etwas mit einem Compiler-Abbruch zusammenhängen.

Starte den emerge Vorgang doch nochmal und trage hier die letzten 20-30 Zeile ein.

----------

## franzf

 *ChrisJumper wrote:*   

> Ich halte deine Fehlermeldung nicht für eine Fehlermeldung den einen Abbruch rechtfertigt.. solche "was not declared in this scope" Meldungen müssen nicht immer etwas mit einem Compiler-Abbruch zusammenhängen.
> 
> Starte den emerge Vorgang doch nochmal und trage hier die letzten 20-30 Zeile ein.

 

"Was not declared in this scope" ist immer eine Meldung des Compilers. Meistens ist ein fehlender Include dafür verantworlich, oder der Header wurde nicht gefunden, oder eine Abhängigkeit ist nicht installiert, oder...

Was den Fehler hier hervorruft kann ich aber nicht sagen...

etc-update vergessen? Ein nicht komplettes Backup eingespielt? Sicherst du auch immer /var/db/?

Mehr fällt mir grad net ein...

----------

## kernelOfTruth

detto,

das Problem ist dort nicht zu sehen, lad mal das log-file auf pastebin oder dergleichen hoch

 *Quote:*   

> cat /var/log/portage/net-libs\:xulrunner-1.9.2.8... .log | grep error

  (kein Copy & Paste !, per Tab vervollständigen mit dem Namen deines Logs !) 

sollte aber das Problem auch einzeigen können

----------

## suilenroc1183

Hallo,

danke für die Antwort,

 *franzf wrote:*   

> 
> 
> "Was not declared in this scope" ist immer eine Meldung des Compilers. Meistens ist ein fehlender Include dafür verantworlich, oder der Header wurde nicht gefunden, oder eine Abhängigkeit ist nicht installiert, oder...
> 
> 

 

die Headerdatei, die fehlen soll, ist da, sie liegt mit im build Verzeichnis von xulrunner. Da ist auch der Verweis definiert. (#define PR_ROTATE_LEFT32 ...)

 *franzf wrote:*   

> 
> 
> Was den Fehler hier hervorruft kann ich aber nicht sagen...
> 
> etc-update vergessen? Ein nicht komplettes Backup eingespielt? Sicherst du auch immer /var/db/?
> ...

 

Den Fehler kann ich ausschließen, da ich /var bis auf  ./log ./lock ./imap ./tmp komplett zurück gespielt habe.

suilenroc

----------

## suilenroc1183

 *kernelOfTruth wrote:*   

> detto,
> 
> das Problem ist dort nicht zu sehen, lad mal das log-file auf pastebin oder dergleichen hoch
> 
>  *Quote:*   cat /var/log/portage/net-libs\:xulrunner-1.9.2.8... .log | grep error  (kein Copy & Paste !, per Tab vervollständigen mit dem Namen deines Logs !) 
> ...

 

Also das Verzeichnis gibt es nicht bei mir in der Form. Da stehen nur die logs von crossdev drin.

wenn du die vollständige build.log meinst, dann ist sie hier zu finden.

suilenroc

----------

## Josef.95

Nur ein Schuss ins blaue...

Nutzt du eventuell ccache und/oder distcc ?

falls ja, dann versuche es bitte mal ohne, also zb 

```
# FEATURES="-ccache -distcc" emerge -av1 xulrunner
```

----------

## suilenroc1183

daran habe ich auch schon gedacht, da dass ja meist die Ursache ist. Beim letztem Test war nichts der gleichen aktiviert. Zusätzlich war -j1 gesetzt

suilenroc1183

----------

## Josef.95

Hi

Anscheinend lässt sich der Fehler "Was not declared in this scope" ja nur sehr schwer genau zuordnen.

Doch soweit ich gesehen hab gibt es mit xulrunner-1.9.2.8 ansonsten eigentlich keine Probleme, zumindest fand ich auf bugs.gentoo.org nichts dazu...

daher würde ich mal davon ausgehen dass das xulrunner Problem auf Deinem System zu suchen ist.

Bevor du da nun gar nicht weiterkommst könntest du ja mal die direkt von xulrunner benötigten Abhängigkeiten neu bauen,

meine Vermutung geht da ein wenig in richtung dev-libs/nss und/oder dev-libs/nspr

doch wahrscheinlich ist es besser alle Abhängigkeiten mal neu zu übersetzen

die Liste kannst du dir zb mit 

```
# qdepends xulrunner
```

 ausgeben lassen. (qdepends ist in portage-utils enthalten)

/edit:

Sorry der nachfrage, aber so Grundsätzliches wie revdep-rebuild hast du ja sicherlich sauber durch oder?

----------

## suilenroc1183

Hallo,

 *Josef.95 wrote:*   

> Hi
> 
> Anscheinend lässt sich der Fehler "Was not declared in this scope" ja nur sehr schwer genau zuordnen.
> 
> Doch soweit ich gesehen hab gibt es mit xulrunner-1.9.2.8 ansonsten eigentlich keine Probleme, zumindest fand ich auf bugs.gentoo.org nichts dazu...
> ...

 

ja, revdep-rebuild habe ich mehrmals laufen lassen.

Das mit gdepends probiere ich.

Danke

suilenroc1183

----------

## suilenroc1183

Hallo,

Frage am Rande: beim Bauen von xulrunner scheint autoheader nicht korrekt durch zu laufen. Zumindest kommt kein OK. Das Verhalten habe ich auf zwei Systemen beobachtet. Ist dass bei euch genauso?

Ansonsten bin ich bei meinem Problem noch nicht weitergekommen, aber das liegt am Zeitmangel...

Viele Grüße

suilenroc

----------

## suilenroc1183

Hallo,

das Problem ist gelöst. Es lag, sowie Josef es vermutete, an den Bibliotheken nss und /oder nspr. Was ich aber nicht verstehe ist, dass der Compiler mit einer so blöden Meldung abbricht. Für mich wäre es logischer, wenn er irgendwo am Anfang bei ./configure hängen bleibt oder der Linker sich beschwert. Zumal die Definition, die angeblich fehlten, in paketinternen Headerfiles definiert waren. Wenn mir das jemand erklären könnte wäre ich dankbar.

Nichts destotrotz stetze ich den Thread auf gelöst und bedanke mich bei allen, die mitgedacht haben.

suilenroc1183

----------

