Closed Bug 729447 Opened 12 years ago Closed 10 years ago

[mozilla-central FreeBSD ia64] js/src/vm/RegExpObject-inl.h:380: error: 'ignoreCase' was not declared in this scope

Categories

(Core :: JavaScript Engine, defect)

Other
FreeBSD
defect
Not set
normal

Tracking

()

RESOLVED INCOMPLETE

People

(Reporter: mexas, Unassigned)

References

Details

User Agent: Mozilla/5.0 (X11; U; FreeBSD ia64; en-US; rv:1.9.2.26) Gecko/20120201 Firefox/3.6.26
Build ID: 20120201130317

Steps to reproduce:

On FreeBSD ia64, I've firefox-3.6.27 working fine.
My attempts to update to a newer version failed.
I'm now updating to v10, and get this error:



Actual results:

c++ -o jsapi.o -c  -fvisibility=hidden -DOSTYPE=\"FreeBSD9\" -DOSARCH=FreeBSD -DEXPORT_JS_API -DIMPL_MFBT -DJS_HAS_CTYPES -DDLL_PREFIX=\"lib\" -DDLL_SUFFIX=\".so\" -Ictypes/libffi/include -I.  -I. -I. -I./../../dist/include -I./../../dist/include/nsprpub -I/usr/local/include  -I/usr/local/include/nspr  -I. -I./assembler -I./yarr  -fPIC -I/usr/local/include -fno-rtti -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pipe -g -pipe  -DDEBUG -D_DEBUG -DTRACING -g -fno-omit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1  -I/usr/local/include -DMOZILLA_CLIENT -include ./js-confdefs.h /usr/ports/www/firefox/work/mozilla-release/js/src/jsapi.cpp
In file included from ./vm/RegExpObject.h:53,
                 from ./jsscriptinlines.h:52,
                 from /usr/ports/www/firefox/work/mozilla-release/js/src/vm/Stack-inl.h:49,
                 from /usr/ports/www/firefox/work/mozilla-release/js/src/jsinferinlines.h:50,
                 from /usr/ports/www/firefox/work/mozilla-release/js/src/jsanalyze.cpp:45:
./yarr/pcre/pcre.h:49:18: error: jstl.h: No such file or directory
In file included from ./vm/RegExpObject.h:53,
                 from ./jsscriptinlines.h:52,
                 from /usr/ports/www/firefox/work/mozilla-release/js/src/vm/Stack-inl.h:49,
                 from /usr/ports/www/firefox/work/mozilla-release/js/src/jsinferinlines.h:50,
                 from /usr/ports/www/firefox/work/mozilla-release/js/src/jsapi.cpp:93:
