- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
http://software.intel.com/file/45509
Having -Qipo- in the makefile of the js directory still brings up the error unless the flag is removed completely.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
http://software.intel.com/file/45509
Having -Qipo- in the makefile of the js directory still brings up the error unless the flag is removed completely.
Could youre-post a complete compilationlog( C++ compiler& Linker ) in text format, please?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Here are results of my investigation:
1.I searched in the log file for a substring 'error C'and I found a couple of compilation errors:
...
checking for pthread_create in -lpthreads... dummy.c
dummy.c(2) : fatal error C1083: Cannot open include file: 'pthread.h': No such file or directory
no
checking for pthread_create in -lpthread... dummy.c
dummy.c(2) : fatal error C1083: Cannot open include file: 'pthread.h': No such file or directory
no
checking for pthread_create in -lc_r... dummy.c
dummy.c(2) : fatal error C1083: Cannot open include file: 'pthread.h': No such file or directory
no
checking for pthread_create in -lc... dummy.c
dummy.c(2) : fatal error C1083: Cannot open include file: 'pthread.h': No such file or directory
no
...
However, I don't think thatthese errors arerelated to your linking problem. Personally, I would look at 'dummy.c'.
2. There are lots of linker errors at the end of the log file:
...
c:/mozilla-build/python/python2.7.exe
/c/Users/Alex/Downloads/mozilla-beta/js/src/config/pythonpath.py
-I../config /c/Users/Alex/Downloads/mozilla-beta/js/src/config/expandlibs_exec.py
--uselist -- xilink -NOLOGO -OUT:js.exe -PDB:js.pdb
-MACHINE:X64 -opt:ref,icf
../../../dist/lib/mozglue.lib
-> js.obj
-> jsworkers.obj
-> jsoptparse.obj
-> jsheaptools.obj
c:/Users/Alex/Downloads/objdir/dist/lib/nspr4.lib
c:/Users/Alex/Downloads/objdir/dist/lib/plc4.lib
c:/Users/Alex/Downloads/objdir/dist/lib/plds4.lib
-> ../js_static.lib
kernel32.lib
user32.lib
gdi32.lib
winmm.lib
wsock32.lib
advapi32.lib
psapi.lib
xilink: executing 'link'
Creating library js.lib and object js.exp
js_static.lib(jsapi.obj) : error LNK2019: unresolved external symbol
-> "enum JSType __cdecl js::TypeOfValue(struct JSContext *,class JS::Value const &)"
(?TypeOfValue@js@@YA?AW4JSType@@PEAUJSContext@@AEBVValue@JS@@@Z)
-> referenced in function JS_TypeOfValue
...
First unresolved external symbol is detectedin JS_TypeOfValue function andyou need to understand what is
wrong withjs::TypeOfValue method.Whereisthe implementation? Inwhat source file?
I also marked with '->' and bolded all modules for your review.
I crossed all libraries you could ignore.
I could assume that:
some source file is missing, or
a piece of code is not included in compilation because it was #ifdef-ed improperly
( some macro was not definedor defined )
Best regards,
Sergey
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The only mention of TypeOfValue I can find is in:
jsapi.h:
extern JS_PUBLIC_API(JSType)
JS_TypeOfValue(JSContext *cx, jsval v);
jsapi.cpp:
JS_PUBLIC_API(JSType)
JS_TypeOfValue(JSContext *cx, jsval v)
{
AssertNoGC(cx);
CHECK_REQUEST(cx);
assertSameCompartment(cx, v);
return TypeOfValue(cx, v);
}
As for the .obj files they're generated correctly:

