Closed
Bug 484394
Opened 16 years ago
Closed 8 years ago
build depends on sqlite >=3.6.4 but doesn't check for it
Categories
(Firefox Build System :: General, defect)
Tracking
(Not tracked)
RESOLVED
WORKSFORME
People
(Reporter: koen, Unassigned)
Details
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_6; nl-nl) AppleWebKit/530.1+ (KHTML, like Gecko) Version/4.0 Safari/528.16
Build Identifier:
Fennec is trying use use sqlite3_stmt_status, which was introduced in sqlite 3.6.4 (and marked experimental), but configure doesn't check for it. The build happy decided that 3.6.2 was good enough and crashed when trying to link
Reproducible: Always
Steps to Reproduce:
1.install sqlite 3.6.2
2. start build
3. see it fail
Actual Results:
link error
Expected Results:
no link error
Updated•16 years ago
|
Component: General → Storage
Product: Fennec → Toolkit
QA Contact: general → storage
Comment 1•16 years ago
|
||
We do check, unless the Fennec build system is broken:
http://mxr.mozilla.org/mozilla1.9.1/source/configure.in#135
http://mxr.mozilla.org/mozilla1.9.1/source/configure.in#6002
Component: Storage → General
Product: Toolkit → Fennec
QA Contact: storage → general
Comment 2•16 years ago
|
||
(In reply to comment #1)
> We do check, unless the Fennec build system is broken:
> http://mxr.mozilla.org/mozilla1.9.1/source/configure.in#135
> http://mxr.mozilla.org/mozilla1.9.1/source/configure.in#6002
The Fennec build system only builds the Fennec front-end. We rely on the Mozilla build system to build XULRunner (toolkit).
Comment 3•16 years ago
|
||
(In reply to comment #2)
> The Fennec build system only builds the Fennec front-end. We rely on the
> Mozilla build system to build XULRunner (toolkit).
Maybe somebody broke the checking script?
Updated•16 years ago
|
Component: General → Storage
Product: Fennec → Toolkit
QA Contact: general → storage
Updated•16 years ago
|
Component: Storage → Build Config
Product: Toolkit → Core
QA Contact: storage → build-config
Comment 4•16 years ago
|
||
configure will run all of those checks regardless of what app you're building.
Koen: can you give us specifics of how you configured your build? As it stands, there's not enough info here to determine anything.
It's a build for arm (not maemo or debian!) with the following mozconfig:
mk_add_options MOZ_BUILD_PROJECTS="xulrunner mobile"
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir
mk_add_options AUTOCONF=autoconf2.13
ac_add_options --disable-javaxpcom
ac_add_options --enable-system-cairo
ac_add_options --with-system-zlib
ac_add_options --with-system-bz2
ac_add_options --with-system-jpeg
ac_add_app_options xulrunner --enable-application=xulrunner
ac_add_app_options mobile --enable-application=mobile
A grep of the configure log shows:
koen@dominion:/OE/angstrom-dev/work/armv7a-angstrom-linux-gnueabi/fennec-1_0.9+1.0b2pre-r3$ grep -i sqlite temp/log.do_configure.27261
Creating directory db/sqlite3/src
creating db/sqlite3/src/Makefile
Creating directory db/sqlite3/src
creating db/sqlite3/src/Makefile
koen@dominion:/OE/angstrom-dev/work/armv7a-angstrom-linux-gnueabi/fennec-1_0.9+1.0b2pre-r3$
So this might be a case of the mozilla buildsystem looking in my staging /usr/lib first for libsqlite3.so instead of only using its internal copy.
Comment 6•16 years ago
|
||
Koen: can you run dist/bin/run-mozilla.sh ldd dist/bin/xulrunner-bin and paste the output?
That's doesn't work too well in a crosscompile env:
koen@dominion:/OE/angstrom-dev/work/armv7a-angstrom-linux-gnueabi/fennec-1_0.9+1.0b2pre-r3/mozilla-central/objdir/xulrunner$ dist/bin/run-mozilla.sh ldd dist/bin/xulrunner-bin
run-mozilla.sh: Cannot execute ldd.
koen@dominion:/OE/angstrom-dev/work/armv7a-angstrom-linux-gnueabi/fennec-1_0.9+1.0b2pre-r3/mozilla-central/objdir/xulrunner$ ldd dist/bin/xulrunner-bin
not a dynamic executable
file dist/bin/xulrunner-bin
dist/bin/xulrunner-bin: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.14, not stripped
koen@dominion:/OE/angstrom-dev/work/armv7a-angstrom-linux-gnueabi/fennec-1_0.9+1.0b2pre-r3/mozilla-central/objdir/xulrunner$ arm-angstrom-linux-gnueabi-objdump -p dist/bin/xulrunner-bin
dist/bin/xulrunner-bin: file format elf32-littlearm
Program Header:
0x70000001 off 0x000163b8 vaddr 0x0001e3b8 paddr 0x0001e3b8 align 2**2
filesz 0x00000008 memsz 0x00000008 flags r--
PHDR off 0x00000034 vaddr 0x00008034 paddr 0x00008034 align 2**2
filesz 0x00000120 memsz 0x00000120 flags r-x
INTERP off 0x00000154 vaddr 0x00008154 paddr 0x00008154 align 2**0
filesz 0x00000013 memsz 0x00000013 flags r--
LOAD off 0x00000000 vaddr 0x00008000 paddr 0x00008000 align 2**15
filesz 0x000163c4 memsz 0x000163c4 flags r-x
LOAD off 0x000163c4 vaddr 0x000263c4 paddr 0x000263c4 align 2**15
filesz 0x0000049c memsz 0x00002648 flags rw-
DYNAMIC off 0x00016450 vaddr 0x00026450 paddr 0x00026450 align 2**2
filesz 0x000001d0 memsz 0x000001d0 flags rw-
NOTE off 0x00000168 vaddr 0x00008168 paddr 0x00008168 align 2**2
filesz 0x00000020 memsz 0x00000020 flags r--
TLS off 0x000163c4 vaddr 0x000263c4 paddr 0x000263c4 align 2**2
filesz 0x00000000 memsz 0x00000004 flags r--
STACK off 0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**2
filesz 0x00000000 memsz 0x00000000 flags rw-
Dynamic Section:
NEEDED libpthread.so.0
NEEDED libmozjs.so
NEEDED libxpcom.so
NEEDED libxul.so
NEEDED libplds4.so
NEEDED libplc4.so
NEEDED libnspr4.so
NEEDED libdl.so.2
NEEDED libgtk-x11-2.0.so.0
NEEDED libatk-1.0.so.0
NEEDED libgio-2.0.so.0
NEEDED libpangoft2-1.0.so.0
NEEDED libfreetype.so.6
NEEDED libfontconfig.so.1
NEEDED libgdk-x11-2.0.so.0
NEEDED libgdk_pixbuf-2.0.so.0
NEEDED libpangocairo-1.0.so.0
NEEDED libpango-1.0.so.0
NEEDED libcairo.so.2
NEEDED libgobject-2.0.so.0
NEEDED libgmodule-2.0.so.0
NEEDED libglib-2.0.so.0
NEEDED libX11.so.6
NEEDED libXext.so.6
NEEDED libasound.so.2
NEEDED libstdc++.so.6
NEEDED libm.so.6
NEEDED libgcc_s.so.1
NEEDED libc.so.6
NEEDED ld-linux.so.3
INIT 0x00009de4
FINI 0x0001c3b4
INIT_ARRAY 0x000263c4
INIT_ARRAYSZ 0x00000004
FINI_ARRAY 0x000263c8
FINI_ARRAYSZ 0x00000004
GNU_HASH 0x00008188
STRTAB 0x00009074
SYMTAB 0x00008814
STRSZ 0x00000829
SYMENT 0x00000010
DEBUG 0x00000000
PLTGOT 0x00026620
PLTRELSZ 0x00000358
PLTREL 0x00000011
JMPREL 0x00009a8c
REL 0x00009a5c
RELSZ 0x00000030
RELENT 0x00000008
VERNEED 0x000099ac
VERNEEDNUM 0x00000005
VERSYM 0x0000989e
Version References:
required from ld-linux.so.3:
0x0d696914 0x00 07 GLIBC_2.4
required from libc.so.6:
0x0d696914 0x00 05 GLIBC_2.4
required from libgcc_s.so.1:
0x0b792655 0x00 04 GCC_3.5
required from libpthread.so.0:
0x0d696914 0x00 03 GLIBC_2.4
required from libstdc++.so.6:
0x056bafd3 0x00 06 CXXABI_1.3
0x08922974 0x00 02 GLIBCXX_3.4
private flags = 4000002: [Version4 EABI] [has entry point]
Comment 8•16 years ago
|
||
Can you try it on a device or in QEMU then? I'm just curious to see if you're picking up the wrong sqlite lib in your build. Clearly the build intended to use the in-tree sqlite.
On the target:
root@beagleboard:/usr/lib/fennec/xulrunner# ./run-mozilla.sh /usr/bin/ldd xulrunner-bin
./xulrunner-bin: /usr/lib/libstdc++.so.6: no version information available (required by ./xulrunner-bin)
./xulrunner-bin: /usr/lib/libstdc++.so.6: no version information available (required by ./xulrunner-bin)
./xulrunner-bin: /usr/lib/libstdc++.so.6: no version information available (required by ./libmozjs.so)
./xulrunner-bin: /usr/lib/libstdc++.so.6: no version information available (required by ./libxul.so)
./xulrunner-bin: /usr/lib/libstdc++.so.6: no version information available (required by ./libxul.so)
libpthread.so.0 => /lib/libpthread.so.0 (0x40025000)
libmozjs.so => ./libmozjs.so (0x40043000)
libxpcom.so => ./libxpcom.so (0x4010e000)
libxul.so => ./libxul.so (0x40119000)
libplds4.so => ./libplds4.so (0x40ed5000)
libplc4.so => ./libplc4.so (0x40edf000)
libnspr4.so => ./libnspr4.so (0x40eea000)
libdl.so.2 => /lib/libdl.so.2 (0x40f22000)
libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0x40f2d000)
libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0x4129f000)
libgio-2.0.so.0 => /usr/lib/libgio-2.0.so.0 (0x412c0000)
libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0x41318000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x41342000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x413b7000)
libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0x413e7000)
libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0x41470000)
libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0x4148e000)
libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0x4149d000)
libcairo.so.2 => /usr/lib/libcairo.so.2 (0x414dc000)
libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x41541000)
libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0x41574000)
libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x4157e000)
libX11.so.6 => /usr/lib/libX11.so.6 (0x41638000)
libXext.so.6 => /usr/lib/libXext.so.6 (0x41724000)
libasound.so.2 => /usr/lib/libasound.so.2 (0x4173a000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x417f9000)
libm.so.6 => /lib/libm.so.6 (0x418b6000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x41928000)
libc.so.6 => /lib/libc.so.6 (0x4193a000)
/lib/ld-linux.so.3 (0x40000000)
libsqlite3.so.0 => /usr/lib/libsqlite3.so.0 (0x41a53000)
libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x41abb000)
libsmime3.so => ./libsmime3.so (0x41ae1000)
libssl3.so => ./libssl3.so (0x41b07000)
libnss3.so => ./libnss3.so (0x41b36000)
libnssutil3.so => ./libnssutil3.so (0x41c1e000)
libsoftokn3.so => ./libsoftokn3.so (0x41c3a000)
libXrender.so.1 => /usr/lib/libXrender.so.1 (0x41c70000)
libz.so.1 => /usr/lib/libz.so.1 (0x41c80000)
libdbus-glib-1.so.2 => /usr/lib/libdbus-glib-1.so.2 (0x41c9a000)
libdbus-1.so.3 => /usr/lib/libdbus-1.so.3 (0x41cbb000)
libXt.so.6 => /usr/lib/libXt.so.6 (0x41cec000)
libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0x41d42000)
libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0x41d4d000)
libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0x41d58000)
libXcomposite.so.1 => /usr/lib/libXcomposite.so.1 (0x41d68000)
libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0x41d72000)
libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x41d7c000)
libpixman-1.so.0 => /usr/lib/libpixman-1.so.0 (0x41d88000)
libpng12.so.0 => /usr/lib/libpng12.so.0 (0x41dbf000)
libXau.so.6 => /usr/lib/libXau.so.6 (0x41de7000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x41df1000)
libexpat.so.1 => /usr/lib/libexpat.so.1 (0x41dfd000)
librt.so.1 => /lib/librt.so.1 (0x41e27000)
libnsl.so.1 => /lib/libnsl.so.1 (0x41e37000)
libSM.so.6 => /usr/lib/libSM.so.6 (0x41e54000)
libuuid.so.1 => /usr/lib/libuuid.so.1 (0x41e62000)
libICE.so.6 => /usr/lib/libICE.so.6 (0x41e6e000)
root@beagleboard:/usr/lib/fennec/xulrunner#
Comment 10•16 years ago
|
||
Ok, this is clearly your problem:
libsqlite3.so.0 => /usr/lib/libsqlite3.so.0 (0x41a53000)
run-mozilla.sh sets LD_LIBRARY_PATH explicitly to put the local dir first:
http://mxr.mozilla.org/mozilla-central/source/build/unix/run-mozilla.sh#313
How is /usr/lib winding up first in the search path?
Comment 11•8 years ago
|
||
Doesn't look like this is a current issue.
Status: UNCONFIRMED → RESOLVED
Closed: 8 years ago
Resolution: --- → WORKSFORME
Updated•7 years ago
|
Product: Core → Firefox Build System
You need to log in
before you can comment on or make changes to this bug.
Description
•