./yarr/pcre/pcre.h:49:18: error: jstl.h: No such file or directory
In file included from /usr/ports/www/firefox/work/mozilla-release/js/src/jsapi.cpp:98:
/usr/ports/www/firefox/work/mozilla-release/js/src/vm/RegExpObject-inl.h:332: error: no 'bool js::RegExpPrivateCode::isJITRuntimeEnabled(JSContext*)' member function declared in class 'js::RegExpPrivateCode'
/usr/ports/www/firefox/work/mozilla-release/js/src/vm/RegExpObject-inl.h: In member function 'bool js::RegExpPrivateCode::compile(JSContext*, JSLinearString&, js::TokenStream*, uintN*, js::RegExpFlag)':
/usr/ports/www/firefox/work/mozilla-release/js/src/vm/RegExpObject-inl.h:380: error: 'ignoreCase' was not declared in this scope
/usr/ports/www/firefox/work/mozilla-release/js/src/vm/RegExpObject-inl.h:381: error: 'multiline' was not declared in this scope
gmake[3]: *** [jsapi.o] Error 1
gmake[3]: *** Waiting for unfinished jobs....
gmake[3]: *** [jsanalyze.o] Error 1
gmake[3]: Leaving directory `/usr/ports/www/firefox/work/mozilla-release/js/src'

I can post config logs if relevant.
how about trunk?
Assignee: nobody → general
Component: Untriaged → JavaScript Engine
Product: Firefox → Core
QA Contact: untriaged → general
Depends on: 691898
Sorry, I don't understand the question.
why not marking it as a dupe of #691898 ? It's obviously the same issue...
(In reply to Landry Breuil from comment #3)
> why not marking it as a dupe of #691898 ? It's obviously the same issue...

Even if landing bug 691898, there may be still another problem for FreeBSD ia64.  So after that bug is fixed, reporter should check whether build issue is fixed.

Also, if you can verify this on FreeBSD ia64, we should dup of bug 691898.
(In reply to Anton Shterenlikht from comment #2)
> Sorry, I don't understand the question.

After landing bug 691898, could you try this again using upstream code from http://hg.mozilla.org/mozillla-central/?  I believe that this is same as bug 691898, but there may be another issue...
ok, thanks for the explanation.

Anton, can you :
- check with bare mozilla source if the issue happens too (likely), not the freebsd port (which has 'vendor patches')
- see with freebsd gecko team if they are aware of the issue/working on it
- try backporting https://bugzilla.mozilla.org/attachment.cgi?id=589953 (from the aforementioned bug, patch was against 10.0b4) and see if it fixes your issue ?

Fwiw, OpenBSD ships Firefox 10.0.2 with that patch and it fixes the build/runtime on powerpc, ia64 might fall in the same !ENABLE_YART_JIT case.
I asked gecko@freebsd.org, will see what they reply.

The FreeBSD patches are very substantial for this port.
I'm not sure if I can even start building without those:

# pwd
/usr/ports/www/firefox/work/mozilla-central-e722d2ab78da

# autoscan-2.68
config/nsinstall.c:373: warning: getwd is deprecated, use getcwd instead
config/nsinstall.c:387: warning: getwd is deprecated, use getcwd instead
security/coreconf/nsinstall/sunos4.h:161: warning: getwd is deprecated, use getcwd instead
build/autoconf/mozcommonheader.m4:38: error: AC_LANG_COMPILER: unknown language: _AC_LANG
../../lib/autoconf/lang.m4:330: AC_LANG_COMPILER_REQUIRE is expanded from...
../../lib/autoconf/general.m4:2607: AC_COMPILE_IFELSE is expanded from...
../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
build/autoconf/mozheader.m4:40: MOZ_CHECK_HEADER is expanded from...
build/autoconf/mozheader.m4:59: MOZ_CHECK_HEADERS is expanded from...
build/autoconf/mozcommonheader.m4:38: the top level
autom4te-2.68: /usr/local/bin/gm4 failed with exit status: 1
autoscan-2.68: /usr/local/bin/autom4te-2.68 failed with exit status: 1
#
Start from https://developer.mozilla.org/En/Developer_Guide/Build_Instructions

You'll need autoconf-2.13, a .mozconfig, and 'gmake -f client.mk' should get you rolling, provided you install a bunch of build dependencies.....

(for the record, mozilla-central as is builds with only the yarr jit patch from bug 691898 on OpenBSD)

You'll probably need at least the following in .mozconfig :

ac_add_options --disable-necko-wifi
ac_add_options --x-includes=/usr/X11R6/include
ac_add_options --with-system-libevent=/usr/
thanks for the link.

# cat .mozconfig
ac_add_options --disable-necko-wifi
ac_add_options --x-includes=/usr/X11R6/include
ac_add_options --with-system-libevent=/usr/
#

# gmake -f client.mk

*skip*

checking for __attribute__((malloc))... yes
checking for __attribute__((warn_unused_result))... yes
checking for LC_MESSAGES... yes
checking for localeconv... yes
checking for event.h... yes
configure: error: event.h found, but is not in /usr//include
*** Fix above errors and then restart with               "gmake -f client.mk build"
gmake[2]: *** [configure] Error 1
gmake[2]: Leaving directory `/usr/ports/www/firefox/work/mozilla-central'
gmake[1]: *** [obj-ia64-unknown-freebsd9.0/Makefile] Error 2
gmake[1]: Leaving directory `/usr/ports/www/firefox/work/mozilla-central'
gmake: *** [build] Error 2
#


# ls -al /usr/include/sys/event.h /usr/local/include/event.h 
-r--r--r--  1 root  wheel  10045 Apr  2  2010 /usr/include/sys/event.h
-r--r--r--  1 root  wheel  38998 Jun 22  2011 /usr/local/include/event.h
#

What's going on here?
oh, sorry, I'm really slow today.

I changed to

ac_add_options --with-system-libevent=/usr/local

and now it's building. Will report when I get to the error
# hg identify
5e756e59a794 tip
#

I now got to:

c++ -o jsanalyze.o -c  -fvisibility=hidden -DMOZ_GLUE_IN_PROGRAM -DOSTYPE=\"FreeBSD9\" -DOSARCH=FreeBSD -DEXPORT_JS_API -DJS_HAS_CTYPES -DDLL_PREFIX=\"lib\" -DDLL_SUFFIX=\".so\" -DNO_NSPR_10_SUPPORT -Ictypes/libffi/include -I.  -I/usr/ports/www/firefox/work/mozilla-central/js/src -I. -I./../../dist/include -I./../../dist/include/nsprpub  -I/usr/ports/www/firefox/work/mozilla-central/obj-ia64-unknown-freebsd9.0/dist/include/nspr  -I/usr/ports/www/firefox/work/mozilla-central/js/src -I/usr/ports/www/firefox/work/mozilla-central/js/src/assembler -I/usr/ports/www/firefox/work/mozilla-central/js/src/yarr  -fPIC -I/usr/X11R6/include -fno-rtti -pedantic -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -Wno-long-long -pipe  -DNDEBUG -DTRIMMED -g -O -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1  -I/usr/X11R6/include -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsanalyze.pp /usr/ports/www/firefox/work/mozilla-central/js/src/jsanalyze.cpp
In file included from /usr/ports/www/firefox/work/mozilla-central/js/src/vm/RegExpObject.h:56,
                 from /usr/ports/www/firefox/work/mozilla-central/js/src/jscompartment.h:52,
                 from /usr/ports/www/firefox/work/mozilla-central/js/src/jsanalyze.h:44,
                 from /usr/ports/www/firefox/work/mozilla-central/js/src/jsanalyze.cpp:40:
/usr/ports/www/firefox/work/mozilla-central/js/src/yarr/pcre/pcre.h:49:18: error: jstl.h: No such file or directory
In file included from /usr/ports/www/firefox/work/mozilla-central/js/src/jscompartment.h:52,
                 from /usr/ports/www/firefox/work/mozilla-central/js/src/jsanalyze.h:44,
                 from /usr/ports/www/firefox/work/mozilla-central/js/src/jsanalyze.cpp:40:
/usr/ports/www/firefox/work/mozilla-central/js/src/vm/RegExpObject.h:271:3: error: #error "Syntax checking not implemented for !ENABLE_YARR_JIT"
In file included from /usr/ports/www/firefox/work/mozilla-central/js/src/jscompartment.h:52,
                 from /usr/ports/www/firefox/work/mozilla-central/js/src/jsanalyze.h:44,
                 from /usr/ports/www/firefox/work/mozilla-central/js/src/jsanalyze.cpp:40:
/usr/ports/www/firefox/work/mozilla-central/js/src/vm/RegExpObject.h: In static member function 'static bool js::detail::RegExpCode::checkSyntax(JSContext*, js::TokenStream*, JSLinearString*)':
/usr/ports/www/firefox/work/mozilla-central/js/src/vm/RegExpObject.h:273: error: no return statement in function returning non-void
gmake[5]: *** [jsanalyze.o] Error 1
gmake[5]: Leaving directory `/usr/ports/www/firefox/work/mozilla-central/obj-ia64-unknown-freebsd9.0/js/src'