So why does Qipo cause this problem?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
jsapi.cpp
...
JS_PUBLIC_API
...
So why does Qipo cause this problem?
I don't know so far.
Could you upload 'jsapi.h', 'jsapi.cpp' and a header where a macro 'JS_PUBLIC_API' is declared, please?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
(Macro declarations in jstypes.h, lines 62, 65, 68 and 72)
Ireviewed these source files and I don't see any problems. This is what I would do to verify some macros:
UPDATE #1
>> jstypes.h <<
...
/*
* The linkage of JS API functions differs depending on whether the file is
* used within the JS library or not. Any source file within the JS
* interpreter should define EXPORT_JS_API whereas any client of the library
* should not. STATIC_JS_API is used to build JS as a static library.
*/
#if defined( STATIC_JS_API )
# pragma message ( "*** Message: STATIC_JS_API defined ***" )
# define JS_PUBLIC_API(t) t
# define JS_PUBLIC_DATA(t) t
#elif defined( EXPORT_JS_API ) || defined( STATIC_EXPORTABLE_JS_API )
# pragma message ( "*** Message: EXPORT_JS_API or STATIC_EXPORTABLE_JS_APIdefined ***" )
# define JS_PUBLIC_API(t) MOZ_EXPORT_API(t)
# define JS_PUBLIC_DATA(t) MOZ_EXPORT_DATA(t)
#else
# pragma message ( "*** Message: JS API functions declared asIMPORTED ***" )
# define JS_PUBLIC_API(t) MOZ_IMPORT_API(t)
# define JS_PUBLIC_DATA(t) MOZ_IMPORT_DATA(t)
#endif
...
Please update 'jstypes.h' source file,re-build the project and submit a compilation log. Thank you.
Best regards,
Sergey
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
...
/*
* The linkage of JS API functions differs depending on whether the file is
* used within the JS library or not. Any source file within the JS
* interpreter should define EXPORT_JS_API whereas any client of the library
* should not. STATIC_JS_API is used to build JS as a static library.
*/
...
Since you have lots of linking problems it could be related to how JS APIis declared.
Is aSTATIC_JS_API macrodefined?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I enabled the shared js library (--enable-shared-js)
Build log:
log
Updated to Firefox 15 Beta 5 (the one before was Beta 4). Seems that the bug has changed, but still occurs with Qipo.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I just completed a review and noticed thatyour buildbreaks on compilation.
You havesome compilation errors now.Simply to note, you hadsome linker errors.
Please take a look at some consolidated pieces of my review...
Best regards,
Sergey
PS: Alex, you've escalated your problems because you've done a change from Beta 4 to Beta 5. I wouldn't do it until
the investigation with the linker problems is completed. Look, now thetitle of thepost doesn't reflect your current problems.
Anyway, I'm ready to help as much as possible...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Here is a list of all compilation errors ( Detailed ):
...
dom_quickstubs.cpp
*** Message: JS API functions declared as IMPORTED ***
..\include\mozilla/CheckedInt.h(355): error: type name is not allowed
bool IsSigned = IsSigned
^
..\include\mozilla/CheckedInt.h(355): error: the global scope has no "value"
bool IsSigned = IsSigned
^
..\include\mozilla/CheckedInt.h(361): error: a template argument list is not allowed in a declaration of a primary template
struct IsMulValidImpl
^
..\include\mozilla/CheckedInt.h(372): error: a template argument list is not allowed in a declaration of a primary template
struct IsMulValidImpl
^
..\include\mozilla/CheckedInt.h(396): error: a template argument list is not allowed in a declaration of a primary template
struct IsMulValidImpl
^
..\include\mozilla/CheckedInt.h(421): error: type name is not allowed
template
^
..\include\mozilla/CheckedInt.h(421): error: the global scope has no "value"
template
^
..\include\mozilla/CheckedInt.h(427): error: a template argument list is not allowed in a declaration of a primary template
struct OppositeIfSignedImpl
^
..\include\mozilla/CheckedInt.h(408): error: identifier "IsMulValidImpl" is undefined
return IsMulValidImpl
^
detected during:
instantiation of "bool mozilla::detail::IsMulValid(T, T) [with T=unsigned int]" at line 690
instantiation of "mozilla::CheckedInt
[with T=uint32_t={unsigned int}]" at line 1107 of "../../../dist/include/WebGLContext.h"
..\include\mozilla/CheckedInt.h(408): error: type name is not allowed
return IsMulValidImpl
^
detected during:
instantiation of "bool mozilla::detail::IsMulValid(T, T) [with T=unsigned int]" at line 690
instantiation of "mozilla::CheckedInt
[with T=uint32_t={unsigned int}]" at line 1107 of "../../../dist/include/WebGLContext.h"
..\include\mozilla/CheckedInt.h(408): error: the global scope has no "run"
return IsMulValidImpl
^
detected during:
instantiation of "bool mozilla::detail::IsMulValid(T, T) [with T=unsigned int]" at line 690
instantiation of "mozilla::CheckedInt
[with T=uint32_t={unsigned int}]" at line 1107 of "../../../dist/include/WebGLContext.h"
compilation aborted for c:/Users/Alex/Downloads/objdir/js/xpconnect/src/dom_quickstubs.cpp (code 2)
...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Here is a consolidation of all compilation errors ( By Error ):
..\include\mozilla/CheckedInt.h(355): error: type name is not allowed
..\include\mozilla/CheckedInt.h(421): error: type name is not allowed
..\include\mozilla/CheckedInt.h(408): error: type name is not allowed
..\include\mozilla/CheckedInt.h(355): error: the global scope has no "value"
..\include\mozilla/CheckedInt.h(421): error: the global scope has no "value"
..\include\mozilla/CheckedInt.h(408): error: the global scope has no "run"
..\include\mozilla/CheckedInt.h(361): error: a template argument list is not allowed in a declaration of a primary template
..\include\mozilla/CheckedInt.h(372): error: a template argument list is not allowed in a declaration of a primary template
..\include\mozilla/CheckedInt.h(396): error: a template argument list is not allowed in a declaration of a primary template
..\include\mozilla/CheckedInt.h(427): error: a template argument list is not allowed in a declaration of a primary template
..\include\mozilla/CheckedInt.h(408): error: identifier "IsMulValidImpl" is undefined
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Here is a consolidation of all declarations that cased some compilation errors ( By Declaration ):
...
bool IsSigned = IsSigned
bool IsSigned = IsSigned
struct IsMulValidImpl
struct IsMulValidImpl
struct IsMulValidImpl
template
template
struct OppositeIfSignedImpl
return IsMulValidImpl
...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Could you try to create a simple test-case that reproduces at least some compilation error? I think it will help Intel Software Engineers to
understand what could be possibly wrong.
Best regards,
Sergey
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
https://bugzilla.mozilla.org/show_bug.cgi?id=784309
Sure. Also, it seems that the compilation errors occur if Qipo ISN'T defined (and only for Firefox 15). If Qipo is defined, the linking errors occur first. The linking errors also occur while trying to build Firefox 14, 13 etc. As for the build.log I linked above, that was compiled with Firefox 14 Beta 4 so nothing changed, I was just letting you know that the problem still occurs with any version of Firefox 15.
To reproduce the compilation errors, just compile any version of Firefox 15 with ICC 13 Beta 2.
Since I don't document how to build my browser, you can use this which is similar:
http://code.google.com/p/pcxfirefox/wiki/MozillaBuiltICC
Just follow step 1 and step 2 since the bug patches listed there have all gone now.
Also modify configure in the root directory and in js/src/configure to this:
(It's the same thing you need to change in both files).FROM:
elif test "$_CC_MAJOR_VERSION" = "17"; then
_CC_SUITE=11
TO:
elif test "$_CC_MAJOR_VERSION" = "13"; then
_CC_SUITE=10

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page