Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 26 May 2011 13:06:31 +0200
From:      Daniel Nebdal <dnebdal@gmail.com>
To:        Neko Chang <epopen@gmail.com>
Cc:        gecko@freebsd.org, freebsd-ports@freebsd.org
Subject:   Re: Firefox 4 with PGO compile error
Message-ID:  <BANLkTin3-O24K-8E7NZKGZXUGykVO1NYWQ@mail.gmail.com>
In-Reply-To: <BANLkTikHg7ZjFVib252M545EiQ-FEdJxJQ@mail.gmail.com>
References:  <BANLkTi=bTrY9jnF17jEOzOZ-VZ_esZGw2A@mail.gmail.com> <BANLkTikypGsL=79s9WeFDdQnhd2Xwh2vdQ@mail.gmail.com> <BANLkTikHg7ZjFVib252M545EiQ-FEdJxJQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, May 26, 2011 at 4:31 AM, Neko Chang <epopen@gmail.com> wrote:
> 2011/5/25 Daniel Nebdal <dnebdal@gmail.com>:
>> On Wed, May 25, 2011 at 5:22 AM, Neko Chang <epopen@gmail.com> wrote:
>>> Hi FreeBSD team :D
>>>
>>> I tried build firefox 4 with PGO support via ports under GNOME
>>> 2.32.1(ordinary user, but build firefox by root), but build fail.
>>> Later I posted the problem to FreeBSD support
>>> forums,(http://forums.freebsd.org/showthread.php?t=3D23827)
>>> But can't solve it.
>>>
>>> So I write the mail :D
>>> Please help me....
>>>
>>> * Output from 'uname -a'.
>>> FreeBSD epopen.com 8.2-STABLE FreeBSD 8.2-STABLE #0: Sat Apr 23
>>> 16:23:23 CST 2011 =C2=A0 =C2=A0 localhost:/usr/obj/usr/src/sys/Kernel =
=C2=A0amd64
>>>
>>> * Output from 'ident /usr/ports/www/firefox/Makefile'
>>> /usr/ports/www/firefox/Makefile:
>>> =C2=A0 =C2=A0 $FreeBSD: ports/www/firefox/Makefile,v 1.240 2011/04/29 0=
6:31:39 flo Exp $
>>>
>>> * Where/when did the problem occur: configuring, building, or =C2=A0 ru=
nning firefox
>>> =C2=A0Build.
>>>
>>> * How can you reproduce the problem?
>>> =C2=A0If turn-on PGO in "make config"
>>>
>>> Under is error message....
>>>
>>> if test -d ../../../../dist/bin ; then touch
>>> ../../../../dist/bin/.purgecaches ; fi
>>> gmake[5]: Leaving directory
>>> `/usr/ports/www/firefox/work/mozilla-2.0/obj-amd64-unknown-freebsd8.2/o=
ther-licenses/branding/firefox/locales'
>>> hg: not found
>>> Making langpack
>>> /usr/ports/www/firefox/work/mozilla-2.0/obj-amd64-unknown-freebsd8.2/br=
owser/locales/../../dist/install/firefox-4.0.1.en-US.langpack.xpi
>>> /usr/ports/www/firefox/work/mozilla-2.0/obj-amd64-unknown-freebsd8.2/co=
nfig/nsinstall
>>> -D ../../dist/install/
>>> /usr/local/bin/perl5.12.3
>>> /usr/ports/www/firefox/work/mozilla-2.0/config/preprocessor.pl
>>> -DOSTYPE=3D\"FreeBSD8\" -DOSARCH=3DFreeBSD -DAB_CD=3Den-US
>>> -DMOZ_LANGPACK_EID=3Dlangpack-en-US@firefox.mozilla.org
>>> -DMOZ_APP_VERSION=3D4.0.1
>>> -DLOCALE_SRCDIR=3D/usr/ports/www/firefox/work/mozilla-2.0/browser/local=
es/en-US
>>> -DPKG_BASENAME=3D"firefox-4.0.1.en-US.freebsd8.2-amd64"
>>> -DPKG_INST_BASENAME=3D"firefox-4.0.1.en-US.freebsd8.2-amd64.installer"
>>> -DDLL_PREFIX=3Dlib -DDLL_SUFFIX=3D.so -DBIN_SUFFIX=3D -DHAVE_64BIT_OS=
=3D1
>>> -DMOZILLA_VERSION=3D\"2.0.1\" -DMOZILLA_VERSION_U=3D2.0.1 -DD_INO=3Dd_i=
no
>>> -DSTDC_HEADERS=3D1 -DHAVE_SSIZE_T=3D1 -DHAVE_ST_BLKSIZE=3D1
>>> -DHAVE_SIGINFO_T=3D1 -DHAVE_INT16_T=3D1 -DHAVE_INT32_T=3D1 -DHAVE_INT64=
_T=3D1
>>> -DHAVE_UINT=3D1 -DHAVE_UINT16_T=3D1 -DHAVE_VISIBILITY_HIDDEN_ATTRIBUTE=
=3D1
>>> -DHAVE_VISIBILITY_ATTRIBUTE=3D1 -DHAVE_DIRENT_H=3D1 -DHAVE_GETOPT_H=3D1
>>> -DHAVE_MEMORY_H=3D1 -DHAVE_UNISTD_H=3D1 -DHAVE_NL_TYPES_H=3D1
>>> -DHAVE_X11_XKBLIB_H=3D1 -DHAVE_SYS_STATVFS_H=3D1 -DHAVE_MMINTRIN_H=3D1
>>> -DHAVE_SYS_CDEFS_H=3D1 -DHAVE_DLOPEN=3D1 -DHAVE_DLADDR=3D1 -DFUNCPROTO=
=3D15
>>> -DHAVE_XSHM=3D1 -DHAVE_LIBXSS=3D1 -DHAVE_FT_BITMAP_SIZE_Y_PPEM=3D1
>>> -DHAVE_FT_GLYPHSLOT_EMBOLDEN=3D1 -DHAVE_FT_LOAD_SFNT_TABLE=3D1
>>> -DHAVE_FT_SELECT_SIZE=3D1 -D_REENTRANT=3D1 -D_THREAD_SAFE=3D1
>>> -DHAVE_RANDOM=3D1 -DHAVE_STRERROR=3D1 -DHAVE_LCHOWN=3D1 -DHAVE_FCHMOD=
=3D1
>>> -DHAVE_SNPRINTF=3D1 -DHAVE_MEMMOVE=3D1 -DHAVE_SETBUF=3D1 -DHAVE_ISATTY=
=3D1
>>> -DHAVE_FLOCKFILE=3D1 -DHAVE_LOCALTIME_R=3D1 -DHAVE_STRTOK_R=3D1
>>> -DHAVE_CLOCK_MONOTONIC=3D1 -DHAVE_LANGINFO_CODESET=3D1 -DVA_COPY=3Dva_c=
opy
>>> -DHAVE_VA_COPY=3D1 -DHAVE_VA_LIST_AS_ARRAY=3D1 -DHAVE_THREAD_TLS_KEYWOR=
D=3D1
>>> -DMALLOC_H=3D\<sys/malloc.h\> -DHAVE_STRNDUP=3D1 -DHAVE_POSIX_MEMALIGN=
=3D1
>>> -DHAVE_VALLOC=3D1 -DHAVE_I18N_LC_MESSAGES=3D1 -DHAVE_LOCALECONV=3D1
>>> -DNS_ALWAYS_INLINE=3D__attribute__\(\(always_inline\)\)
>>> -DNS_ATTR_MALLOC=3D__attribute__\(\(malloc\)\)
>>> -DNS_WARN_UNUSED_RESULT=3D__attribute__\(\(warn_unused_result\)\)
>>> -DNS_NORETURN=3D__attribute__\(\(noreturn\)\) -DMOZ_PHOENIX=3D1
>>> -DMOZ_BUILD_APP=3Dbrowser -DMOZ_X11=3D1 -DMOZ_WIDGET_GTK2=3D1
>>> -DMOZ_PDF_PRINTING=3D1 -DMOZ_ENABLE_XREMOTE=3D1 -DMOZ_OFFICIAL_BRANDING=
=3D1
>>> -DMOZ_DISTRIBUTION_ID=3D\"org.mozilla\" -DMOZ_PANGO=3D1
>>> -DMOZ_ENABLE_GNOMEVFS=3D1 -DMOZ_ENABLE_GCONF=3D1 -DMOZ_ENABLE_LIBNOTIFY=
=3D1
>>> -DMOZ_ENABLE_GNOMEUI=3D1 -DMOZ_ENABLE_DBUS=3D1 -DIBMBIDI=3D1
>>> -DMOZ_VIEW_SOURCE=3D1 -DACCESSIBILITY=3D1 -DMOZ_JSLOADER=3D1 -DNS_PRINT=
ING=3D1
>>> -DNS_PRINT_PREVIEW=3D1 -DMOZ_OGG=3D1 -DATTRIBUTE_ALIGNED_MAX=3D64
>>> -DMOZ_WEBM=3D1 -DVPX_X86_ASM=3D1 -DMOZ_WAVE=3D1 -DMOZ_SYDNEYAUDIO=3D1
>>> -DMOZ_MEDIA=3D1 -DMOZ_VORBIS=3D1 -DMOZ_XTF=3D1
>>> -DMOZ_CRASHREPORTER_ENABLE_PERCENT=3D100 -DMOZ_MATHML=3D1 -DMOZ_SVG=3D1
>>> -DMOZ_SMIL=3D1 -DMOZ_UPDATE_CHANNEL=3Ddefault -DMOZ_FEEDS=3D1
>>> -DMOZ_STORAGE=3D1 -DMOZ_SAFE_BROWSING=3D1 -DMOZ_URL_CLASSIFIER=3D1
>>> -DNS_DISABLE_LOGGING=3D1 -DHAVE___CXA_DEMANGLE=3D1
>>> -DMOZ_CHROME_FILE_FORMAT_JAR=3D1
>>> -DMOZ_DEFAULT_MOZILLA_FIVE_HOME=3D\"/usr/local/lib/firefox\"
>>> -DMOZ_USER_DIR=3D\".mozilla\" -DMOZ_STATIC_JS=3D1 -DMOZ_ENABLE_LIBXUL=
=3D1
>>> -DHAVE_STDINT_H=3D1 -DHAVE_INTTYPES_H=3D1 -DMOZ_XUL=3D1
>>> -DMOZ_PROFILELOCKING=3D1 -DMOZ_RDF=3D1 -DBUILD_CTYPES=3D1 -DMOZ_MORKREA=
DER=3D1
>>> -DMOZ_PLACES=3D1 -DMOZ_SERVICES_SYNC=3D1 -DMOZ_APP_UA_NAME=3D\"\"
>>> -DMOZ_APP_UA_VERSION=3D\"4.0.1\" -DMOZ_UA_FIREFOX_VERSION=3D\"4.0.1\"
>>> -DMOZ_UA_BUILDID=3D\"20100101\" -DMOZ_DLL_SUFFIX=3D\".so\"
>>> -DHAVE_FONTCONFIG_FCFREETYPE_H=3D1 -DXP_UNIX=3D1 -DUNIX_ASYNC_DNS=3D1
>>> -DMOZ_ACCESSIBILITY_ATK=3D1 -DATK_MAJOR_VERSION=3D1 -DATK_MINOR_VERSION=
=3D32
>>> -DATK_REV_VERSION=3D0
>>> -I/usr/ports/www/firefox/work/mozilla-2.0/toolkit/locales/en-US/defines=
.inc
>>> -I/usr/ports/www/firefox/work/mozilla-2.0/browser/locales/en-US/defines=
.inc
>>> /usr/ports/www/firefox/work/mozilla-2.0/browser/locales/generic/install=
.rdf
>>>> ../../dist/xpi-stage/locale-en-US/install.rdf
>>> cd ../../dist/xpi-stage/locale-en-US && \
>>> =C2=A0/usr/local/bin/zip -r9D
>>> /usr/ports/www/firefox/work/mozilla-2.0/obj-amd64-unknown-freebsd8.2/br=
owser/locales/../../dist/install/firefox-4.0.1.en-US.langpack.xpi
>>> install.rdf chrome chrome.manifest -x chrome/en-US.manifest
>>> =C2=A0adding: install.rdf (deflated 50%)
>>> =C2=A0adding: chrome/en-US.jar (deflated 75%)
>>> =C2=A0adding: chrome.manifest (deflated 78%)
>>> gmake[4]: Leaving directory
>>> `/usr/ports/www/firefox/work/mozilla-2.0/obj-amd64-unknown-freebsd8.2/b=
rowser/locales'
>>> gmake[3]: Leaving directory
>>> `/usr/ports/www/firefox/work/mozilla-2.0/obj-amd64-unknown-freebsd8.2/b=
rowser/installer'
>>> gmake tools
>>> gmake[3]: Entering directory
>>> `/usr/ports/www/firefox/work/mozilla-2.0/obj-amd64-unknown-freebsd8.2/b=
rowser/installer'
>>> gmake[3]: Nothing to be done for `tools'.
>>> gmake[3]: Leaving directory
>>> `/usr/ports/www/firefox/work/mozilla-2.0/obj-amd64-unknown-freebsd8.2/b=
rowser/installer'
>>> if test -d ../../dist/bin ; then touch ../../dist/bin/.purgecaches ; fi
>>> hg: not found
>>> gmake[2]: Leaving directory
>>> `/usr/ports/www/firefox/work/mozilla-2.0/obj-amd64-unknown-freebsd8.2/b=
rowser/installer'
>>> gmake[1]: Leaving directory
>>> `/usr/ports/www/firefox/work/mozilla-2.0/obj-amd64-unknown-freebsd8.2'
>>> OBJDIR=3Dobj-amd64-unknown-freebsd8.2 /usr/local/bin/python2.7
>>> obj-amd64-unknown-freebsd8.2/_profile/pgo/profileserver.py
>>> args: ['/usr/ports/www/firefox/work/mozilla-2.0/obj-amd64-unknown-freeb=
sd8.2/dist/firefox/firefox-bin',
>>> '-no-remote', '-profile',
>>> '/usr/ports/www/firefox/work/mozilla-2.0/obj-amd64-unknown-freebsd8.2/_=
profile/pgo/pgoprofile/',
>>> 'http://127.0.0.1:8888/index.html']
>>> INFO | automation.py | Application pid: 95151
>>>
>>> (firefox-bin:95151): GnomeUI-WARNING **: While connecting to session ma=
nager:
>>> None of the authentication protocols specified are supported.
>>> **
>>> GLib-GIO:ERROR:gdbusconnection.c:2270:initable_init: assertion failed:
>>> (connection->initialization_error =3D=3D NULL)
>>> TEST-UNEXPECTED-FAIL | automation.py | Exited with code -6 during test =
run
>>> INFO | automation.py | Application ran for: 0:00:03.279356
>>> INFO | automation.py | Reading PID log: /tmp/tmpJZSM19pidlog
>>> gmake: *** [profiledbuild] Error 250
>>> *** Error code 1
>>>
>>> Stop in /usr/ports/www/firefox.
>>> *** Error code 1
>>>
>>> Stop in /usr/ports/www/firefox.
>>> [/usr/ports/www/firefox]#
>>> =EF=BC=9D=EF=BC=9D=EF=BC=9D=EF=BC=9D
>>>
>>> Make start, System print-out under message
>>> To build Firefox with PGO support you need a running X server and
>>> =C2=A0 build this port with an user who could access the X server!
>>>
>>> During the build a Firefox instance will start and run some test.
>>> =C2=A0 =C2=A0 =C2=A0Do not interrupt or close Firefox during this tests=
!
>>>
>>> The message and error log, I think firefox need connect a daemon
>>> (localhost:8888) if PGO support ON when build.
>>> But I don't know what daemon =C2=A0need, even Google.....
>>>
>>> If I help to debug, Please tell me.
>>> Thanks your hard work, Let us good firefox :D
>>>
>>
> Thanks =C2=A0Daniel Nebdal
>>
>> I *think* that error is because it expects a gnome session (or at
>> least a dbus server) to be available. If you used plain "su" to become
>> root, it won't have the right environment. Could you try either sudo
>> or su -m ?
>>
>
> I tried your suggest "su -m" for compile firefox and got under error log.=
..
> cd ../../dist/xpi-stage/locale-en-US && \
> =C2=A0/usr/local/bin/zip -r9D
> /usr/ports/www/firefox/work/mozilla-2.0/obj-amd64-unknown-freebsd8.2/brow=
ser/locales/../../dist/install/firefox-4.0.1.en-US.langpack.xpi
> install.rdf chrome chrome.manifest -x chrome/en-US.manifest
> =C2=A0adding: install.rdf (deflated 50%)
> =C2=A0adding: chrome/en-US.jar (deflated 75%)
> =C2=A0adding: chrome.manifest (deflated 78%)
> gmake[4]: Leaving directory
> `/usr/ports/www/firefox/work/mozilla-2.0/obj-amd64-unknown-freebsd8.2/bro=
wser/locales'
> gmake[3]: Leaving directory
> `/usr/ports/www/firefox/work/mozilla-2.0/obj-amd64-unknown-freebsd8.2/bro=
wser/installer'
> gmake tools
> gmake[3]: Entering directory
> `/usr/ports/www/firefox/work/mozilla-2.0/obj-amd64-unknown-freebsd8.2/bro=
wser/installer'
> gmake[3]: Nothing to be done for `tools'.
> gmake[3]: Leaving directory
> `/usr/ports/www/firefox/work/mozilla-2.0/obj-amd64-unknown-freebsd8.2/bro=
wser/installer'
> if test -d ../../dist/bin ; then touch ../../dist/bin/.purgecaches ; fi
> hg: not found
> gmake[2]: Leaving directory
> `/usr/ports/www/firefox/work/mozilla-2.0/obj-amd64-unknown-freebsd8.2/bro=
wser/installer'
> gmake[1]: Leaving directory
> `/usr/ports/www/firefox/work/mozilla-2.0/obj-amd64-unknown-freebsd8.2'
> OBJDIR=3Dobj-amd64-unknown-freebsd8.2 /usr/local/bin/python2.7
> obj-amd64-unknown-freebsd8.2/_profile/pgo/profileserver.py
> args: ['/usr/ports/www/firefox/work/mozilla-2.0/obj-amd64-unknown-freebsd=
8.2/dist/firefox/firefox-bin',
> '-no-remote', '-profile',
> '/usr/ports/www/firefox/work/mozilla-2.0/obj-amd64-unknown-freebsd8.2/_pr=
ofile/pgo/pgoprofile/',
> 'http://127.0.0.1:8888/index.html']
> INFO | automation.py | Application pid: 34583
> **
> GLib-GIO:ERROR:gdbusconnection.c:2270:initable_init: assertion failed:
> (connection->initialization_error =3D=3D NULL)
> TEST-UNEXPECTED-FAIL | automation.py | Exited with code -6 during test ru=
n
> INFO | automation.py | Application ran for: 0:00:03.013733
> INFO | automation.py | Reading PID log: /tmp/tmpKm9_Mgpidlog
> gmake: *** [profiledbuild] Error 250
> *** 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/portupgrade20110526-91985-h6sf0l-0 env UPGRADE_TOOL=3Dportupgrade
> UPGRADE_PORT=3Dfirefox-4.0.1,1 UPGRADE_PORT_VER=3D4.0.1,1 make
> ** Fix the problem and try again.
> ** Listing the failed packages (-:ignored / *:skipped / !:failed)
> =C2=A0 =C2=A0 =C2=A0 =C2=A0! www/firefox (firefox-4.0.1,1) (missing heade=
r)
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>
> Error message different !
> But tried compile firefox before, I had been upgrade perl-threaded
> from 5.12 to 5.14.
> I can't know why log different, "su -m" or perl....
> So I will try to compile by plain "su" again for confirm.

Before you try compiling - could you try launching a gtk/dbus app from
the su shell? (gedit or whatever). If I just su and try, gedit fails
with "GLib-GIO:ERROR:gdbusconnection.c:2270:initable_init: assertion
failed: (connection->initialization_error =3D=3D NULL)" , which seems to
be the same error you got there. On the other hand, "sudo gedit" works
for me ... so I suggest trying sudo.

As for "su -m" , it lets me run simple X apps, but not e.g. gedit: It
looks like it inherits enough to connect to X, but for whatever reason
not enough to connect to the dbus daemon. Weird.


>> As for the :8888 , I think that's just a build-internal thing: To
>> profile, it starts firefox and displays a bunch of web pages, and I
>> think it runs a small python web-server on localhost:8888 to serve
>> them.
>
> Is your means about:startpage? I think...
> If true, It needn't any server support I tihk. :P
> Because I couldn't saw any daemon listen port 8888 by "netstat" in
> firefox running Ubuntu 11.04 ...
>
> Thanks you a lot.
> Neko
>

As I remember it, the profiling run goes through a selection of
different pages, so they can exercise a bit more of their rendering
and javascript engine - and fetching over TCP instead of from a file
means they also get to use those parts of the code. So it's just to
capture some more representative usage data.


--=20
Daniel Nebdal



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?BANLkTin3-O24K-8E7NZKGZXUGykVO1NYWQ>