Attempting to compile JSDB 1.8.0.7 under Linux 64bit

126 views
Skip to first unread message

Samuel Monsarrat

unread,
Feb 13, 2014, 4:59:18 AM2/13/14
to js...@googlegroups.com
Hi,

I am attempting to compile JSDB 1.8.0.7 under Ubuntu 12.04 64bit without success (using makejsdbnosql.csh).

I get several errors :
js/src/jsapi.cpp:289:63: error: cannot convert ‘__va_list_tag**’ to ‘__va_list_tag (*)[1]’ for argument ‘5’ to ‘JSBool TryArgumentFormatter(JSContext*, const char**, JSBool, jsval**, __va_list_tag
(*)[1])’
js/src/jsbuiltins.cpp:225: Error: operand type mismatch for `call'
js/src/jstracer.cpp:6274: Error: operand type mismatch for `call'
js/src/jsprf.cpp:644:9: error: incompatible types in assignment of ‘__va_list_tag*’ to ‘va_list {aka __va_list_tag [1]}’
js/src/jsregexp.cpp:4730: Error: operand type mismatch for `call'
js/src/nanojit/Assembler.cpp:1078:35: error: ‘asm_qbinop’ was not declared in this scope
js/src/nanojit/Nativei386.cpp:136:13: error: cast from ‘nanojit::NIns** {aka unsigned char**}’ to ‘int32_t {aka int}’ loses precision [-fpermissive]
etc...

It sort of looks like it is attempting to compile in 32bit ?

Not being a c/c++ developer, any help would be very welcome.

Samuel.

Shanti Rao

unread,
Feb 13, 2014, 11:37:05 AM2/13/14
to js...@googlegroups.com
Hi Samuel,

I googled it and found this:

https://bugzilla.mozilla.org/show_bug.cgi?id=436263

Edit js/src/jscpucfg.cpp and insert at line 77

printf("#define HAVE_VA_LIST_AS_ARRAY \n")

Shanti

On 2/13/2014 1:59 AM, Samuel Monsarrat wrote:
> error: cannot convert '__va_list_tag**' to '__va_list_tag (*)[1]'

gilado

unread,
Apr 27, 2014, 6:07:48 PM4/27/14
to js...@googlegroups.com
I got it to compile and run on CentOS 6.2 64 bit with these changes

jsdbconfigure.cpp at line 40

+  printf("#ifdef __x86_64__ \n");
+  printf("#define HAVE_VA_LIST_AS_ARRAY 1\n");
+  printf("#endif\n");

js/src/nanojit/Assembler.cpp at line 1078

+#ifdef __x86_64__
+#define asm_qbinop(ins) asm_arith(ins)
+#endif

js/src/nanojit/avmplus.h at line 78

+#ifdef __x86_64__
+#define SIMULATE_FASTCALL(lr, state_ptr, frag_ptr, func_addr)   \
+    lr = func_addr(state_ptr,frag_ptr)
+#else

and matching #endif below
Reply all
Reply to author
Forward
0 new messages