Closed Bug 497823 Opened 15 years ago Closed 15 years ago

AIX Compilation error for 3.6a1pre source storage/src/variantToSQLiteT_impl.h", line 71.12: 1540-0721 (S) The explicit specialization "int sqlite3_T_null<sqlite3_context *>(sqlite3_context *)" must be declared before it is used.

Categories

(Toolkit :: Storage, defect)

Other
AIX
defect
Not set
major

Tracking

()

RESOLVED FIXED

People

(Reporter: shailen.n.jain, Assigned: shailen.n.jain)

Details

Attachments

(1 file, 1 obsolete file)

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10

While compiling 3.6a1pre build on AIX, getting below compilation error - 

"/home/guest/sb/mercurial/src/storage/src/variantToSQLiteT_impl.h", line 71.12: 1540-0721 (S) The explicit specialization "int sqlite3_T_null<sqlite3_context *>(sqlite3_context *)" must be declared before it is used.
"/home/guest/sb/mercurial/src/storage/src/variantToSQLiteT_impl.h", line 66.1: 1540-0700 (I) The previous message was produced while processing "mozilla::storage::variantToSQLiteT<sqlite3_context *>(sqlite3_context *, nsIVariant *)".
"/home/guest/sb/mercurial/src/storage/src/mozStorageConnection.cpp", line 170.7: 1540-0700 (I) The previous message was produced while processing "mozilla::storage::<unnamed>::aggregateFunctionFinalHelper(sqlite3_context *)".
"/home/guest/sb/mercurial/src/storage/src/variantToSQLiteT_impl.h", line 85.14: 1540-0721 (S) The explicit specialization "int sqlite3_T_int<sqlite3_context *>(sqlite3_context *, int)" must be declared before it is used.
"/home/guest/sb/mercurial/src/storage/src/variantToSQLiteT_impl.h", line 95.14: 1540-0721 (S) The explicit specialization "int sqlite3_T_int64<sqlite3_context *>(sqlite3_context *, sqlite3_int64)" must be declared before it is used.
"/home/guest/sb/mercurial/src/storage/src/variantToSQLiteT_impl.h", line 103.14: 1540-0721 (S) The explicit specialization "int sqlite3_T_double<sqlite3_context *>(sqlite3_context *, double)" must be declared before it is used.
"/home/guest/sb/mercurial/src/storage/src/variantToSQLiteT_impl.h", line 110.14: 1540-0721 (S) The explicit specialization "int sqlite3_T_int<sqlite3_context *>(sqlite3_context *, int)" must be declared before it is used.
"/home/guest/sb/mercurial/src/storage/src/variantToSQLiteT_impl.h", line 129.14: 1540-0721 (S) The explicit specialization "int sqlite3_T_text16<sqlite3_context *>(sqlite3_context *, nsString)" must be declared before it is used.
"/home/guest/sb/mercurial/src/storage/src/variantToSQLiteT_impl.h", line 134.14: 1540-0721 (S) The explicit specialization "int sqlite3_T_null<sqlite3_context *>(sqlite3_context *)" must be declared before it is used.
"/home/guest/sb/mercurial/src/storage/src/variantToSQLiteT_impl.h", line 155.16: 1540-0721 (S) The explicit specialization "int sqlite3_T_blob<sqlite3_context *>(sqlite3_context *, const void *, int)" must be declared before it is used.
gmake[1]: *** [mozStorageConnection.o] Error 1
gmake[1]: Leaving directory `/home/guest/sb/mercurial/src/obj-opt/storage/src'
gmake: *** [default] Error 2



Reproducible: Always

Steps to Reproduce:
1. Build Mozilla Firefox 3.6a1pre build on AIX with Gnome RPMS of 64 bit
version.
2. 
3.
Actual Results:  
Build fails with the above error.



No build failure
OS: Other → AIX
Version: unspecified → Trunk
Attached patch Patch V 1 (obsolete) — Splinter Review
I tried applying this patch but this leads to linker error. 

rm -f libstoragecomps.so
xlC_r -qmkshrobj=1 -o libstoragecomps.so -bE:/home/guest/sb/mercurial/src/build/unix/aix.exp -bnoexpall  mozStorageModule.o     -lpthreads -bh:5 -bbigtoc -Wl,-brtl -blibpath:/usr/lib:/lib            ../src/libstorage_s.a   -L../../dist/bin -L../../dist/lib -L../../dist/lib -lsqlite3 /home/guest/sb/mercurial/src/obj-opt/dist/lib/libunicharutil_s.a -L/home/guest/sb/mercurial/src/obj-opt/dist/bin -lxpcom -lxpcom_core  -liconv -L/home/guest/sb/mercurial/src/obj-opt/dist/bin -L/home/guest/sb/mercurial/src/obj-opt/dist/lib -lplds4 -lplc4 -lnspr4 -lpthreads -ldl -L/home/guest/sb/mercurial/src/obj-opt/dist/bin -lmozjs   -lC_r -ldl -lm -lc_r
ld: 0711-317 ERROR: Undefined symbol: .mozilla::storage::sqlite3_T_int64(sqlite3_context*,long long)
ld: 0711-317 ERROR: Undefined symbol: .mozilla::storage::sqlite3_T_int(sqlite3_context*,int)
ld: 0711-317 ERROR: Undefined symbol: .mozilla::storage::sqlite3_T_double(sqlite3_context*,double)
ld: 0711-317 ERROR: Undefined symbol: .mozilla::storage::sqlite3_T_text16(sqlite3_context*,nsString)
ld: 0711-317 ERROR: Undefined symbol: .mozilla::storage::sqlite3_T_null(sqlite3_context*)
ld: 0711-317 ERROR: Undefined symbol: .mozilla::storage::sqlite3_T_blob(sqlite3_context*,const void*,int)
Attachment #382928 - Flags: review?(roc)
Attachment #382928 - Flags: review?(roc) → review?(sdwilsh)
Component: General → Storage
Product: Firefox → Toolkit
QA Contact: general → storage
Comment on attachment 382928 [details] [diff] [review]
Patch V 1

That linker error makes sense since the implementation will not be in all files.

Is there a newer version of that AIX compiler available perhaps?
Attachment #382928 - Flags: review?(sdwilsh)
Attached patch Patch V 2Splinter Review
The definitions for the functions 
int sqlite3_T_null
int sqlite3_T_int
int sqlite3_T_int64
int sqlite3_T_double
int sqlite3_T_text16
int sqlite3_T_blob

found after they are being called in mozStorageConnection.cpp.

The patch ensures these functions are called afetr being defined.
Attachment #382928 - Attachment is obsolete: true
Attachment #383248 - Flags: superreview?(sdwilsh)
Attachment #383248 - Flags: review?(sdwilsh)
Comment on attachment 383248 [details] [diff] [review]
Patch V 2

r=sdwilsh
Attachment #383248 - Flags: superreview?(sdwilsh)
Attachment #383248 - Flags: review?(sdwilsh)
Attachment #383248 - Flags: review+
Assignee: nobody → shailen.n.jain
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Flags: in-testsuite-
Flags: in-litmus-
Keywords: checkin-needed
http://hg.mozilla.org/mozilla-central/rev/74f606751ba5
Status: ASSIGNED → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: