Firefox 4 with PGO compile error

Daniel Nebdal dnebdal at gmail.com
Wed May 25 10:10:14 UTC 2011


On Wed, May 25, 2011 at 5:22 AM, Neko Chang <epopen at 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=23827)
> 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     localhost:/usr/obj/usr/src/sys/Kernel  amd64
>
> * Output from 'ident /usr/ports/www/firefox/Makefile'
> /usr/ports/www/firefox/Makefile:
>     $FreeBSD: ports/www/firefox/Makefile,v 1.240 2011/04/29 06:31:39 flo Exp $
>
> * Where/when did the problem occur: configuring, building, or   running firefox
>  Build.
>
> * How can you reproduce the problem?
>  If 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/other-licenses/branding/firefox/locales'
> hg: not found
> Making langpack
> /usr/ports/www/firefox/work/mozilla-2.0/obj-amd64-unknown-freebsd8.2/browser/locales/../../dist/install/firefox-4.0.1.en-US.langpack.xpi
> /usr/ports/www/firefox/work/mozilla-2.0/obj-amd64-unknown-freebsd8.2/config/nsinstall
> -D ../../dist/install/
> /usr/local/bin/perl5.12.3
> /usr/ports/www/firefox/work/mozilla-2.0/config/preprocessor.pl
> -DOSTYPE=\"FreeBSD8\" -DOSARCH=FreeBSD -DAB_CD=en-US
> -DMOZ_LANGPACK_EID=langpack-en-US at firefox.mozilla.org
> -DMOZ_APP_VERSION=4.0.1
> -DLOCALE_SRCDIR=/usr/ports/www/firefox/work/mozilla-2.0/browser/locales/en-US
> -DPKG_BASENAME="firefox-4.0.1.en-US.freebsd8.2-amd64"
> -DPKG_INST_BASENAME="firefox-4.0.1.en-US.freebsd8.2-amd64.installer"
> -DDLL_PREFIX=lib -DDLL_SUFFIX=.so -DBIN_SUFFIX= -DHAVE_64BIT_OS=1
> -DMOZILLA_VERSION=\"2.0.1\" -DMOZILLA_VERSION_U=2.0.1 -DD_INO=d_ino
> -DSTDC_HEADERS=1 -DHAVE_SSIZE_T=1 -DHAVE_ST_BLKSIZE=1
> -DHAVE_SIGINFO_T=1 -DHAVE_INT16_T=1 -DHAVE_INT32_T=1 -DHAVE_INT64_T=1
> -DHAVE_UINT=1 -DHAVE_UINT16_T=1 -DHAVE_VISIBILITY_HIDDEN_ATTRIBUTE=1
> -DHAVE_VISIBILITY_ATTRIBUTE=1 -DHAVE_DIRENT_H=1 -DHAVE_GETOPT_H=1
> -DHAVE_MEMORY_H=1 -DHAVE_UNISTD_H=1 -DHAVE_NL_TYPES_H=1
> -DHAVE_X11_XKBLIB_H=1 -DHAVE_SYS_STATVFS_H=1 -DHAVE_MMINTRIN_H=1
> -DHAVE_SYS_CDEFS_H=1 -DHAVE_DLOPEN=1 -DHAVE_DLADDR=1 -DFUNCPROTO=15
> -DHAVE_XSHM=1 -DHAVE_LIBXSS=1 -DHAVE_FT_BITMAP_SIZE_Y_PPEM=1
> -DHAVE_FT_GLYPHSLOT_EMBOLDEN=1 -DHAVE_FT_LOAD_SFNT_TABLE=1
> -DHAVE_FT_SELECT_SIZE=1 -D_REENTRANT=1 -D_THREAD_SAFE=1
> -DHAVE_RANDOM=1 -DHAVE_STRERROR=1 -DHAVE_LCHOWN=1 -DHAVE_FCHMOD=1
> -DHAVE_SNPRINTF=1 -DHAVE_MEMMOVE=1 -DHAVE_SETBUF=1 -DHAVE_ISATTY=1
> -DHAVE_FLOCKFILE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_STRTOK_R=1
> -DHAVE_CLOCK_MONOTONIC=1 -DHAVE_LANGINFO_CODESET=1 -DVA_COPY=va_copy
> -DHAVE_VA_COPY=1 -DHAVE_VA_LIST_AS_ARRAY=1 -DHAVE_THREAD_TLS_KEYWORD=1
> -DMALLOC_H=\<sys/malloc.h\> -DHAVE_STRNDUP=1 -DHAVE_POSIX_MEMALIGN=1
> -DHAVE_VALLOC=1 -DHAVE_I18N_LC_MESSAGES=1 -DHAVE_LOCALECONV=1
> -DNS_ALWAYS_INLINE=__attribute__\(\(always_inline\)\)
> -DNS_ATTR_MALLOC=__attribute__\(\(malloc\)\)
> -DNS_WARN_UNUSED_RESULT=__attribute__\(\(warn_unused_result\)\)
> -DNS_NORETURN=__attribute__\(\(noreturn\)\) -DMOZ_PHOENIX=1
> -DMOZ_BUILD_APP=browser -DMOZ_X11=1 -DMOZ_WIDGET_GTK2=1
> -DMOZ_PDF_PRINTING=1 -DMOZ_ENABLE_XREMOTE=1 -DMOZ_OFFICIAL_BRANDING=1
> -DMOZ_DISTRIBUTION_ID=\"org.mozilla\" -DMOZ_PANGO=1
> -DMOZ_ENABLE_GNOMEVFS=1 -DMOZ_ENABLE_GCONF=1 -DMOZ_ENABLE_LIBNOTIFY=1
> -DMOZ_ENABLE_GNOMEUI=1 -DMOZ_ENABLE_DBUS=1 -DIBMBIDI=1
> -DMOZ_VIEW_SOURCE=1 -DACCESSIBILITY=1 -DMOZ_JSLOADER=1 -DNS_PRINTING=1
> -DNS_PRINT_PREVIEW=1 -DMOZ_OGG=1 -DATTRIBUTE_ALIGNED_MAX=64
> -DMOZ_WEBM=1 -DVPX_X86_ASM=1 -DMOZ_WAVE=1 -DMOZ_SYDNEYAUDIO=1
> -DMOZ_MEDIA=1 -DMOZ_VORBIS=1 -DMOZ_XTF=1
> -DMOZ_CRASHREPORTER_ENABLE_PERCENT=100 -DMOZ_MATHML=1 -DMOZ_SVG=1
> -DMOZ_SMIL=1 -DMOZ_UPDATE_CHANNEL=default -DMOZ_FEEDS=1
> -DMOZ_STORAGE=1 -DMOZ_SAFE_BROWSING=1 -DMOZ_URL_CLASSIFIER=1
> -DNS_DISABLE_LOGGING=1 -DHAVE___CXA_DEMANGLE=1
> -DMOZ_CHROME_FILE_FORMAT_JAR=1
> -DMOZ_DEFAULT_MOZILLA_FIVE_HOME=\"/usr/local/lib/firefox\"
> -DMOZ_USER_DIR=\".mozilla\" -DMOZ_STATIC_JS=1 -DMOZ_ENABLE_LIBXUL=1
> -DHAVE_STDINT_H=1 -DHAVE_INTTYPES_H=1 -DMOZ_XUL=1
> -DMOZ_PROFILELOCKING=1 -DMOZ_RDF=1 -DBUILD_CTYPES=1 -DMOZ_MORKREADER=1
> -DMOZ_PLACES=1 -DMOZ_SERVICES_SYNC=1 -DMOZ_APP_UA_NAME=\"\"
> -DMOZ_APP_UA_VERSION=\"4.0.1\" -DMOZ_UA_FIREFOX_VERSION=\"4.0.1\"
> -DMOZ_UA_BUILDID=\"20100101\" -DMOZ_DLL_SUFFIX=\".so\"
> -DHAVE_FONTCONFIG_FCFREETYPE_H=1 -DXP_UNIX=1 -DUNIX_ASYNC_DNS=1
> -DMOZ_ACCESSIBILITY_ATK=1 -DATK_MAJOR_VERSION=1 -DATK_MINOR_VERSION=32
> -DATK_REV_VERSION=0
> -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 && \
>  /usr/local/bin/zip -r9D
> /usr/ports/www/firefox/work/mozilla-2.0/obj-amd64-unknown-freebsd8.2/browser/locales/../../dist/install/firefox-4.0.1.en-US.langpack.xpi
> install.rdf chrome chrome.manifest -x chrome/en-US.manifest
>  adding: install.rdf (deflated 50%)
>  adding: chrome/en-US.jar (deflated 75%)
>  adding: chrome.manifest (deflated 78%)
> gmake[4]: Leaving directory
> `/usr/ports/www/firefox/work/mozilla-2.0/obj-amd64-unknown-freebsd8.2/browser/locales'
> gmake[3]: Leaving directory
> `/usr/ports/www/firefox/work/mozilla-2.0/obj-amd64-unknown-freebsd8.2/browser/installer'
> gmake tools
> gmake[3]: Entering directory
> `/usr/ports/www/firefox/work/mozilla-2.0/obj-amd64-unknown-freebsd8.2/browser/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/browser/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/browser/installer'
> gmake[1]: Leaving directory
> `/usr/ports/www/firefox/work/mozilla-2.0/obj-amd64-unknown-freebsd8.2'
> OBJDIR=obj-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-freebsd8.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 manager:
> None of the authentication protocols specified are supported.
> **
> GLib-GIO:ERROR:gdbusconnection.c:2270:initable_init: assertion failed:
> (connection->initialization_error == 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]#
> ====
>
> Make start, System print-out under message
> To build Firefox with PGO support you need a running X server and
>   build this port with an user who could access the X server!
>
> During the build a Firefox instance will start and run some test.
>      Do 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  need, even Google.....
>
> If I help to debug, Please tell me.
> Thanks your hard work, Let us good firefox :D
>


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 ?

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.

-- 
Daniel Nebdal


More information about the freebsd-ports mailing list