Closed Bug 829818 Opened 11 years ago Closed 11 years ago

Firefox 18.0 build fails elfhack assertion

Categories

(Firefox Build System :: General, defect)

18 Branch
x86_64
Linux
defect
Not set
major

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 654087

People

(Reporter: alex_y_xu, Unassigned)

References

Details

May be the same as bug 654087:

Building Firefox 18.0 on Gentoo:

cat /var/tmp/portage/www-client/firefox-18.0/work/mozilla-release/browser/installer/removed-files.in | \
sed -e 's/^[ \t]*//' | \
/var/tmp/portage/www-client/firefox-18.0/work/mozilla-release/obj-x86_64-unknown-linux-gnu/_virtualenv/bin/python /var/tmp/portage/www-client/firefox-18.0/work/mozilla-release/config/Preprocessor.py -Fsubstitution -DMOZ_GLUE_IN_PROGRAM -DAB_CD=en-US -DMOZ_APP_NAME=firefox -DPREF_DIR=defaults/preferences -DMOZ_ENABLE_GNOME_COMPONENT=1 -DMOZ_GTK2=1 -DMOZ_NATIVE_NSPR=1 -DMOZ_NATIVE_NSS=1 -DJAREXT= -DMOZ_CHILD_PROCESS_NAME=plugin-container -DMOZ_JSDEBUGGER -DDLL_PREFIX=lib -DDLL_SUFFIX=.so -DBIN_SUFFIX= -DBINPATH=bin -DHAVE_64BIT_OS=1 -DJSGC_INCREMENTAL=1 -DMOZ_ENABLE_PROFILER_SPS=1 -DMOZILLA_VERSION=\"18.0\" -DMOZILLA_VERSION_U=18.0 -DMOZILLA_UAVERSION=\"18.0\" -DD_INO=d_ino -DSTDC_HEADERS=1 -DHAVE_SSIZE_T=1 -DHAVE_ST_BLKSIZE=1 -DHAVE_SIGINFO_T=1 -DHAVE_UINT=1 -DHAVE_UNAME_DOMAINNAME_FIELD=1 -DHAVE_VISIBILITY_HIDDEN_ATTRIBUTE=1 -DHAVE_VISIBILITY_ATTRIBUTE=1 -DHAVE_DIRENT_H=1 -DHAVE_GETOPT_H=1 -DHAVE_SYS_BITYPES_H=1 -DHAVE_MEMORY_H=1 -DHAVE_UNISTD_H=1 -DHAVE_GNU_LIBC_VERSION_H=1 -DHAVE_NL_TYPES_H=1 -DHAVE_MALLOC_H=1 -DHAVE_X11_XKBLIB_H=1 -DHAVE_CPUID_H=1 -DHAVE_SYS_QUOTA_H=1 -DHAVE_SYS_SYSMACROS_H=1 -DHAVE_LINUX_QUOTA_H=1 -DHAVE_LINUX_IF_ADDR_H=1 -DHAVE_LINUX_RTNETLINK_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_NETINET_IN_H=1 -DHAVE_BYTESWAP_H=1 -DHAVE_SYS_CDEFS_H=1 -DHAVE_DLOPEN=1 -DHAVE_DLADDR=1 -DHAVE_MEMMEM=1 -DFUNCPROTO=15 -DHAVE_LIBXSS=1 -D_REENTRANT=1 -DHAVE_RANDOM=1 -DHAVE_STRERROR=1 -DHAVE_LCHOWN=1 -DHAVE_FCHMOD=1 -DHAVE_SNPRINTF=1 -DHAVE_MEMMOVE=1 -DHAVE_STAT64=1 -DHAVE_LSTAT64=1 -DHAVE_TRUNCATE64=1 -DHAVE_SETBUF=1 -DHAVE_ISATTY=1 -DHAVE_FLOCKFILE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_STRTOK_R=1 -DHAVE_CLOCK_MONOTONIC=1 -DHAVE_RES_NINIT=1 -DHAVE_GNU_GET_LIBC_VERSION=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=\<malloc.h\> -DHAVE_STRNDUP=1 -DHAVE_POSIX_MEMALIGN=1 -DHAVE_MEMALIGN=1 -DHAVE_VALLOC=1 -DHAVE_MALLOC_USABLE_SIZE=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\)\) -DHAVE_LIBPNG=1 -DMOZ_PHOENIX=1 -DMOZ_BUILD_APP=browser -DMOZ_X11=1 -DMOZ_WIDGET_GTK2=1 -DMOZ_WIDGET_GTK=2 -DMOZ_PDF_PRINTING=1 -DMOZ_ENABLE_XREMOTE=1 -DMOZ_INSTRUMENT_EVENT_LOOP=1 -DMOZ_ENABLE_STARTUP_NOTIFICATION=1 -DMOZ_OFFICIAL_BRANDING=1 -DMOZ_DISTRIBUTION_ID=\"org.mozilla\" -DMOZ_PANGO=1 -DMOZ_ENABLE_GIO=1 -DIBMBIDI=1 -DACCESSIBILITY=1 -DNS_PRINTING=1 -DNS_PRINT_PREVIEW=1 -DMOZ_WEBRTC=1 -DMOZ_WEBRTC_SIGNALING=1 -DMOZ_PEERCONNECTION=1 -DMOZ_SCTP=1 -DMOZ_SRTP=1 -DMOZ_SAMPLE_TYPE_FLOAT32=1 -DMOZ_RAW=1 -DMOZ_OGG=1 -DATTRIBUTE_ALIGNED_MAX=64 -DMOZ_WEBM=1 -DMOZ_MEDIA_NAVIGATOR=1 -DMOZ_VP8=1 -DMOZ_VP8_ERROR_CONCEALMENT=1 -DMOZ_VP8_ENCODER=1 -DHAVE_LIBVPX=1 -DMOZ_WAVE=1 -DMOZ_SYDNEYAUDIO=1 -DMOZ_SPEEX_RESAMPLER=1 -DMOZ_CUBEB=1 -DMOZ_MEDIA=1 -DMOZ_VORBIS=1 -DMOZ_OPUS=1 -DMOZ_XTF=1 -DENABLE_SYSTEM_EXTENSION_DIRS=1 -DMOZ_CRASHREPORTER_ENABLE_PERCENT=100 -DMOZ_FLEXBOX=1 -DMOZ_WEBAPP_RUNTIME=1 -DMOZ_UPDATE_CHANNEL=default -DMOZ_FEEDS=1 -DMOZ_NATIVE_SQLITE=1 -DMOZ_SAFE_BROWSING=1 -DMOZ_URL_CLASSIFIER=1 -DMOZ_DEBUG_SYMBOLS=1 -DMOZ_LOGGING=1 -DSIZEOF_INT_P=8 -DMOZ_MEMORY_SIZEOF_PTR_2POW=3 -DMOZ_MEMORY=1 -DMOZ_JEMALLOC=1 -DMOZ_MEMORY_LINUX=1 -DJSGC_INCREMENTAL=1 -DHAVE___CXA_DEMANGLE=1 -DHAVE__UNWIND_BACKTRACE=1 -DJS_DEFAULT_JITREPORT_GRANULARITY=3 -DMOZ_OMNIJAR=1 -DMOZ_DEFAULT_MOZILLA_FIVE_HOME=\"/usr/lib64/firefox\" -DMOZ_USER_DIR=\".mozilla\" -DMOZ_STATIC_JS=1 -DHAVE_FT_BITMAP_SIZE_Y_PPEM=1 -DHAVE_FT_GLYPHSLOT_EMBOLDEN=1 -DHAVE_FT_LOAD_SFNT_TABLE=1 -DHAVE_FT_SELECT_SIZE=1 -DHAVE_FONTCONFIG_FCFREETYPE_H=1 -DHAVE_STDINT_H=1 -DHAVE_INTTYPES_H=1 -DMOZ_GRAPHITE=1 -DMOZ_ENABLE_SKIA=1 -DMOZ_XUL=1 -DBUILD_CTYPES=1 -DMOZ_PLACES=1 -DMOZ_SERVICES_AITC=1 -DMOZ_SERVICES_COMMON=1 -DMOZ_SERVICES_CRYPTO=1 -DMOZ_SERVICES_METRICS=1 -DMOZ_SERVICES_NOTIFICATIONS=1 -DMOZ_SERVICES_SYNC=1 -DMOZ_MACBUNDLE_ID=org.mozilla.firefox -DMOZ_B2G_VERSION=\"1.0.0\" -DMOZ_APP_UA_NAME=\"\" -DMOZ_APP_UA_VERSION=\"18.0\" -DFIREFOX_VERSION=18.0 -DMOZ_UA_BUILDID=\"20100101\" -DMOZ_DLL_SUFFIX=\".so\" -DHAVE_POSIX_FALLOCATE=1 -DXP_UNIX=1 -DMOZ_ACCESSIBILITY_ATK=1 -DATK_MAJOR_VERSION=2 -DATK_MINOR_VERSION=4 -DATK_REV_VERSION=0 > removed-files
===
=== If you get failures below, please file a bug describing the error
=== and your environment (compiler and linker versions), and use
=== --disable-elf-hack until this is fixed.
===
cd ../../dist/bin; find . -name "*.so" | xargs ../../build/unix/elfhack/elfhack
./components/libbrowsercomps.so: No gain. Skipping
./components/libmozgnome.so: No gain. Skipping
./libmozalloc.so: No gain. Skipping
./libxpcom.so: No gain. Skipping
elfhack: /var/tmp/portage/www-client/firefox-18.0/work/mozilla-release/build/unix/elfhack/elf.cpp:262: Elf::Elf(std::ifstream&): Assertion `segment->getMemSize() == phdr.p_memsz' failed.
xargs: ../../build/unix/elfhack/elfhack: terminated by signal 6
make[1]: *** [elfhack] Error 125
make[1]: Leaving directory `/var/tmp/portage/www-client/firefox-18.0/work/mozilla-release/obj-x86_64-unknown-linux-gnu/browser/installer'
make: *** [install] Error 2
Can you give the output of readelf -lS for whichever file is failing (try running elfhack individually on each library, my guess is it's libxul.so)?
$ readelf -lS libxul.so
There are 41 section headers, starting at offset 0x30c83078:

Section Headers:
  [Nr] Name              Type             Address           Offset
       Size              EntSize          Flags  Link  Info  Align
  [ 0]                   NULL             0000000000000000  00000000
       0000000000000000  0000000000000000           0     0     0
  [ 1] .dynsym           DYNSYM           00000000000001c8  000001c8
       000000000001c710  0000000000000018   A       2     1     8
  [ 2] .dynstr           STRTAB           000000000001c8d8  0001c8d8
       00000000000284b0  0000000000000000   A       0     0     1
  [ 3] .hash             HASH             0000000000044d88  00044d88
       0000000000008bec  0000000000000004   A       1     0     8
  [ 4] .gnu.version      VERSYM           000000000004d974  0004d974
       00000000000025ec  0000000000000002   A       1     0     2
  [ 5] .gnu.version_d    VERDEF           000000000004ff60  0004ff60
       0000000000000038  0000000000000000   A       2     2     4
  [ 6] .gnu.version_r    VERNEED          000000000004ff98  0004ff98
       00000000000004e0  0000000000000000   A       2    16     4
  [ 7] .rela.dyn         RELA             0000000000050478  00050478
       0000000000686fb8  0000000000000018   A       1     0     8
  [ 8] .rela.plt         RELA             00000000006d7430  006d7430
       00000000000175e0  0000000000000018  AI       1    10     8
  [ 9] .init             PROGBITS         00000000006eea10  006eea10
       0000000000000018  0000000000000000  AX       0     0     4
  [10] .plt              PROGBITS         00000000006eea30  006eea30
       000000000000f950  0000000000000010  AX       0     0     16
  [11] .text             PROGBITS         00000000006fe380  006fe380
       0000000001fa16b6  0000000000000000  AX       0     0     16
  [12] .fini             PROGBITS         000000000269fa38  0269fa38
       000000000000000e  0000000000000000  AX       0     0     4
  [13] .rodata           PROGBITS         000000000269fa60  0269fa60
       000000000031bae0  0000000000000000   A       0     0     32
  [14] .eh_frame         PROGBITS         00000000029bb540  029bb540
       00000000004b66ac  0000000000000000   A       0     0     8
  [15] .eh_frame_hdr     PROGBITS         0000000002e71bec  02e71bec
       00000000000db484  0000000000000000   A       0     0     4
  [16] .tbss             NOBITS           0000000002f4e080  02f4d080
       0000000000000004  0000000000000000 WAT       0     0     16
  [17] .dynamic          DYNAMIC          0000000002f4e080  02f4d080
       00000000000004b0  0000000000000010  WA       2     0     8
  [18] .got              PROGBITS         0000000002f4e530  02f4d530
       0000000000000660  0000000000000000  WA       0     0     8
  [19] .got.plt          PROGBITS         0000000002f4eb90  02f4db90
       0000000000007cb8  0000000000000000  WA       0     0     8
  [20] .ctors            PROGBITS         0000000002f56848  02f55848
       0000000000000010  0000000000000000  WA       0     0     8
  [21] .dtors            PROGBITS         0000000002f56858  02f55858
       0000000000000010  0000000000000000  WA       0     0     8
  [22] .jcr              PROGBITS         0000000002f56868  02f55868
       0000000000000008  0000000000000000  WA       0     0     8
  [23] .data             PROGBITS         0000000002f56880  02f55880
       000000000009aa68  0000000000000000  WA       0     0     32
  [24] .data.rel.ro      PROGBITS         0000000002ff1300  02ff0300
       0000000000240f00  0000000000000000  WA       0     0     32
  [25] .init_array       INIT_ARRAY       0000000003232200  03231200
       0000000000000728  0000000000000000  WA       0     0     8
  [26] .data.rel.ro.loca PROGBITS         0000000003232940  03231940
       0000000000029ba0  0000000000000000  WA       0     0     32
  [27] .bss              NOBITS           000000000325c4e0  0325b4e0
       00000000001a8e61  0000000000000000  WA       0     0     32
  [28] .comment          PROGBITS         0000000000000000  0325b4e0
       0000000000000080  0000000000000001  MS       0     0     1
  [29] .debug_info       PROGBITS         0000000000000000  0325b560
       000000001cedc6db  0000000000000000           0     0     1
  [30] .debug_abbrev     PROGBITS         0000000000000000  20137c3b
       0000000000ad4c1d  0000000000000000           0     0     1
  [31] .debug_line       PROGBITS         0000000000000000  20c0c858
       0000000001b8ac6b  0000000000000000           0     0     1
  [32] .debug_str        PROGBITS         0000000000000000  227974c3
       000000000185fcd6  0000000000000001  MS       0     0     1
  [33] .debug_loc        PROGBITS         0000000000000000  23ff7199
       0000000007faf702  0000000000000000           0     0     1
  [34] .debug_aranges    PROGBITS         0000000000000000  2bfa689b
       00000000002f35c0  0000000000000000           0     0     1
  [35] .debug_ranges     PROGBITS         0000000000000000  2c299e5b
       0000000003a6dca0  0000000000000000           0     0     1
  [36] .debug_frame      PROGBITS         0000000000000000  2fd07b00
       0000000000000998  0000000000000000           0     0     8
  [37] .note.gnu.gold-ve NOTE             0000000000000000  2fd08498
       000000000000001c  0000000000000000           0     0     4
  [38] .symtab           SYMTAB           0000000000000000  2fd084b8
       0000000000567570  0000000000000018          39   231237     8
  [39] .strtab           STRTAB           0000000000000000  3026fa28
       0000000000a134c1  0000000000000000           0     0     1
  [40] .shstrtab         STRTAB           0000000000000000  30c82ee9
       000000000000018f  0000000000000000           0     0     1
Key to Flags:
  W (write), A (alloc), X (execute), M (merge), S (strings), l (large)
  I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown)
  O (extra OS processing required) o (OS specific), p (processor specific)

