firefox lässt sich nicht 'upgraden'

Gulp

Well-Known Member
Hallo Gemeinde,
ich hab hier (1.) das Problem, daß sich firefox-20.0,1 nicht upgraden lässt,
es bricht ab mit:
Code:
/usr/ports/www/firefox/work/mozilla-release/xpcom/io/nsMultiplexInputStream.cpp: In member function 'virtual nsresult nsMultiplexInputStream::Seek(int32_t, int64_t)':
/usr/ports/www/firefox/work/mozilla-release/xpcom/io/nsMultiplexInputStream.cpp:532:86: error: no matching function for call to 'XPCOM_MIN(int64_t&, __gnu_cxx::__enable_if<true, double>::__type)'
/usr/ports/www/firefox/work/mozilla-release/xpcom/io/nsMultiplexInputStream.cpp:532:86: note: candidate is:
../../dist/include/nsAlgorithm.h:34:1: note: template<class T> const T& XPCOM_MIN(const T&, const T&)
/usr/ports/www/firefox/work/mozilla-release/xpcom/io/nsMultiplexInputStream.cpp: At global scope:
/usr/ports/www/firefox/work/mozilla-release/xpcom/io/nsMultiplexInputStream.cpp:93:1: warning: 'bool SeekableStreamAtBeginning(nsIInputStream*)' defined but not used [-Wunused-function]
gmake[4]: *** [nsMultiplexInputStream.o] Fehler 1
gmake[4]: *** Warte auf noch nicht beendete Prozesse...
gmake[4]: Leaving directory `/usr/ports/www/firefox/work/mozilla-release/obj-i386-portbld-freebsd8.3/xpcom/io'
gmake[3]: *** [libs] Fehler 2
gmake[3]: Leaving directory `/usr/ports/www/firefox/work/mozilla-release/obj-i386-portbld-freebsd8.3/xpcom'
gmake[2]: *** [libs_tier_platform] Fehler 2
gmake[2]: Leaving directory `/usr/ports/www/firefox/work/mozilla-release/obj-i386-portbld-freebsd8.3'
gmake[1]: *** [tier_platform] Fehler 2
gmake[1]: Leaving directory `/usr/ports/www/firefox/work/mozilla-release/obj-i386-portbld-freebsd8.3'
gmake: *** [default] Fehler 2
*** Error code 1

Stop in /usr/ports/www/firefox.
*** Error code 1

Stop in /usr/ports/www/firefox.
** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade20130527-15921-1ybrr5z-0 env UPGRADE_TOOL=portupgrade UPGRADE_PORT=firefox-20.0,1 UPGRADE_PORT_VER=20.0,1 make
** Fix the problem and try again.
** Listing the failed packages (-:ignored / *:skipped / !:failed)
	! www/firefox (firefox-20.0,1)	(bad C++ code)
Ich hab keinen Plan was da zu tun ist und hab auch im Internet nix Lösungsrelevantes gefunden.
Hat da jemand ne Idee ?
Das ganze passiert unter freebsd 8.3-RELEASE mit portupgrade (wie zu erkennen). pkg_libchk liefert keine Fehler. Geändert hab ich an den Einstellungen seit dem letzten Upgrade auch nix.

Das 2. Problem taucht seit nem grösseren portupgrade heute auf:
Sowohl firefox als auch thunderbird erzeugen Absturz (core) Dateien, allerdings beim starten, und laufen dann ganz normal und Fehlerfrei.
Das juckt jetzt also nich so, aber das erste Problem nervt...