Which is similar, but not identical to the original error.
I'm new to hg (I used svn and csup).

HOw can I backport https://bugzilla.mozilla.org/attachment.cgi?id=589953 with hg?
Use mercurial queues with hg qimport (see https://developer.mozilla.org/en/Mercurial_Queues) or just ftp -o - 'https://bugzilla.mozilla.org/attachment.cgi?id=589953' | patch -i -. But that patch is against firefox 10.0b4, it wont apply against mozilla-central. https://bugzilla.mozilla.org/attachment.cgi?id=596771 will.

(btw, it's definitely a dupe of #691898, same error messages..)
# hg summary
parent: 87567:cd120efbe4c6 tip
 Bug 728538. (Bv2) browser_ConsoleStorageAPITests.js: Set "browser.tabs.max_tabs_undo" preference, Document code. r=gavin.sharp.
branch: default
commit: 10 unknown (clean)
update: (current)

# fetch -o - 'https://bugzilla.mozilla.org/attachment.cgi?id=596771' | patch -i -
-                                             100% of   15 kB  112 kBps
Hmm...  Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|# HG changeset patch
|# Parent 9fb9c1cfc1df49ba616e0cce1586d708b0f3c0c8
|# User Landry Breuil <landry@openbsd.org>
|Use YARR interpreter instead of PCRE on platforms where YARR JIT is not
|supported
|
|diff --git a/js/src/Makefile.in b/js/src/Makefile.in
|--- a/js/src/Makefile.in
|+++ b/js/src/Makefile.in
--------------------------
Patching file Makefile.in using Plan A...
Hunk #1 failed at 336.
Hunk #2 failed at 883.
2 out of 2 hunks failed--saving rejects to Makefile.in.rej
Hmm...  The next patch looks like a unified diff to me...
The text leading up to this was:
--------------------------
|diff --git a/js/src/jsapi.cpp b/js/src/jsapi.cpp
|--- a/js/src/jsapi.cpp
|+++ b/js/src/jsapi.cpp
--------------------------
File to patch: 


What am I doing wrong here?
use patch -p1 to strip off a/ b/ from patch. But diff might not apply at all now, that part of the source is a moving target....
Thanks. The patch applied cleanly. Now I get:

c++ -o jscntxt.o -c  -fvisibility=hidden -DMOZ_GLUE_IN_PROGRAM -DOSTYPE=\"FreeBSD9\" -DOSARCH=FreeBSD -DEXPORT_JS_API -DJS_HAS_CTYPES -DDLL_PREFIX=\"lib\" -DDLL_SUFFIX=\".so\" -DNO_NSPR_10_SUPPORT -Ictypes/libffi/include -I.  -I/usr/ports/www/firefox/work/mozilla-central/js/src -I. -I./../../dist/include -I./../../dist/include/nsprpub  -I/usr/ports/www/firefox/work/mozilla-central/obj-ia64-unknown-freebsd9.0/dist/include/nspr  -I/usr/ports/www/firefox/work/mozilla-central/js/src -I/usr/ports/www/firefox/work/mozilla-central/js/src/assembler -I/usr/ports/www/firefox/work/mozilla-central/js/src/yarr  -fPIC -I/usr/X11R6/include -fno-rtti -pedantic -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -Wno-long-long -pipe  -DNDEBUG -DTRIMMED -g -O -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1  -I/usr/X11R6/include -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jscntxt.pp /usr/ports/www/firefox/work/mozilla-central/js/src/jscntxt.cpp
/usr/ports/www/firefox/work/mozilla-central/js/src/jscntxt.cpp: In member function 'void JSRuntime::sizeOfExcludingThis(size_t (*)(const void*), size_t*, size_t*, size_t*, size_t*)':
/usr/ports/www/firefox/work/mozilla-central/js/src/jscntxt.cpp:107: warning: unused variable 'method'
/usr/ports/www/firefox/work/mozilla-central/js/src/jscntxt.cpp: In member function 'void JSRuntime::setJitHardening(bool)':
/usr/ports/www/firefox/work/mozilla-central/js/src/jscntxt.cpp:134: error: 'execAlloc_' was not declared in this scope
/usr/ports/www/firefox/work/mozilla-central/js/src/jscntxt.cpp: At global scope:
/usr/ports/www/firefox/work/mozilla-central/js/src/jscntxt.cpp:138: error: expected constructor, destructor, or type conversion before '*' token
gmake[5]: *** [jscntxt.o] Error 1
gmake[5]: Leaving directory `/usr/ports/www/firefox/work/mozilla-central/obj-ia64-unknown-freebsd9.0/js/src'
gmake[4]: *** [libs_tier_js] Error 2
I told you it was a moving target. Code changed in http://hg.mozilla.org/mozilla-central/diff/9e93f190f64c/js/src/jscntxt.cpp / Bug #700822. You can try wrapping
if (execAlloc_)
   execAlloc_->setRandomize(enabled);

within #if ENABLE_ASSEMBLER / #endif like it's done in other parts of the diff, but that's likely to not be enough...
yes, it's not enough.
From ./js/src/jscntxt.cpp:

    106     if (regexpCode) {
    107         size_t method = 0, regexp = 0, unused = 0;
    108 #if ENABLE_ASSEMBLER
    109         if (execAlloc_)
    110             execAlloc_->sizeOfCode(&method, &regexp, &unused);
    111         JS_ASSERT(method == 0);     /* this execAlloc is only used for regexp code */
    112 #endif
    113         *regexpCode = regexp + unused;
    114     }
    115 
    116     if (stackCommitted)
    117         *stackCommitted = stackSpace.sizeOfCommitted();
    118 }
    119 
    120 JS_FRIEND_API(void)
    121 JSRuntime::triggerOperationCallback()
    122 {
    123     /*
    124      * Use JS_ATOMIC_SET in the hope that it ensures the write will become
    125      * immediately visible to other processors polling the flag.
    126      */
    127     JS_ATOMIC_SET(&interrupt, 1);
    128 }
    129
    130 void
    131 JSRuntime::setJitHardening(bool enabled)
    132 {
    133     jitHardening = enabled;
    134 #if ENABLE_ASSEMBLER
    135     if (execAlloc_)
    136         execAlloc_->setRandomize(enabled);
    137 #endif
    138 }
    139
    140 JSC::ExecutableAllocator *
    141 JSRuntime::createExecutableAllocator(JSContext *cx)
    142 {
    143     JS_ASSERT(!execAlloc_);
    144     JS_ASSERT(cx->runtime == this);
    145     
    146     JSC::AllocationBehavior randomize =
    147         jitHardening ? JSC::AllocationCanRandomize : JSC::AllocationDeterministic;
    148     execAlloc_ = new_<JSC::ExecutableAllocator>(randomize);
    149     if (!execAlloc_)
    150         js_ReportOutOfMemory(cx);
    151     return execAlloc_;
    152 }
    153  

c++ -o jscntxt.o -c  -fvisibility=hidden -DMOZ_GLUE_IN_PROGRAM -DOSTYPE=\"FreeBSD9\" -DOSARCH=FreeBSD -DEXPORT_JS_API -DJS_HAS_CTYPES -DDLL_PREFIX=\"lib\" -DDLL_SUFFIX=\".so\" -DNO_NSPR_10_SUPPORT -Ictypes/libffi/include -I.  -I/usr/ports/www/firefox/work/mozilla-central/js/src -I. -I./../../dist/include -I./../../dist/include/nsprpub  -I/usr/ports/www/firefox/work/mozilla-central/obj-ia64-unknown-freebsd9.0/dist/include/nspr  -I/usr/ports/www/firefox/work/mozilla-central/js/src -I/usr/ports/www/firefox/work/mozilla-central/js/src/assembler -I/usr/ports/www/firefox/work/mozilla-central/js/src/yarr  -fPIC -I/usr/X11R6/include -fno-rtti -pedantic -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -Wno-long-long -pipe  -DNDEBUG -DTRIMMED -g -O -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1  -I/usr/X11R6/include -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jscntxt.pp /usr/ports/www/firefox/work/mozilla-central/js/src/jscntxt.cpp
/usr/ports/www/firefox/work/mozilla-central/js/src/jscntxt.cpp: In member function 'void JSRuntime::sizeOfExcludingThis(size_t (*)(const void*), size_t*, size_t*, size_t*, size_t*)':
/usr/ports/www/firefox/work/mozilla-central/js/src/jscntxt.cpp:107: warning: unused variable 'method'
/usr/ports/www/firefox/work/mozilla-central/js/src/jscntxt.cpp: At global scope:
/usr/ports/www/firefox/work/mozilla-central/js/src/jscntxt.cpp:140: error: expected constructor, destructor, or type conversion before '*' token
gmake[5]: *** [jscntxt.o] Error 1
Blocks: 647830
Trying to build seamonkey 2.8 gives the same error,
which is not surprising, of course.
Can you retry building mozilla-central on freebsd/ia64 now that bug 691898 landed ? I doubt it'll run but it should at least build fine. (note that you might need the fix from bug 752067 right now)
It's been a while and I've forgotten how I got the sources.
Now all I get is:

# hg clone http://hg.mozilla.org/integration/mozilla-inbound/ src
requesting all changes
adding changesets
adding manifests
adding file changes
transaction abort!
rollback completed
abort: connection ended unexpectedly
# 

or

# hg clone http://hg.mozilla.org/mozilla-central/
destination directory: mozilla-central
requesting all changes
adding changesets
adding manifests
adding file changes
transaction abort!
rollback completed
abort: connection ended unexpectedly
# 

# hg --version
Mercurial Distributed SCM (version 2.1.2)
(see http://mercurial.selenic.com for more information)

Copyright (C) 2005-2012 Matt Mackall and others
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#
# hg summ
parent: 95376:7bf0125b26b5 tip
 Bug 744830 - Implement fast serializer for innerHTML/outerHTML, p=jdm+smaug, r=hsivonen
branch: default
commit: 44 unknown (clean)
update: (current)

# cat .mozconfig
ac_add_options --disable-necko-wifi
ac_add_options --x-includes=/usr/X11R6/include
ac_add_options --with-system-libevent=/usr/local

# gmake -f client.mk

*snip*

Installed /usr/ports/www/firefox/mozilla-central/testing/mozbase/mozprofile
Processing dependencies for mozprofile==0.1
Searching for pysqlite
Reading http://pypi.python.org/simple/pysqlite/
Reading http://pysqlite.googlecode.com/
Reading http://code.google.com/p/pysqlite/downloads/list
Best match: pysqlite 2.6.3
Downloading http://pysqlite.googlecode.com/files/pysqlite-2.6.3.tar.gz
Processing pysqlite-2.6.3.tar.gz
Running pysqlite-2.6.3/setup.py -q bdist_egg --dist-dir /tmp/easy_install-vEpCLB/pysqlite-2.6.3/egg-dist-tmp-9BKkCI
In file included from src/module.c:24:
src/connection.h:33:21: error: sqlite3.h: No such file or directory
In file included from src/module.c:24:
src/connection.h:38: error: expected specifier-qualifier-list before 'sqlite3'
In file included from src/module.c:25:
src/statement.h:37: error: expected specifier-qualifier-list before 'sqlite3'
src/module.c:269: error: 'SQLITE_OK' undeclared here (not in a function)
src/module.c:270: error: 'SQLITE_DENY' undeclared here (not in a function)
src/module.c:271: error: 'SQLITE_IGNORE' undeclared here (not in a function)
src/module.c:272: error: 'SQLITE_CREATE_INDEX' undeclared here (not in a function)
src/module.c:273: error: 'SQLITE_CREATE_TABLE' undeclared here (not in a function)
src/module.c:274: error: 'SQLITE_CREATE_TEMP_INDEX' undeclared here (not in a function)
src/module.c:275: error: 'SQLITE_CREATE_TEMP_TABLE' undeclared here (not in a function)
src/module.c:276: error: 'SQLITE_CREATE_TEMP_TRIGGER' undeclared here (not in a function)
src/module.c:277: error: 'SQLITE_CREATE_TEMP_VIEW' undeclared here (not in a function)
src/module.c:278: error: 'SQLITE_CREATE_TRIGGER' undeclared here (not in a function)
src/module.c:279: error: 'SQLITE_CREATE_VIEW' undeclared here (not in a function)
src/module.c:280: error: 'SQLITE_DELETE' undeclared here (not in a function)
src/module.c:281: error: 'SQLITE_DROP_INDEX' undeclared here (not in a function)
src/module.c:282: error: 'SQLITE_DROP_TABLE' undeclared here (not in a function)
src/module.c:283: error: 'SQLITE_DROP_TEMP_INDEX' undeclared here (not in a function)
src/module.c:284: error: 'SQLITE_DROP_TEMP_TABLE' undeclared here (not in a function)
src/module.c:285: error: 'SQLITE_DROP_TEMP_TRIGGER' undeclared here (not in a function)
src/module.c:286: error: 'SQLITE_DROP_TEMP_VIEW' undeclared here (not in a function)
src/module.c:287: error: 'SQLITE_DROP_TRIGGER' undeclared here (not in a function)
src/module.c:288: error: 'SQLITE_DROP_VIEW' undeclared here (not in a function)
src/module.c:289: error: 'SQLITE_INSERT' undeclared here (not in a function)
src/module.c:290: error: 'SQLITE_PRAGMA' undeclared here (not in a function)
src/module.c:291: error: 'SQLITE_READ' undeclared here (not in a function)
src/module.c:292: error: 'SQLITE_SELECT' undeclared here (not in a function)
src/module.c:293: error: 'SQLITE_TRANSACTION' undeclared here (not in a function)
src/module.c:294: error: 'SQLITE_UPDATE' undeclared here (not in a function)
src/module.c:295: error: 'SQLITE_ATTACH' undeclared here (not in a function)
src/module.c:296: error: 'SQLITE_DETACH' undeclared here (not in a function)
src/module.c: In function 'init_sqlite':
src/module.c:426: warning: passing argument 1 of 'PyString_FromString' makes pointer from integer without a cast
error: Setup script exited with error: command 'cc' failed with exit status 1
gmake[3]: *** [default] Error 1
gmake[3]: Leaving directory `/usr/ports/www/firefox/mozilla-central/obj-ia64-unknown-freebsd9.9/build/virtualenv'
*** Fix above errors and then restart with               "gmake -f client.mk build"
gmake[2]: *** [configure] Error 1
gmake[2]: Leaving directory `/usr/ports/www/firefox/mozilla-central'
gmake[1]: *** [obj-ia64-unknown-freebsd9.9/Makefile] Error 2
gmake[1]: Leaving directory `/usr/ports/www/firefox/mozilla-central'
gmake: *** [build] Error 2
#
Hm, as I see, it fails in external dependency, what if you install pysqlite from ports?
pysqlite seems to be obsolete, and removed from ports:

# make -C /usr/ports/ search name=pysqlite
Port:   databases/py-pysqlite20
Moved:  
Date:   2011-12-11
Reason: Unmaintained upstream, only useful for python2.4 or less, no consumers in the ports tree

Port:   databases/py-pysqlite21
Moved:  
Date:   2011-12-11
Reason: Unmaintained upstream, only useful for python2.4 or less, no consumers in the ports tree

Port:   databases/py-pysqlite22
Moved:  
Date:   2011-12-11
Reason: Unmaintained upstream, only useful for python2.4 or less, no consumers in the ports tree

Port:   databases/py-pysqlite23
Moved:  
Date:   2011-12-11
Reason: Unmaintained upstream, only useful for python2.4 or less, no consumers in the ports tree

Port:   databases/py-PySQLite10
Moved:  
Date:   2011-12-11
Reason: Unmaintained upstream, only useful for python2.4 or less, no consumers in the ports tree

Port:   databases/py-PySQLite11
Moved:  
Date:   2011-12-11
Reason: Unmaintained upstream, only useful for python2.4 or less, no consumers in the ports tree

#

I installed py27-sqlite3-2.7.3_1 instead.

But I still get the same error on build.

Probably I need to set the path to py27-sqlite
somewhere in .mozconfig?
Version: 10 Branch → Trunk
Your python install seems broken. testing/mozbase/mozprofile/setup.py does' import sqlite3' and tries to install pysqlite if it doesnt find sqlite3.

Can you do 'import sqlite3' in a python shell ?

You can also try --disable-tests, that might avoid the build to do stuff in testing/....
Thanks! It would've taken me a year to figure this out.

>>> import sqlite3
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/sqlite3/__init__.py", line 24, in <module>
    from dbapi2 import *
  File "/usr/local/lib/python2.7/sqlite3/dbapi2.py", line 27, in <module>
    from _sqlite3 import *
ImportError: /usr/local/lib/python2.7/site-packages/_sqlite3.so: Undefined symbol "sqlite3_enable_load_extension"
>>> 

I then rebuilt sqlite3 with
     EXTENSION=on: "Allow loadable extensions"

and now I get

% python
Python 2.7.3 (default, Jun  1 2012, 13:44:13) 
[GCC 4.2.1 20070831 patched [FreeBSD]] on freebsd9
Type "help", "copyright", "credits" or "license" for more information.
>>> import sqlite3
>>> 

I now get to:

c++ -o Memory.o -c  -fvisibility=hidden -DMOZ_GLUE_IN_PROGRAM -DEXPORT_JS_API -DJS_HAS_CTYPES -DDLL_PREFIX=\"lib\" -DDLL_SUFFIX=\".so\" -DNO_NSPR_10_SUPPORT -Ictypes/libffi/include -I.  -I/usr/ports/www/firefox/mozilla-central/js/src/../../mfbt/double-conversion -I/usr/ports/www/firefox/mozilla-central/js/src -I. -I./../../dist/include -I./../../dist/include/nsprpub  -I/usr/ports/www/firefox/mozilla-central/obj-ia64-unknown-freebsd9.9/dist/include/nspr  -I/usr/ports/www/firefox/mozilla-central/js/src -I/usr/ports/www/firefox/mozilla-central/js/src/assembler -I/usr/ports/www/firefox/mozilla-central/js/src/yarr  -fPIC -I/usr/X11R6/include -fno-rtti -pedantic -Wall -Wpointer-arith -Woverloaded-virtual -Werror=return-type -Wno-ctor-dtor-privacy -Wno-overlength-strings -Wno-invalid-offsetof -Wno-variadic-macros -Wno-long-long -ffunction-sections -fdata-sections -pipe  -DNDEBUG -DTRIMMED -g -O -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1  -I/usr/X11R6/include -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/Memory.pp /usr/ports/www/firefox/mozilla-central/js/src/gc/Memory.cpp
In file included from /usr/ports/www/firefox/mozilla-central/js/src/gc/Memory.cpp:296:
/usr/include/sys/time.h: In function 'void js::gc::bintime2timeval(const js::gc::bintime*, js::gc::timeval*)':
/usr/include/sys/time.h:147: error: invalid use of incomplete type 'struct js::gc::timeval'
/usr/include/unistd.h:486: error: forward declaration of 'struct js::gc::timeval'
/usr/include/sys/time.h:148: error: invalid use of incomplete type 'struct js::gc::timeval'
/usr/include/unistd.h:486: error: forward declaration of 'struct js::gc::timeval'
/usr/include/sys/time.h: In function 'void js::gc::timeval2bintime(const js::gc::timeval*, js::gc::bintime*)':
/usr/include/sys/time.h:155: error: invalid use of incomplete type 'const struct js::gc::timeval'
/usr/include/unistd.h:486: error: forward declaration of 'const struct js::gc::timeval'
/usr/include/sys/time.h:157: error: invalid use of incomplete type 'const struct js::gc::timeval'
/usr/include/unistd.h:486: error: forward declaration of 'const struct js::gc::timeval'
/usr/include/sys/time.h: At global scope:
/usr/include/sys/time.h:239: error: field 'it_interval' has incomplete type
/usr/include/sys/time.h:240: error: field 'it_value' has incomplete type
In file included from /usr/ports/www/firefox/mozilla-central/js/src/gc/Memory.cpp:297:
/usr/include/sys/resource.h:62: error: field 'ru_utime' has incomplete type
/usr/include/sys/resource.h:63: error: field 'ru_stime' has incomplete type
gmake[5]: *** [Memory.o] Error 1
gmake[5]: Leaving directory `/usr/ports/www/firefox/mozilla-central/obj-ia64-unknown-freebsd9.9/js/src'
gmake[4]: *** [libs_tier_js] Error 2
I added these 3 lines at the beginning of ./js/src/gc/Memory.cpp

#include <unistd.h>
#include <sys/time.h>
#include <sys/resource.h>

and I pass over the previous error.

Perhaps line 301 of ./js/src/gc/Memory.cpp should be modified
to include FreeBSD?

  301   #elif defined(XP_UNIX) || defined(XP_MACOSX) || defined(DARWIN)
  302   
  303   #include <sys/mman.h>
  304   #include <unistd.h>
  305   #include <sys/time.h>
  306   #include <sys/resource.h>

I'm watching the build process right now.
Will see if it succeeds.
ok, now I get to

gmake[10]: Entering directory `/usr/ports/www/firefox/mozilla-central/obj-ia64-unknown-freebsd9.9/xpcom/reflect/xptcall/src/md/unix'
/usr/ports/www/firefox/mozilla-central/config/rules.mk:383: *** XPTCall not implemented on this platform!.  Stop.
gmake[10]: Leaving directory `/usr/ports/www/firefox/mozilla-central/obj-ia64-unknown-freebsd9.9/xpcom/reflect/xptcall/src/md/unix'
gmake[9]: *** [export] Error 2
Summary: [firefox 10 FreeBSD ia64 regression] js/src/vm/RegExpObject-inl.h:380: error: 'ignoreCase' was not declared in this scope → [mozilla-central FreeBSD ia64] js/src/vm/RegExpObject-inl.h:380: error: 'ignoreCase' was not declared in this scope
(In reply to Anton Shterenlikht from comment #28)
> ok, now I get to
> 
> gmake[10]: Entering directory
> `/usr/ports/www/firefox/mozilla-central/obj-ia64-unknown-freebsd9.9/xpcom/
> reflect/xptcall/src/md/unix'
> /usr/ports/www/firefox/mozilla-central/config/rules.mk:383: *** XPTCall not
> implemented on this platform!.  Stop.
> gmake[10]: Leaving directory
> `/usr/ports/www/firefox/mozilla-central/obj-ia64-unknown-freebsd9.9/xpcom/
> reflect/xptcall/src/md/unix'
> gmake[9]: *** [export] Error 2

We don't support FreeBSD/ia64 yet.  IA64 support for xpconnect is Linux and HP-UX only.  Does FreeBSD ports support IA64?  If so, let's backport it to our code by separated bug.
Blocks: 761077
FF built fine on ia64 FreeBSD until firefox4.
I'm still using firefox-3.6.28 on FreeBSD 10-current ia64.
I was sure xpcom was used in firefox3.6. Am I wrong?

FreeBSD ports are fully functional on ia64.
I've got 513 ports installed here.

Anyway, what am I to do now?

Is this the same issue as https://bugzilla.mozilla.org/show_bug.cgi?id=683879 ?
(In reply to Anton Shterenlikht from comment #30)
> FF built fine on ia64 FreeBSD until firefox4.
> I'm still using firefox-3.6.28 on FreeBSD 10-current ia64.
> I was sure xpcom was used in firefox3.6. Am I wrong?
> 
> FreeBSD ports are fully functional on ia64.
> I've got 513 ports installed here.
> 
> Anyway, what am I to do now?
> 
> Is this the same issue as
> https://bugzilla.mozilla.org/show_bug.cgi?id=683879 ?

Code contributors of FreeBSD ports don't merge any code to our code tree.  So we don't support FreeBSD/IA64 yet even if older version.  Of course, the patches are welcome.
This bug is hard to follow as it contains a mix of different errors and user issues. Considering the pace Firefox JS engine evolves I'd suggest to try building mozilla-central without patches again. If there are still more errors, try to report each one separately.

Here's a .mozconfig for quick start:

  # gcc42 is unsupported
  export CC=gcc48
  export CXX=g++48
  export CPP=cpp48

  # may have fixes in ports/upstream
  ac_add_options --enable-system-ffi
  ac_add_options --with-system-icu

  # non-essential dependencies
  ac_add_options --disable-dbus
  ac_add_options --disable-libnotify
  ac_add_options --disable-gstreamer
  ac_add_options --disable-pulseaudio

  # shave code for what may not work on ia64
  ac_add_options --disable-webrtc
  ac_add_options --disable-tests

  # faster and less memory usage build but no debugging
  ac_add_options --enable-strip
  ac_add_options --disable-debug-symbols

  # jemalloc 3.2.x may work better on FreeBSD 8.x, 9.x
  #export MOZ_JEMALLOC3=1
  #ac_add_options --enable-jemalloc

It maybe worth to keep an eye on Linux ppc64 buildbot. Like on ia64, Ion and Yarr JITs are disabled there, and it builds several times a day.

http://mozillaproject.osuosl.org:8010/one_line_per_build

Closing due to no activity/testing for more than a year. I don't think any of the errors here are reproducible anymore.
Status: UNCONFIRMED → RESOLVED
Closed: 10 years ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.