Closed Bug 563437 Opened 14 years ago Closed 14 years ago

Fennec Android does not build with --enable_tests

Categories

(Firefox Build System :: General, defect)

ARM
Android
defect
Not set
critical

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: cmtalbert, Unassigned)

References

Details

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$
Blocks: 563808
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
Closed: 14 years ago
Resolution: --- → FIXED
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.
I'll create the new bug and reopen this as a dependency - thanks!
Depends on: 564963
REOPENED until status of bug 564963 is determined (replacing the NDK)
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
No longer depends on: 564963
(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
Closed: 14 years ago14 years ago
Resolution: --- → FIXED
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.