Elf file type is DYN (Shared object file)
Entry point 0x0
There are 7 program headers, starting at offset 64

Program Headers:
  Type           Offset             VirtAddr           PhysAddr
                 FileSiz            MemSiz              Flags  Align
  PHDR           0x0000000000000040 0x0000000000000040 0x0000000000000040
                 0x0000000000000188 0x0000000000000188  R      8
  LOAD           0x0000000000000000 0x0000000000000000 0x0000000000000000
                 0x0000000002f4d070 0x0000000002f4d070  R E    1000
  LOAD           0x0000000002f4d080 0x0000000002f4e080 0x0000000002f4e080
                 0x000000000030e460 0x00000000004b72c1  RW     1000
  DYNAMIC        0x0000000002f4d080 0x0000000002f4e080 0x0000000002f4e080
                 0x00000000000004b0 0x00000000000004b0  RW     8
  GNU_EH_FRAME   0x0000000002e71bec 0x0000000002e71bec 0x0000000002e71bec
                 0x00000000000db484 0x00000000000db484  R      4
  GNU_STACK      0x0000000000000000 0x0000000000000000 0x0000000000000000
                 0x0000000000000000 0x0000000000000000  RW     0
  TLS            0x0000000002f4d080 0x0000000002f4e080 0x0000000002f4e080
                 0x0000000000000000 0x0000000000000010  R      10

 Section to Segment mapping:
  Segment Sections...
   00     
   01     .dynsym .dynstr .hash .gnu.version .gnu.version_d .gnu.version_r .rela.dyn .rela.plt .init .plt .text .fini .rodata .eh_frame .eh_frame_hdr 
   02     .dynamic .got .got.plt .ctors .dtors .jcr .data .data.rel.ro .init_array .data.rel.ro.local .bss 
   03     .dynamic 
   04     .eh_frame_hdr 
   05     
   06     .tbss
Status: UNCONFIRMED → RESOLVED
Closed: 11 years ago
Resolution: --- → DUPLICATE
Component: Build Config → General
Product: Firefox → Firefox Build System
You need to log in before you can comment on or make changes to this bug.