Fennec Android does not build with --enable_tests

RESOLVED FIXED

Status

Firefox Build System
General
--
critical
RESOLVED FIXED
8 years ago
5 months ago

People

(Reporter: cmtalbert, Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

8 years ago
Fennec Android does not build with --enable-tests.  Usually we hit issues in ssltunnel and certutils like we hit in bug 483799 for windows mobile.  But, this time we are breaking far earlier in jsapi-tests.  Because we are running tests remotely, we could get around ssltunnel and certutils dependencies by running these on the controller box, but we do need to get the other build issues resolved.

Until it is resolved, this blocks further work on build and test integration.

This was built with:
* mozilla-droid (android2 branch): 1af28380fc88: [android] handle menu and search keys
* mobile-browser: 1eb26d798852: Bump mobile-browser trunk to 2.0a1pre

Here is the output of make:
make[5]: Entering directory `/home/mozilla/mozilla-droid/objdir-fnc-opt/js/src/jsapi-tests'
tests.cpp
/home/mozilla/android/android-ndk-r3/build/prebuilt/linux-x86/arm-eabi-4.4.0/bin/arm-eabi-g++ -o tests.o -c -fvisibility=hidden  -DEXPORT_JS_API -DOSTYPE=\"eabi\" -DOSARCH=eabi -I/home/mozilla/mozilla-droid/js/src -I.. -I/home/mozilla/mozilla-droid/js/src/jsapi-tests -I. -I../../../dist/include -I../../../dist/include/nsprpub  -I/home/mozilla/mozilla-droid/objdir-fnc-opt/dist/include/nspr    -fPIC -I/home/mozilla/android/android-ndk-r3/build/platforms/android-5/arch-arm/usr/include  -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wno-invalid-offsetof -Wno-variadic-macros -Wno-long-long -pedantic -mandroid -std=gnu++0x -I/home/mozilla/android/android-ndk-r3/build/platforms/android-5/arch-arm/usr/include -msoft-float -fno-short-enums -fno-exceptions -march=armv5te -mthumb-interwork -fno-strict-aliasing -pipe  -DNDEBUG -DTRIMMED -O  -I/home/mozilla/android/android-ndk-r3/build/platforms/android-5/arch-arm/usr/include  -DMOZILLA_CLIENT -include ../js-confdefs.h -Wp,-MD,.deps/tests.pp /home/mozilla/mozilla-droid/js/src/jsapi-tests/tests.cpp
In file included from /home/mozilla/mozilla-droid/js/src/jsapi-tests/tests.cpp:41:
/home/mozilla/mozilla-droid/js/src/jsapi-tests/tests.h:45:18: error: string: No such file or directory
/home/mozilla/mozilla-droid/js/src/jsapi-tests/tests.cpp:42:20: error: iostream: No such file or directory
In file included from /home/mozilla/mozilla-droid/js/src/jsapi-tests/tests.cpp:41:
/home/mozilla/mozilla-droid/js/src/jsapi-tests/tests.h:86: error: 'string' in namespace 'std' does not name a type
/home/mozilla/mozilla-droid/js/src/jsapi-tests/tests.h:137: error: 'string' in namespace 'std' does not name a type
/home/mozilla/mozilla-droid/js/src/jsapi-tests/tests.h:166: error: 'std::string' has not been declared
/home/mozilla/mozilla-droid/js/src/jsapi-tests/tests.h:180: error: 'string' in namespace 'std' does not name a type
/home/mozilla/mozilla-droid/js/src/jsapi-tests/tests.h:166: error: 'string' is not a member of 'std'
/home/mozilla/mozilla-droid/js/src/jsapi-tests/tests.h: In member function 'bool JSAPITest::exec(const char*, const char*, int)':
/home/mozilla/mozilla-droid/js/src/jsapi-tests/tests.h:127: error: no matching function for call to 'JSAPITest::fail(const char*&, const char*&, int&)'
/home/mozilla/mozilla-droid/js/src/jsapi-tests/tests.h:166: note: candidates are: bool JSAPITest::fail(int, const char*, int) <near match>
/home/mozilla/mozilla-droid/js/src/jsapi-tests/tests.h: In member function 'bool JSAPITest::evaluate(const char*, const char*, int, jsval*)':
/home/mozilla/mozilla-droid/js/src/jsapi-tests/tests.h:134: error: no matching function for call to 'JSAPITest::fail(const char*&, const char*&, int&)'
/home/mozilla/mozilla-droid/js/src/jsapi-tests/tests.h:166: note: candidates are: bool JSAPITest::fail(int, const char*, int) <near match>
/home/mozilla/mozilla-droid/js/src/jsapi-tests/tests.h: In member function 'bool JSAPITest::checkSame(jsval, jsval, const char*, const char*, const char*, int)':
/home/mozilla/mozilla-droid/js/src/jsapi-tests/tests.h:155: error: 'string' is not a member of 'std'
/home/mozilla/mozilla-droid/js/src/jsapi-tests/tests.h:157: error: 'toSource' was not declared in this scope
/home/mozilla/mozilla-droid/js/src/jsapi-tests/tests.h: In member function 'bool JSAPITest::fail(int, const char*, int)':
/home/mozilla/mozilla-droid/js/src/jsapi-tests/tests.h:173: error: invalid conversion from 'char*' to 'int'
/home/mozilla/mozilla-droid/js/src/jsapi-tests/tests.h:175: error: request for member 'c_str' in 'msg', which is of non-class type 'int'
/home/mozilla/mozilla-droid/js/src/jsapi-tests/tests.h:176: error: 'msgs' was not declared in this scope
/home/mozilla/mozilla-droid/js/src/jsapi-tests/tests.cpp: In function 'int main(int, char**)':
/home/mozilla/mozilla-droid/js/src/jsapi-tests/tests.cpp:54: error: 'string' was not declared in this scope
/home/mozilla/mozilla-droid/js/src/jsapi-tests/tests.cpp:54: error: expected ';' before 'name'
/home/mozilla/mozilla-droid/js/src/jsapi-tests/tests.cpp:55: error: 'name' was not declared in this scope
/home/mozilla/mozilla-droid/js/src/jsapi-tests/tests.cpp:59: error: 'cout' was not declared in this scope
/home/mozilla/mozilla-droid/js/src/jsapi-tests/tests.cpp:59: error: 'name' was not declared in this scope
/home/mozilla/mozilla-droid/js/src/jsapi-tests/tests.cpp:59: error: 'endl' was not declared in this scope
/home/mozilla/mozilla-droid/js/src/jsapi-tests/tests.cpp:70: error: 'class JSAPITest' has no member named 'messages'
/home/mozilla/mozilla-droid/js/src/jsapi-tests/tests.cpp:78: error: 'cout' was not declared in this scope
/home/mozilla/mozilla-droid/js/src/jsapi-tests/tests.cpp:78: error: 'endl' was not declared in this scope
/home/mozilla/mozilla-droid/js/src/jsapi-tests/tests.cpp:81: error: 'cout' was not declared in this scope
/home/mozilla/mozilla-droid/js/src/jsapi-tests/tests.cpp:81: error: 'endl' was not declared in this scope
make[5]: *** [tests.o] Error 1
make[5]: Leaving directory `/home/mozilla/mozilla-droid/objdir-fnc-opt/js/src/jsapi-tests'
make[4]: *** [libs] Error 2
make[4]: Leaving directory `/home/mozilla/mozilla-droid/objdir-fnc-opt/js/src'
make[3]: *** [libs_tier_js] Error 2
make[3]: Leaving directory `/home/mozilla/mozilla-droid/objdir-fnc-opt'
make[2]: *** [tier_js] Error 2
make[2]: Leaving directory `/home/mozilla/mozilla-droid/objdir-fnc-opt'
make[1]: *** [default] Error 2
make[1]: Leaving directory `/home/mozilla/mozilla-droid/objdir-fnc-opt'
make: *** [build] Error 2
mozilla@ubuntu:~/mozilla-droid$

Updated

8 years ago
Duplicate of this bug: 563097

Updated

8 years ago
Blocks: 560911, 561908, 563095

Updated

8 years ago
Blocks: 563808

Comment 2

8 years ago
Please see http://crystax.net/android/ndk-r3.php for an NDK which supports STL. I haven't tried a build with tests enabled but using this NDK should allow the build to proceed further.
Component: Widget: Android → Build Config
QA Contact: android → build-config
verified today that using the ndk (downloading, unpacking, and editing my mozconfig to point to it) allowed me to build with no known problems a --enable-tests build including the binaries associated with it.  

Verified with a make-package-tests and viewing the contents in there.
Status: NEW → RESOLVED
Last Resolved: 8 years ago
Resolution: --- → FIXED

Comment 4

8 years ago
I don't think we can close this bug simply because an alternative NDK allows the build to finish unless the decision has been made to make this the NDK that is used in the build environment?

Sure this NDK works but it's not the one we are using - do we reopen this bug and make it blocked by a bug that calls for the replacement of the NDK with the new one?
sorry, I did get a bit ahead of myself.  

I think what you are proposing to make this bug depending on a new bug about switching NDK is a good path to go.

Comment 6

8 years ago
I'll create the new bug and reopen this as a dependency - thanks!

Updated

8 years ago
Depends on: 564963

Comment 7

8 years ago
REOPENED until status of bug 564963 is determined (replacing the NDK)
Status: RESOLVED → REOPENED
Resolution: FIXED → ---

Updated

8 years ago
No longer depends on: 564963

Comment 8

8 years ago
(In reply to comment #7)
> REOPENED until status of bug 564963 is determined (replacing the NDK)

after discussing this, and re-learning that so far it's been a discussion amongst the test tool team and *not* the mobile dev team!  I'm going to bring this up in the mobile meeting as something that needs to be talked about
Status: REOPENED → RESOLVED
Last Resolved: 8 years ago8 years ago
Resolution: --- → FIXED

Updated

5 months ago
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.