Danke schon ma für jegliche Rettungsvorschläge :(

Gruß...
 
Abwarten.
Das sind Fehler, die für User wie mich nicht gemacht sind. Dabei blicke ich kaum durch und überhaupt keine Chance, sie zu lösen. Dann warte ich, bis jemand anders das gemacht hat. Das geht meist recht flott, es gibt Patches oder neue Versionen in den Ports und dann wird alles wieder gut.
 
Mehr Ausgabe... Wir brauchen die letzte korrekte Zeile der Build-Ausgabe und dann alle Fehler. Denn meist ist nur der erste Fehler relevant, alles weitere sind Folgefehler. Und gerade bei C++ können das verdammt viele sein.
 
Äh, was ich gepostet hab, sind doch die gemeldeten Fehler und die letzten Zeilen.
'letzte korrekte Zeile...' , 'alle Fehler' , ich glaub, ich versteh nich richtig.
Sorry, aber meine Programmierkenntnisse sind nur wenig über null.
Den ganzen log zu posten würde wohl den Rahmen sprengen ( fast 15000 Zeilen ).
Falls sich wirklich jemand damit beschäftigen möchte, könnte ich Ihm/Ihr die Log-Datei ja per eMail senden (oder so).
Aber trotzdem Danke für die Anteilnahme.

Gruß
 
Schau mal:
http://www.freebsd.org/cgi/query-pr.cgi?pr=178765
Bin mir nicht sicher, ob der Patch im Firefox 21 Port bereits drin ist. Ich verwende den Firefox Nightly.

Falls Du den Patch ausprobieren möchtest, wäre es so möglich, den Patch in das files Verzeichnis vom www/firefox Port zu bekommen:
Code:
cd /usr/ports/www/firefox/files
fetch -o  patch-xpcom_io_nsMultiplexInputStream.cpp 'http://www.freebsd.org/cgi/query-pr.cgi?pr=178765&getpatch=1'
cd -
Patches die im files Verzeichnis eines Ports liegen, werden vom Port automagisch benutzt.
In der Anmerkung von Tsurutani Naoki zum Patch steht jedoch:
Here is a patch (quick fix).
However, firefox crashes (I do not know the reason).
 
Okay, hab den patch benutzt und das firefox-upgrade lief erfogreich durch.
Das war am Freitag. Bis heute kein crash und auch keine coredumps mehr beim
starten. Möchte behaupten: voller Erfolg.
Danke
Gruß
 
Ich habe den Patch auch in das Verzeichnis gepackt, anscheinend löst er mein Problem nicht. Bei mir bricht der firefox build mit diesem Fehler ab.

Code:
In file included from /tmp/usr/ports/www/firefox/work/mozilla-release/gfx/2d/Blur.cpp:7:
In file included from ../../dist/include/mozilla/gfx/Blur.h:12:
../../dist/include/mozilla/CheckedInt.h:186:31: error: non-type template
      argument of type 'const bool' is not an integral constant expression
    static const bool value = IntegerType(-1) <= IntegerType(0);

Danach kommt dann noch

Code:
../../dist/include/mozilla/CheckedInt.h:350:28: note: while checking a default
      template argument used here
  return IsInRangeImpl<T, U>::run(x);
         ~~~~~~~~~~~~~~~~~~^
../../dist/include/mozilla/CheckedInt.h:574:18: note: in instantiation of
      function template specialization 'mozilla::detail::IsInRange<int, float>'
      requested here
        mIsValid(detail::IsInRange<T>(value))
                 ^
/tmp/usr/ports/www/firefox/work/mozilla-release/gfx/2d/Blur.cpp:404:37: note: 
      in instantiation of function template specialization
      'mozilla::CheckedInt<int>::CheckedInt<float>' requested here
  CheckedInt<int32_t> minDataSize = CheckedInt<...
                                    ^
1 error generated.
gmake[4]: *** [Blur.o] Fehler 1
gmake[4]: *** Warte auf noch nicht beendete Prozesse...
gmake[4]: Leaving directory `/tmp/usr/ports/www/firefox/work/mozilla-release/obj-x86_64-portbld-freebsd9.0/gfx/2d'
gmake[3]: *** [libs] Fehler 2
gmake[3]: Leaving directory `/tmp/usr/ports/www/firefox/work/mozilla-release/obj-x86_64-portbld-freebsd9.0/gfx'
gmake[2]: *** [libs_tier_platform] Fehler 2
gmake[2]: Leaving directory `/tmp/usr/ports/www/firefox/work/mozilla-release/obj-x86_64-portbld-freebsd9.0'
gmake[1]: *** [tier_platform] Fehler 2
gmake[1]: Leaving directory `/tmp/usr/ports/www/firefox/work/mozilla-release/obj-x86_64-portbld-freebsd9.0'
gmake: *** [default] Fehler 2
*** Error code 1

Stop in /usr/ports/www/firefox.
*** Error code 1

Stop in /usr/ports/www/firefox.

===>>> make failed for www/firefox
===>>> Aborting update

===>>> Update for www/firefox failed
===>>> Aborting update

===>>> Killing background jobs
Terminated

===>>> You can restart from the point of failure with this command line:
       portmaster <flags> www/firefox devel/git misc/help2man security/p5-IO-Socket-SSL 

===>>> Exiting

aber die Error message sollte das eigentlige Problem sein.
Habt Ihr eine Ahnung was das sein kann? Ich verstehe von c++ ungefähr nichts und habe nicht den geringsten schimmer was das sein könnte.
 
Code:
o-box@senyo ~:-> cat /var/db/ports/firefox/options 
# This file is auto-generated by 'make config'.
# Options for firefox-21.0_2,1
_OPTIONS_READ=firefox-21.0_2,1
_FILE_COMPLETE_OPTIONS_LIST=DBUS DEBUG GCONF GIO GNOMEUI GNOMEVFS2 GSTREAMER LIBPROXY LOGGING OPTIMIZED_CFLAGS PGO WEBRTC ALSA OSS PULSEAUDIO
OPTIONS_FILE_SET+=DBUS
OPTIONS_FILE_UNSET+=DEBUG
OPTIONS_FILE_UNSET+=GCONF
OPTIONS_FILE_SET+=GIO
OPTIONS_FILE_UNSET+=GNOMEUI
OPTIONS_FILE_UNSET+=GNOMEVFS2
OPTIONS_FILE_SET+=GSTREAMER
OPTIONS_FILE_UNSET+=LIBPROXY
OPTIONS_FILE_UNSET+=LOGGING
OPTIONS_FILE_UNSET+=OPTIMIZED_CFLAGS
OPTIONS_FILE_UNSET+=PGO
OPTIONS_FILE_SET+=WEBRTC
OPTIONS_FILE_SET+=ALSA
OPTIONS_FILE_UNSET+=OSS
OPTIONS_FILE_UNSET+=PULSEAUDIO
Weil das bei mir vor einigen Tagen mehrfach gebaut hatte, auch mit anderen Optionen, frage ich mich natürlich, was das wohl sein kann.
Nur zur Sicherheit nochmal: ports sind aktuell und es geht um diese Version 21... siehe oben? Mit den gezeigten Optionen? Mit was in der make.conf?

Ich kenne mich auch nicht aus, wie ihr ja alle wisst.
Aber es ist merkwürdig, wenn es bei anderen funktioniert. Dann vermute ich eher kein Problem im Code selbst, aber ich weiß es halt auch nicht.
Nähere Angaben schaden aber sicher nicht.
 
Ja meine ports sind aktuell. Ich kann auch alles andere aktualisieren, nur Firefox macht Ärger.

Hier sind meine Optionen

Code:
# This file is auto-generated by 'make config'.
# Options for firefox-21.0_2,1
_OPTIONS_READ=firefox-21.0_2,1
_FILE_COMPLETE_OPTIONS_LIST=DBUS DEBUG GCONF GIO GNOMEUI GNOMEVFS2 GSTREAMER LIBPROXY LOGGING OPTIMIZED_CFLAGS PGO WEBRTC ALSA OSS PULSEAUDIO
OPTIONS_FILE_SET+=DBUS
OPTIONS_FILE_UNSET+=DEBUG
OPTIONS_FILE_UNSET+=GCONF
OPTIONS_FILE_SET+=GIO
OPTIONS_FILE_UNSET+=GNOMEUI
OPTIONS_FILE_UNSET+=GNOMEVFS2
OPTIONS_FILE_SET+=GSTREAMER
OPTIONS_FILE_UNSET+=LIBPROXY
OPTIONS_FILE_UNSET+=LOGGING
OPTIONS_FILE_UNSET+=OPTIMIZED_CFLAGS
OPTIONS_FILE_UNSET+=PGO
OPTIONS_FILE_SET+=WEBRTC
OPTIONS_FILE_SET+=ALSA
OPTIONS_FILE_UNSET+=OSS
OPTIONS_FILE_UNSET+=PULSEAUDIO

In meiner make.conf habe ich das stehen
Code:
# www/firefox-i18n
.if${.CURDIR:M*/usr/ports/www/firefox-i18n}
FIREFOX_I18N=de
WITH_ALSA=yes
.endif

.if${.CURDIR:M*/usr/ports/www/firefox}
#CC=gcc
#CXX=g++
#CPP=gpp
WITH_ALSA=yes
.endif

# localize thunderbird lang pack
.if${.CURDIR:M*/usr/ports/mail/thunderbird-i18n}
THUNDERBIRD_I18N=de
.endif

# editors/libreoffice
.if${.CURDIR:M*/usr/ports/editors/libreoffice}
LOCALIZED_LANG=de
.endif

# editors/vim
.if${.CURDIR:M*/usr/ports/editors/vim}
WITHOUT_X11=yes
.endif

.if${.CURDIR:M*/usr/ports/net/remmina}
WITH_SSH=yes
WITH_GCRYPT=yes
WITH_TERM=yes
WITH_AVAHI=yes
WITH_UNIQUE=yes
.endif

.if${.CURDIR:M*/usr/ports/devel/git}
WITH_ETCSHELLS=yes
WITH_GUI=yes
WITH_NLS=yes
WITH_P4=yes
WITH_SVN=yes
.endif

.if${.CURDIR:M*/usr/ports/net/remmina-plugins}
WITH_RDP=yes
WITH_VNC=yes
WITH_XDMCP=yes
WITH_TELEP=yes
.endif

.if${.CURDIR:M*/usr/ports/graphics/gimp-help}
WITHOUT_ALL=yes
WITH_DE=yes
.endif

#Kernel and world related options
.if${.CURDIR:M*/usr/src/*}
# include only mentiont modules
#MODULES_OVERRIDE= 
# exclude Modules
WITHOUT_MODULES=Linux ntfs
.endif

WITH_LINUX=no
WITH_FREEBSD_AGP=yes
WITH_DEBUS=yes
WITH_KDE_PHONON=yes
WITH_WEBRTC=yes
WITH_PKGNG=yes
#Tmpfs usage during build
WRKDIRPREFIX=/tmp/
#use texlive insted of tetex
#TEX_DEFAULT=texlive
# added by use.perl 2013-06-15 16:43:13
PERL_VERSION=5.16.3

Wie ihr erkennen könnt habe ich auch schon versucht gcc zum bauen zu verwenden ... der Erfolg hielt sich leider in Grenzen :(

Aber es ist merkwürdig, wenn es bei anderen funktioniert. Dann vermute ich eher kein Problem im Code selbst, aber ich weiß es halt auch nicht.
Nähere Angaben schaden aber sicher nicht.

Grundsätzlich gehe ich immer davon aus das ich etwas falsch mache wenn etwas nicht funktioniert ... und ich nicht mit Microsoft Produkten arbeite. Da ich aber schon länger nichts an meinem Rechner verändert habe denke ich das irgendetwas anderes Faul ist.
 
Ich habe den Patch auch in das Verzeichnis gepackt, anscheinend löst er mein Problem nicht. Bei mir bricht der firefox build mit diesem Fehler ab.

Code:
In file included from /tmp/usr/ports/www/firefox/work/mozilla-release/gfx/2d/Blur.cpp:7:
In file included from ../../dist/include/mozilla/gfx/Blur.h:12:
../../dist/include/mozilla/CheckedInt.h:186:31: error: non-type template
      argument of type 'const bool' is not an integral constant expression
    static const bool value = IntegerType(-1) <= IntegerType(0);

FF21 gebaut mit dem System-clang auf einem 9er FreeBSD war bei mir mit exakt der Fehlermeldung kaputt.
Die Fehlermeldung ist übrigens grober Unfug und (dieser inzwischen ziemlich alte) clang ist einfach kaputt.

Damit sollte es gehen:
Code:
cd /usr/ports/www/firefox
make USE_GCC=4.6+
 
Also doch ein clang problem, anscheinend habe ich den gcc versuch gemacht bevor ich den patch gezogen habe. Der Fuchs hat sich brav bauen lassen :)

Vielen Dank!
 
Zurück
Oben