Closed Bug 935776 Opened 11 years ago Closed 11 years ago

Cant build Firefox OS (emulator kk and jb) on Mavericks

Categories

(Firefox OS Graveyard :: Emulator, defect)

x86
macOS
defect
Not set
normal

Tracking

(tracking-b2g:backlog)

RESOLVED FIXED
1.4 S6 (25apr)
tracking-b2g backlog

People

(Reporter: daleharvey, Assigned: vicamo)

References

Details

(Whiteboard: [ft:ril][p=3])

Attachments

(3 files, 5 obsolete files)

No description provided.
Summary: Cant build Firefox OS on Mavericks → Cant build Firefox OS (emulator) on Mavericks
Current fail is Notice file: external/qemu/NOTICE -- out/host/darwin-x86/obj/NOTICE_FILES/src//lib/emulator-common.a.txt Install: out/host/darwin-x86/bin/emulator target Generated: emulator-arm <= external/qemu/qemu-monitor.hx target Generated: emulator-arm <= external/qemu/qemu-options.hx host C: emulator-arm <= external/qemu/audio/audio.c In file included from /usr/local/Cellar/gcc-4.6/4.6.3/gcc/lib/gcc/x86_64-apple-darwin13.0.1/4.6.3/include/stdint.h:3:0, from /Applications/XCode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk/usr/include/inttypes.h:255, from external/qemu/qemu-common.h:31, from external/qemu/hw/hw.h:5, from external/qemu/audio/audio.c:25: /usr/local/Cellar/gcc-4.6/4.6.3/gcc/lib/gcc/x86_64-apple-darwin13.0.1/4.6.3/include-fixed/stdint.h:27:32: fatal error: sys/_types/_int8_t.h: No such file or directory compilation terminated. make: *** [out/host/darwin-x86/obj/EXECUTABLES/emulator-arm_intermediates/audio/audio.o] Error 1 real 5m43.594s user 2m22.696s sys 0m42.468s > Build failed! < Build with |./build.sh -j1| for better messages If all else fails, use |rm -rf objdir-gecko| to clobber gecko and |rm -rf out| to clobber everything else.
http://pastebin.mozilla.org/3689144 is my current error with a clean checkout and a passing bootstrap /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__config:191:20: error: typedef redefinition with different types ('char16_t' vs 'uint16_t' (aka 'unsigned short')) typedef __char16_t char16_t;
I get the same error building for nexus S, after upgrading to Mavericks and doing a clean re-installation of MacPorts.
This isnt as helpful for people building for a full device, however if you are a gecko dev and already have a flashed device you can do ./build.sh gecko && ./flash.sh gecko, which never used to work
(In reply to Dale Harvey (:daleharvey) from comment #4) > This isnt as helpful for people building for a full device, however if you > are a gecko dev and already have a flashed device you can do ./build.sh > gecko && ./flash.sh gecko, which never used to work This was very helpful, thanks!
Component: General → Emulator
After a few long nights finally got emulator working on Mavericks. http://i.imgur.com/OsafcLN.png :) I'll put together some notes and share them here if anyone else is stuck. If you also got it working would be nice to compare and see if my approach was less or more sound. I'd like to update the guide on MDN so others can get it working.
Hello,I get the same error. Can you share the way to build emulator in Mavericks? (In reply to Josh R from comment #7) > After a few long nights finally got emulator working on Mavericks. > http://i.imgur.com/OsafcLN.png :) > I'll put together some notes and share them here if anyone else is stuck. If > you also got it > working would be nice to compare and see if my approach was less or more > sound. I'd like to update > the guide on MDN so others can get it working.
Blocks: 965201
Blocks: dale-being-happy
No longer blocks: 965201
Attached file Github PR for B2G (obsolete) —
Append --enable-cxx when installing gcc-4.6 on Mac.
Assignee: nobody → vyang
Attached file Github PR for build/ (obsolete) —
Use g++-4.6 when possible
Looks like I don't have some time to fix this before 1.4 release. Sorry :(
Assignee: vyang → nobody
Vicamo, it looks like your patches are attempting to do in-tree what's described on the MDN page at [1], is that right? What are the next steps to get this landed? Are the patches ready for review? [1] https://developer.mozilla.org/en-US/Firefox_OS/Building#clang_errors_when_building_with_Xcode_5_on_Mac
[Emulator-KitKat] 1) revert https://github.com/mozilla-b2g/platform_external_qemu/commits/5957279f5b5a75787bba8011acbac044a1db9e62 2) fix struct re-typedef in external/qemu/telephony/sim_card.c:248 . See https://github.com/mozilla-b2g/platform_external_qemu/commits/32e10f31793103ea7bf121182c8254317ec0e0ca 3) Somehow my 'tar' Mavericks 10.9.2 doesn't support "--owner=0 --group=0 --mode=go-w" and "--numeric-owner" should be only available in eXtract mode. This results an empty b2g-*.tar.gz and in turn an empty /system/b2g folder. With the three things fixed, emulator-kk builds and runs.
A temporary work-around to Gecko "toolkit/mozapps/installer/packager.mk" for the tar arguments problem.
Emulator-jb builds and runs with the same fixes in comment 14 applied.
(In reply to Vicamo Yang [:vicamo][:vyang] from comment #14) > 3) Somehow my 'tar' Mavericks 10.9.2 doesn't support "--owner=0 --group=0 > --mode=go-w" and "--numeric-owner" should be only available in eXtract mode. > This results an empty b2g-*.tar.gz and in turn an empty /system/b2g folder. It has been there since 2006. Got to compare with the build process of FXOS devices. Wonders why they're successful.
(In reply to Vicamo Yang [:vicamo][:vyang] from comment #17) > (In reply to Vicamo Yang [:vicamo][:vyang] from comment #14) > > 3) Somehow my 'tar' Mavericks 10.9.2 doesn't support "--owner=0 --group=0 > > --mode=go-w" and "--numeric-owner" should be only available in eXtract mode. > > This results an empty b2g-*.tar.gz and in turn an empty /system/b2g folder. > > It has been there since 2006. Got to compare with the build process of FXOS > devices. Wonders why they're successful. Nexus-5 builds on Mavericks, but the generated b2g-30.0a1.en-US.android-arm.tar.gz is also empty. Will have a patch for this.
Comment on attachment 8372937 [details] [review] Github PR for B2G We don't need g++-4.6 for compiling emulator-jb, emulator-kk on Mavericks.
Attachment #8372937 - Attachment is obsolete: true
Comment on attachment 8372943 [details] [review] Github PR for build/ Neither is this.
Attachment #8372943 - Attachment is obsolete: true
Assignee: nobody → vyang
Attached patch Gecko patch (obsolete) — Splinter Review
Attachment #8391858 - Attachment is obsolete: true
So far emulator-jb, emulator-kk, emulator-x86-jb builds & runs, I'm going to have one more test on emulator-x86-kk. To verify above PR/patch: 1) clone B2G source code and configure it as emulator{,-x86}-{jb,kk}, $ ./config.sh emulator-jb 2) apply attachment 8393347 [details] [diff] [review] to gecko/ $ (cd gecko; wget -O - "https://bugzilla.mozilla.org/attachment.cgi?id=8393347" | patch -p1) 3) Apply the two pull requests to external/qemu: $ cd external/qemu $ git add remote vicamo git@github.com:vicamo/b2g_platform_external_qemu.git $ git fetch vicamo $ git merge vicamo/bugzilla/935776/ics_fix-type-redefined $ git merge vicamo/bugzilla/935776/jb_revert-5957279 $ cd - 4) Build all: $ nice -n 20 ./build.sh Then go to dinner :) When you come back, you should find: 1) b2g-*.gz should be a 20+MB file: $ ls -al objdir-gecko/dist/b2g-*.gz -rw-r--r-- 1 vicamo staff 24781736 Mar 19 17:13 objdir-gecko/dist/b2g-31.0a1.en-US.linux-i686.tar.gz 2) /system/b2g should contain b2g executables, shared libraries: $ ls -al out/target/product/generic_x86/system/b2g -rwxr-xr-x 1 vicamo staff 177588 Mar 19 17:12 b2g -rwxr-xr-x 1 vicamo staff 43366348 Mar 19 17:12 libxul.so ...
@schien, could you help verifying my work here?
Flags: needinfo?(schien)
I tried emulator-x86 and failed. Here is the log. In file included from frameworks/base/tools/aapt/AaptAssets.cpp:5: In file included from frameworks/base/tools/aapt/AaptAssets.h:10: In file included from frameworks/base/include/utils/AssetManager.h:24: In file included from frameworks/base/include/utils/AssetDir.h:24: In file included from frameworks/base/include/utils/Vector.h:20: In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/new:67: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__config:226:20: error: typedef redefinition with different types ('char16_t' vs 'uint16_t' (aka 'unsigned short')) typedef __char16_t char16_t; ^ frameworks/base/include/utils/Unicode.h:26:18: note: previous definition is here typedef uint16_t char16_t; ^ In file included from frameworks/base/tools/aapt/AaptAssets.cpp:5: In file included from frameworks/base/tools/aapt/AaptAssets.h:10: In file included from frameworks/base/include/utils/AssetManager.h:24: In file included from frameworks/base/include/utils/AssetDir.h:24: In file included from frameworks/base/include/utils/Vector.h:20: In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/new:67: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__config:227:20: error: typedef redefinition with different types ('char32_t' vs 'uint32_t' (aka 'unsigned int')) typedef __char32_t char32_t; ^ frameworks/base/include/utils/Unicode.h:25:18: note: previous definition is here typedef uint32_t char32_t; ^ In file included from frameworks/base/tools/aapt/AaptAssets.cpp:5: In file included from frameworks/base/tools/aapt/AaptAssets.h:10: In file included from frameworks/base/include/utils/AssetManager.h:24: In file included from frameworks/base/include/utils/AssetDir.h:24: In file included from frameworks/base/include/utils/Vector.h:20: In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/new:68: In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/exception:81: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/type_traits:320:20: error: redefinition of 'std::__1::__is_integral<char16_t>' template <> struct __is_integral<unsigned short> : public true_type {}; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/type_traits:316:20: note: previous definition is here template <> struct __is_integral<char16_t> : public true_type {}; ^ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/type_traits:322:20: error: redefinition of 'std::__1::__is_integral<char32_t>' template <> struct __is_integral<unsigned int> : public true_type {}; ^~~~~~~~~~~~~~~~~~~~~~~~~~~ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/type_traits:317:20: note: previous definition is here template <> struct __is_integral<char32_t> : public true_type {}; ^ frameworks/base/tools/aapt/AaptAssets.cpp:2199:38: warning: unused parameter 'bundle' [-Wunused-parameter] AaptAssets::slurpResourceZip(Bundle* bundle, const char* filename) ^ 1 warning and 4 errors generated.
(In reply to StevenLee[:slee] from comment #26) > I tried emulator-x86 and failed. Here is the log. > frameworks/base/include/utils/Unicode.h:26:18: note: previous definition is > here > typedef uint16_t char16_t; > ^ You're not building emulator{,-x86}-{jb,kk}. You're building emulator-x86 and that's ICS.
(In reply to Vicamo Yang [:vicamo][:vyang] from comment #24) > So far emulator-jb, emulator-kk, emulator-x86-jb builds & runs, I'm going to > have one more test on emulator-x86-kk. Emulator-x86-kk builds and runs as well. Besides, I can also access Gaia, and somehow that's not available on emulator-x86-jb.
Flags: needinfo?(schien) → needinfo?(slee)
/Volumes/ssd/emulator/prebuilts/gcc/darwin-x86/x86/i686-linux-android-4.7/bin/../lib/gcc/i686-linux-android/4.7/../../../../i686-linux-android/bin/ld: warning: hidden symbol 'vorbis_comment_clear' in /Volumes/ssd/emulator/objdir-gecko/toolkit/library/../../media/libtremor/lib/tremor_info.o is referenced by DSO /Vo lumes/ssd/emulator/out/target/product/generic_x86/obj/lib/libstagefright.so /Volumes/ssd/emulator/prebuilts/gcc/darwin-x86/x86/i686-linux-android-4.7/bin/../lib/gcc/i686-linux-android/4.7/../../../../i686-linux-android/bin/ld: warning: hidden symbol 'vorbis_info_clear' in /Volumes/ssd/emulator/objdir-gecko/toolkit/library/../../media/libtremor/lib/tremor_info.o is referenced by DSO /Volum es/ssd/emulator/out/target/product/generic_x86/obj/lib/libstagefright.so /Volumes/ssd/emulator/prebuilts/gcc/darwin-x86/x86/i686-linux-android-4.7/bin/../lib/gcc/i686-linux-android/4.7/../../../../i686-linux-android/bin/ld: warning: hidden symbol 'vorbis_info_init' in /Volumes/ssd/emulator/objdir-gecko/toolkit/library/../../media/libtremor/lib/tremor_info.o is referenced by DSO /Volume s/ssd/emulator/out/target/product/generic_x86/obj/lib/libstagefright.so /Volumes/ssd/emulator/prebuilts/gcc/darwin-x86/x86/i686-linux-android-4.7/bin/../lib/gcc/i686-linux-android/4.7/../../../../i686-linux-android/bin/ld: warning: hidden symbol 'vorbis_comment_init' in /Volumes/ssd/emulator/objdir-gecko/toolkit/library/../../media/libtremor/lib/tremor_info.o is referenced by DSO /Vol umes/ssd/emulator/out/target/product/generic_x86/obj/lib/libstagefright.so /Volumes/ssd/emulator/prebuilts/gcc/darwin-x86/x86/i686-linux-android-4.7/bin/../lib/gcc/i686-linux-android/4.7/../../../../i686-linux-android/bin/ld: warning: hidden symbol 'oggpack_readinit' in /Volumes/ssd/emulator/objdir-gecko/toolkit/library/../../media/libogg/ogg_bitwise.o is referenced by DSO /Volumes/ssd/e mulator/out/target/product/generic_x86/obj/lib/libstagefright.so /Volumes/ssd/emulator/prebuilts/gcc/darwin-x86/x86/i686-linux-android-4.7/bin/../lib/gcc/i686-linux-android/4.7/../../../../i686-linux-android/bin/ld: warning: hidden symbol 'oggpack_read' in /Volumes/ssd/emulator/objdir-gecko/toolkit/library/../../media/libogg/ogg_bitwise.o is referenced by DSO /Volumes/ssd/emula tor/out/target/product/generic_x86/obj/lib/libstagefright.so /Volumes/ssd/emulator/prebuilts/gcc/darwin-x86/x86/i686-linux-android-4.7/bin/../lib/gcc/i686-linux-android/4.7/../../../../i686-linux-android/bin/ld: warning: hidden symbol 'ashmem_create_region' in /Volumes/ssd/emulator/objdir-gecko/toolkit/library/../../gfx/skia/ashmem.o is referenced by DSO /Volumes/ssd/emulat or/out/target/product/generic_x86/obj/lib/libbinder.so /Volumes/ssd/emulator/prebuilts/gcc/darwin-x86/x86/i686-linux-android-4.7/bin/../lib/gcc/i686-linux-android/4.7/../../../../i686-linux-android/bin/ld: warning: hidden symbol 'ashmem_set_prot_region' in /Volumes/ssd/emulator/objdir-gecko/toolkit/library/../../gfx/skia/ashmem.o is referenced by DSO /Volumes/ssd/emul ator/out/target/product/generic_x86/obj/lib/libbinder.so /Volumes/ssd/emulator/gecko/modules/freetype2/src/gzip/ftgzip.c:308: error: undefined reference to 'inflateInit2_' /Volumes/ssd/emulator/gecko/modules/freetype2/src/gzip/ftgzip.c:323: error: undefined reference to 'inflateEnd' /Volumes/ssd/emulator/gecko/modules/freetype2/src/gzip/ftgzip.c:352: error: undefined reference to 'inflateReset' /Volumes/ssd/emulator/gecko/modules/freetype2/src/gzip/ftgzip.c:426: error: undefined reference to 'inflate' /Volumes/ssd/emulator/gecko/modules/freetype2/src/gzip/ftgzip.c:715: error: undefined reference to 'inflateInit2_' /Volumes/ssd/emulator/gecko/modules/freetype2/src/gzip/ftgzip.c:719: error: undefined reference to 'inflate' /Volumes/ssd/emulator/gecko/modules/freetype2/src/gzip/ftgzip.c:722: error: undefined reference to 'inflateEnd' /Volumes/ssd/emulator/gecko/modules/freetype2/src/gzip/ftgzip.c:730: error: undefined reference to 'inflateEnd'
Flags: needinfo?(slee)
I delete the whole folder, clear ccache and re-run the steps in comment 24. x86-jb and x86-kk can build on my Mac.
Attachment #8393347 - Flags: review?(mh+mozilla)
Attachment #8393347 - Flags: review?(khuey)
Attachment #8393342 - Flags: review?(htsai)
Attachment #8393344 - Flags: review?(mwu)
Does Mavericks not have a GNU-compatible tar?
(In reply to Kyle Huey [:khuey] (khuey@mozilla.com) from comment #31) > Does Mavericks not have a GNU-compatible tar? http://day-to-day-stuff.blogspot.tw/2013/11/installing-gnutar-on-maverick.html "Unfortunately Apple decided to remove /usr/bin/gnutar from Maverick (Mac OSX 10.9)." I'm trying to build with gnu-tar from Homebrew.
(In reply to Vicamo Yang [:vicamo][:vyang] from comment #32) > I'm trying to build with gnu-tar from Homebrew. It's working. B2G archive is generated correctly. So, should I file an pull request to fix B2G Mac bootstrapping instead of fixing Gecko configure script?
(In reply to Vicamo Yang [:vicamo][:vyang] from comment #33) > (In reply to Vicamo Yang [:vicamo][:vyang] from comment #32) > > I'm trying to build with gnu-tar from Homebrew. > > It's working. B2G archive is generated correctly. So, should I file an pull > request to fix B2G Mac bootstrapping instead of fixing Gecko configure > script? I think that would be better, yes. Thanks.
Attached file Github PR for B2G
* don't prompt for gcc-4.6 and MacSDK10.6 on Mavericks * prompt for gnu-tar if no compatible archiver is found
Attachment #8393347 - Attachment is obsolete: true
Attachment #8393347 - Flags: review?(mh+mozilla)
Attachment #8393347 - Flags: review?(khuey)
Attachment #8397018 - Flags: review?(mwu)
Hi Vicamo I just tried to build on Mac OS X mavericks with emulator-x86-kk. Then I got a error[1]... [1] http://pastebin.mozilla.org/4733756 --- system/core/libutils/Printer.cpp: In member function ‘virtual void android::FdPrinter::printLine(const char*)’: system/core/libutils/Printer.cpp:123: error: ‘dprintf’ was not declared in this scope --- Did you know this error? 'n if you know about this, may I get your suggestion to build success.. regards
Flags: needinfo?(vyang)
(In reply to Yusuke Yamamoto from comment #36) Can you do: $ rm -rf out/host/darwin-x86/obj/STATIC_LIBRARIES/libutils_intermediates $ ./build.sh showcommands libutils This will show all the commands executed, so we may have a chance to know what happened to Printer.o. Mine: host C++: libutils <= system/core/libutils/Printer.cpp prebuilts/misc/darwin-x86/ccache/ccache prebuilts/gcc/darwin-x86/host/i686-apple-darwin-4.2.1/bin/i686-apple-darwin11-g++ -I system/core/libutils -I out/host/darwin-x86/obj/STATIC_LIBRARIES/libutils_intermediates -I libnativehelper/include/nativehelper -isystem system/core/include -isystem hardware/libhardware/include -isystem hardware/libhardware_legacy/include -isystem hardware/ril/include -isystem libnativehelper/include -isystem frameworks/native/include -isystem frameworks/native/opengl/include -isystem frameworks/av/include -isystem frameworks/base/include -isystem external/skia/include -isystem tools/include -isystem out/host/darwin-x86/obj/include -c -fno-exceptions -Wno-multichar -m32 -isystem prebuilts/gcc/darwin-x86/host/i686-apple-darwin-4.2.1/lib/gcc/i686-apple-darwin11/4.2.1/include -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk -mmacosx-version-min=10.8 -DMACOSX_DEPLOYMENT_TARGET=10.8 -fPIC -funwind-tables -include build/core/combo/include/arch/darwin-x86/AndroidConfig.h -DANDROID -fmessage-length=0 -W -Wall -Wno-unused -Winit-self -Wpointer-arith -O2 -g -fno-strict-aliasing -DNDEBUG -UDEBUG -DANDROID -fmessage-length=0 -W -Wall -Wno-unused -Winit-self -Wpointer-arith -Wsign-promo -DNDEBUG -UDEBUG -DLIBUTILS_NATIVE=1 -MD -MF out/host/darwin-x86/obj/STATIC_LIBRARIES/libutils_intermediates/Printer.d -o out/host/darwin-x86/obj/STATIC_LIBRARIES/libutils_intermediates/Printer.o system/core/libutils/Printer.cpp So if you replace that "-c" with "-E" and "Printer.o" with "Printer.e", you should find: 2324 # 445 "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/usr/include/stdio.h" 3 4 2325 extern "C" { 2326 int dprintf(int, const char * , ...) __attribute__((__format__ (__printf__, 2, 3))) __attribute__((visibility("default"))); 2327 int vdprintf(int, const char * , va_list) __attribute__((__format__ (__printf__, 2, 0))) __attribute__((visibility("default"))); 2328 ssize_t getdelim(char ** , size_t * , int, FILE * ) __attribute__((visibility("default"))); 2329 ssize_t getline(char ** , size_t * , FILE * ) __attribute__((visibility("default"))); 2330 } which defines symbol 'dprintf'.
Flags: needinfo?(vyang)
Thanks Vicamo I tried that command. It seems to be different with the mac os sdk version[1],[2]. I think, we have to use 10.6 SDK on Mac OS X. Please correct me , if I'm wrong... https://developer.mozilla.org/en-US/Firefox_OS/Firefox_OS_build_prerequisites#Making_the_Mac_OS_X_10.6_SDK_available [2] #1 me : prebuilts/gcc/darwin-x86/host/i686-apple-darwin-4.2.1/bin/i686-apple-darwin10-g++ you: prebuilts/gcc/darwin-x86/host/i686-apple-darwin-4.2.1/bin/i686-apple-darwin11-g++ #2 me : /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk -mmacosx-version-min=10.6 -DMACOSX_DEPLOYMENT_TARGET=10.6 you: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk -mmacosx-version-min=10.8 -DMACOSX_DEPLOYMENT_TARGET=10.8 [1] ------ host C++: libutils <= system/core/libutils/Printer.cpp prebuilts/misc/darwin-x86/ccache/ccache prebuilts/gcc/darwin-x86/host/i686-apple-darwin-4.2.1/bin/i686-apple-darwin10-g++ -I system/core/libutils -I out/host/darwin-x86/obj/STATIC_LIBRARIES/libutils_intermediates -I libnativehelper/include/nativehelper -isystem system/core/include -isystem hardware/libhardware/include -isystem hardware/libhardware_legacy/include -isystem hardware/ril/include -isystem libnativehelper/include -isystem frameworks/native/include -isystem frameworks/native/opengl/include -isystem frameworks/av/include -isystem frameworks/base/include -isystem external/skia/include -isystem tools/include -isystem out/host/darwin-x86/obj/include -c -fno-exceptions -Wno-multichar -m32 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk -mmacosx-version-min=10.6 -DMACOSX_DEPLOYMENT_TARGET=10.6 -fPIC -funwind-tables -include build/core/combo/include/arch/darwin-x86/AndroidConfig.h -DANDROID -fmessage-length=0 -W -Wall -Wno-unused -Winit-self -Wpointer-arith -O2 -g -fno-strict-aliasing -DNDEBUG -UDEBUG -DANDROID -fmessage-length=0 -W -Wall -Wno-unused -Winit-self -Wpointer-arith -Wsign-promo -DNDEBUG -UDEBUG -DLIBUTILS_NATIVE=1 -MD -MF out/host/darwin-x86/obj/STATIC_LIBRARIES/libutils_intermediates/Printer.d -o out/host/darwin-x86/obj/STATIC_LIBRARIES/libutils_intermediates/Printer.o system/core/libutils/Printer.cpp -----
Flags: needinfo?(vyang)
(In reply to Yusuke Yamamoto from comment #38) > Thanks Vicamo > I tried that command. > > It seems to be different with the mac os sdk version[1],[2]. > > I think, we have to use 10.6 SDK on Mac OS X. > Please correct me , if I'm wrong... > https://developer.mozilla.org/en-US/Firefox_OS/ > Firefox_OS_build_prerequisites#Making_the_Mac_OS_X_10.6_SDK_available That's for emulator-ics only. For AOSP Master/KitKat branches, you need 10.8SDK or above. http://source.android.com/source/initializing.html#master-branch For JB/ICS, you can find similar requirements below.
Flags: needinfo?(vyang)
Andrew, do you have a list a appropriate reviewers, developers working on Mac? It's been almost three weeks since I requested r?.
Flags: needinfo?(overholt)
Comment on attachment 8393342 [details] [review] Github PR for external/qemu, master branch Good catch.
Attachment #8393342 - Flags: review?(htsai) → review+
(In reply to Hsin-Yi Tsai [:hsinyi] from comment #41) > Comment on attachment 8393342 [details] [review] > Github PR for external/qemu, master branch > > Good catch. Merged on Github: https://github.com/mozilla-b2g/platform_external_qemu/commit/9b393a454feef2967ff164ee33fcad3905baedef
Comment on attachment 8393344 [details] [review] Github PR for external/qemu, b2g-jellybean branch I assume you actually meant to point to https://github.com/mozilla-b2g/platform_external_qemu/pull/66 .
Attachment #8393344 - Flags: review?(mwu) → review+
Running through the testing steps locally on Mavericks.. code looks mostly good, just want to verify it :)
Attachment #8397018 - Flags: review?(mwu) → review?(marshall)
Correct PR url. Thanks mwu! @Marshall, I thought you've left Mozilla. In that reverted commit[1], you said you wanted to "fixed SDL compilation in Lion, and enabled SDL compilation in Mac OS X". Can't find related bug or steps to verify that. Do you still think it's still valid since the whole block was removed in AOSP JellyBean? [1]: https://github.com/mozilla-b2g/platform_external_qemu/commit/5957279f5b5a75787bba8011acbac044a1db9e62
Attachment #8393344 - Attachment is obsolete: true
Attachment #8403711 - Flags: review+
Attachment #8403711 - Flags: feedback?(marshall)
(In reply to Vicamo Yang [:vicamo][:vyang] from comment #45) > @Marshall, I thought you've left Mozilla. I did and now I'm back :) > In that reverted commit[1], you > said you wanted to "fixed SDL compilation in Lion, and enabled SDL > compilation in Mac OS X". Can't find related bug or steps to verify that. > Do you still think it's still valid since the whole block was removed in > AOSP JellyBean? I don't think a bug was ever filed for this.. :( In any case, I don't think the original patch is valid if the supporting code was removed in Jellybean. On a side note, I'm a little confused because both 4.2.x and 4.3.x are considered Jellybean, but according to the AOSP build requirements[1]: - AOSP 4.2.x requires OS X 10.6 w/ Xcode 4.2 - AOSP master (Jellybean 4.3, KitKat, and above?) requires OS X 10.8 w/ Xcode 4.5.2 Do you know if our b2g-jellybean branch is based on the 4.2.x branch or 4.3.x? [1]: http://source.android.com/source/initializing.html#setting-up-a-mac-os-x-build-environment
Flags: needinfo?(overholt)
Comment on attachment 8403711 [details] Github PR for external/qemu, b2g-jellybean branch : v2 Looks good to me. Also verified functionally -- the patch fixes the emulator-jb build for me in Mavericks (yay!) One suggestion -- maybe we should verify which JB branch we are based on (4.2.x or 4.3.x) If it's 4.2.x, we might want to also get this verified by someone with OS X 10.7.
Attachment #8403711 - Flags: feedback?(marshall) → feedback+
Flags: needinfo?(vyang)
Comment on attachment 8397018 [details] [review] Github PR for B2G Looks good, but there is currently a conflict with master you'll need to resolve before merging.
Attachment #8397018 - Flags: review?(marshall) → review+
(In reply to Marshall Culpepper [:marshall_law] from comment #46) > (In reply to Vicamo Yang [:vicamo][:vyang] from comment #45) > On a side note, I'm a little confused because both 4.2.x and 4.3.x are > considered Jellybean, but according to the AOSP build requirements[1]: > - AOSP 4.2.x requires OS X 10.6 w/ Xcode 4.2 > - AOSP master (Jellybean 4.3, KitKat, and above?) requires OS X 10.8 w/ > Xcode 4.5.2 > > Do you know if our b2g-jellybean branch is based on the 4.2.x branch or > 4.3.x? The b2g-jellybean branch here, like all other repositories, is based on 4.3_r2.1. Flatfish is based on 4.2. (See also bug 983013, Flatfish doesn't build on Mavericks)
Flags: needinfo?(vyang)
On Mavericks, 1) All emulator builds are of their ARM variants only. 2) No additional GCC/G++ installed. 3) Xcode 4.4.1 is the oldest available version on Mavericks. | (ICS) | (JB-4.3) | (KK-4.4) | (JB-4.2) | emu-ics | emu-jb | emu-kk | flatfish ------------+---------+----------+----------+---------- Xcode 4.4.1 | X[1] | O | O | O[2] Xcode 4.5.2 | X[1] | O | O | O[2] Xcode 4.6.3 | X[1] | O | O | O[2] Xcode 5.0.2 | X[1] | O | O | X[3] [1]: emulator-ics need 10.6 SDK where the oldest available Xcode (4.4.2) on Mavericks carries only 10.7 & 10.8, so emulator-ics just cannot get built on Mavericks. [2]: need additional toolchain installed. See bug 983013 attachment 8391238 [details] [diff] [review], attachment 8391239 [details] and bug 994601. [3]: don't have a successful solution yet. See bug 983013.
(In reply to Yusuke Yamamoto from comment #38) Hi Yusuke San, please let me know if you still have any problem. :)
Flags: needinfo?(yu-yamamoto)
(In reply to Vicamo Yang [:vicamo][:vyang] from comment #51) Hi Vicamo, actually, I still have other error( and I posted that to dev-b2g mailing list )... I think it's a my mistake to set up my building environment. My facing error is not able to include "stdio.h". external/qemu/dma.h:13:19: error: stdio.h: No such file or directory Also, I know this bug is still solved to get xcode command line tools. https://developer.mozilla.org/en-US/docs/Developer_Guide/Build_Instructions/Mac_OS_X_Prerequisites#Troubleshooting and, certainly, I can build simple helloworld written by C program with include "<stdio.h>". So, now I'm little confusing why I can build simple C program code, but simulator-kk is not able to buid. my build environment are Mac OS X mavericks, Xcode 5.0.2( n' i got command line tools ), gcc version 4.6.3 (GCC), GNU Make 3.81
Flags: needinfo?(yu-yamamoto) → needinfo?(vyang)
(In reply to Yusuke Yamamoto from comment #52) > (In reply to Vicamo Yang [:vicamo][:vyang] from comment #51) > Hi Vicamo, actually, I still have other error( and I posted that to dev-b2g > mailing list )... > > I think it's a my mistake to set up my building environment. > My facing error is not able to include "stdio.h". > > external/qemu/dma.h:13:19: error: stdio.h: No such file or directory > > Also, I know this bug is still solved to get xcode command line tools. > https://developer.mozilla.org/en-US/docs/Developer_Guide/Build_Instructions/ > Mac_OS_X_Prerequisites#Troubleshooting The things here are NOT yet landed. They don't exist on the documentation yet. You don't need 10.6 SDK for emulator-{jb,kk}. Actually, please remove 10.6 SDK from your Xcode folder. > and, certainly, I can build simple helloworld written by C program with > include "<stdio.h>". > So, now I'm little confusing why I can build simple C program code, but > simulator-kk is not able to buid. > > my build environment are > Mac OS X mavericks, Xcode 5.0.2( n' i got command line tools ), gcc version > 4.6.3 (GCC), GNU Make 3.81 I repeat, the things you need to compile emulator-{jb,kk} on Mac OS X 10.9 Mavericks do NOT include GNU C Compiler at all. Here are a list of installed Homebrew components on my MBP: $ brew list autoconf byobu coreutils gnu-sed htop-osx libpng mpfr openssl popt texinfo xz autoconf213 ccache gettext gnu-tar libevent libtool newt osxfuse pwgen tmux yasm automake cmake gmp gnupg libmpc mercurial ntfs-3g pkg-config s-lang wget
Flags: needinfo?(vyang)
(In reply to Vicamo Yang [:vicamo][:vyang] from comment #53) > yet. You don't need 10.6 SDK for emulator-{jb,kk}. Actually, please remove > 10.6 SDK from your Xcode folder. Sorry,it was lack of my writing, I still done to build "emulator-kk", to remove 10.6 sdk from Xcode folder, but I'm having that problem. > I repeat, the things you need to compile emulator-{jb,kk} on Mac OS X 10.9 > Mavericks do NOT include GNU C Compiler at all. Here are a list of I removed GNU C compiler, removed out/ directory on B2G, and reboot my MBP, then I try to build again, but my MBP says same error... > installed Homebrew components on my MBP: > $ brew list > autoconf byobu coreutils gnu-sed htop-osx libpng mpfr > openssl popt texinfo xz autoconf213 ccache gettext > gnu-tar libevent libtool newt osxfuse pwgen tmux > yasm automake cmake gmp gnupg libmpc mercurial > ntfs-3g pkg-config s-lang wget There are my components $ brew list autoconf213 findutils gmp libmpc pkg-config sqlite ccache gawk gmp4 libmpc08 pngcrush terminal-notifier cloog-ppl015 gdbm gnu-sed mercurial ppl011 xz cmake gettext gnupg mpfr python yasm coreutils git libffi mpfr2 readline cpanminus glib libidl openssl repo It's Sorry for you about my asking with many time...
Flags: needinfo?(vyang)
(In reply to Yusuke Yamamoto from comment #54) We're having some offline diagnosis. For others also interested in Firefox OS development on Mac, especially on Mavericks, please don't hesitate to throw up the problems you encountered in the process. I'm going to ask some more people to verify these PRs and, if all successfully, merge them recently.
Flags: needinfo?(vyang)
Whiteboard: [ft:ril][p=3]
Target Milestone: --- → 1.4 S6 (25apr)
Thanks to you, Vicamo! I finally get an emulator up and running on my Mac after the upgrade to Maverick four months ago.
This is the first time that emulator runs on my mac laptop. Thank you, Vicamo.
blocking-b2g: --- → backlog
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Just got a mail from Yusuke san saying that he has a successful emulator build on Mac, too.
Could the documentation be updated to reflect those changes? I'm also trying to make the emulator work on Mac OS and I'm still experiencing the same problems noted by some comments here.
Flags: needinfo?(vyang)
Hi Ahmed, I've updated some bits on https://developer.mozilla.org/en-US/Firefox_OS/Firefox_OS_build_prerequisites . Can you give some feedbacks? Does it work for you?
Flags: needinfo?(vyang) → needinfo?(akachkach)
Summary: Cant build Firefox OS (emulator) on Mavericks → Cant build Firefox OS (emulator kk and jb) on Mavericks
Yes, it's way clearer now (especially the part about the ICS emulator not working on Mac OS 10.9). Thanks Vicamo! Maybe you could also put a note here: https://developer.mozilla.org/en-US/Firefox_OS/Preparing_for_your_first_B2G_build#Configuring_the_B2G_build_for_an_emulator (saying that people on Mac OS 10.9+ should probably build emulator-kk or emulator-jb instead)
Flags: needinfo?(akachkach)
(In reply to Ahmed Kachkach [:akachkach] from comment #66) > Yes, it's way clearer now (especially the part about the ICS emulator not > working on Mac OS 10.9). Thanks Vicamo! > > Maybe you could also put a note here: > > https://developer.mozilla.org/en-US/Firefox_OS/ > Preparing_for_your_first_B2G_build#Configuring_the_B2G_build_for_an_emulator > > (saying that people on Mac OS 10.9+ should probably build emulator-kk or > emulator-jb instead) Done. :)
blocking-b2g: backlog → ---
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: