Building B2G OS for Flamingo (Xperia E3)

I followed the wiki guide https://wiki.mozilla.org/B2G/Transition_Project#Building_the_Transition_Branches. My device is a Flamingo with latest fxp build (FirefoxOS 2.6). All seems ok till I ./build.sh, which produces this:

iPino:B2G Enrico$ ./build.sh
B2G_DIR = /Users/Enrico/projects/B2G
GECKO_PATH = /Users/Enrico/projects/B2G/pine
including device/sony/amami/vendorsetup.sh
including device/sony/aries/vendorsetup.sh
including device/sony/eagle/vendorsetup.sh
including device/sony/flamingo/vendorsetup.sh
including device/sony/honami/vendorsetup.sh
including device/sony/leo/vendorsetup.sh
including device/sony/scorpion/vendorsetup.sh
including device/sony/scorpion_windy/vendorsetup.sh
including device/sony/seagull/vendorsetup.sh
including device/sony/sirius/vendorsetup.sh
including device/sony/tianchi/vendorsetup.sh
build/core/combo/mac_version.mk:38: *****************************************************
build/core/combo/mac_version.mk:39: * Can not find SDK 10.6 at /Developer/SDKs/MacOSX10.6.sdk
build/core/combo/mac_version.mk:40: *****************************************************
build/core/combo/mac_version.mk:41: *** Stop..  Stop.

** Don't have a product spec for: 'flamingo'
** Do you have the right repo manifest?


> 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.

The only step in the guide I may have misinterpreted is

$ vim .repo/manifests/base.xml
<project name="gaia" path="gaia" remote="mozillaorg" revision="kanikani" />

which doesn’t tell me where that line has to go and whether the previous content of the file has to be erased. (Just in case it may be relevant, I used Atom instead ov Vim)

Any idea? Any help is most welcome!

1 Like

This is breakage of building on OSX. I cannot help more regarding the first error, except I know you need to use a bootstrap script which is somewhere :slight_smile:

You might also need some patches from https://bugzilla.mozilla.org/show_bug.cgi?id=1194655

1 Like

Also, please make sure you are using the proper device name. Check in |./config.sh|, there is no “flamingo”, but rather “flamingo-l”.

Thanks @lissyx, you are right: I was building on OS X. The bug looks bad enough, I guess there’s little I can do but wait for it to be fixed…

I correctly used flamingo-l and the config.sh part completed successfully, up to that point everything looks alright.

I managed to build on OSX. What’s the exact issue you are having?

The issue is broadly described in my first post, but let me know if you’d like any other detail.

Sorry I misread it and thought that the error was thrown on ./config.sh.

Can you check what’s in .config? Can you try combinations (don’t remember the right one) for DEVICE_NAME and PRODUCT_NAME with flamingo and flamingo-l?

DEVICE_NAME=flamingo-l
PRODUCT_NAME=flamingo

Tried but without luck yet. This is what I keep getting:

Enricos-MBP:B2G Enrico$ cat .config
MAKE_FLAGS=-j6
GECKO_OBJDIR=/Users/Enrico/projects/B2G/objdir-gecko
DEVICE_NAME=flamingo-l
PRODUCT_NAME=flamingo
Enricos-MBP:B2G Enrico$ ./build.sh
B2G_DIR = /Users/Enrico/projects/B2G
GECKO_PATH = /Users/Enrico/projects/B2G/pine
including device/sony/amami/vendorsetup.sh
including device/sony/aries/vendorsetup.sh
including device/sony/eagle/vendorsetup.sh
including device/sony/flamingo/vendorsetup.sh
including device/sony/honami/vendorsetup.sh
including device/sony/leo/vendorsetup.sh
including device/sony/scorpion/vendorsetup.sh
including device/sony/scorpion_windy/vendorsetup.sh
including device/sony/seagull/vendorsetup.sh
including device/sony/sirius/vendorsetup.sh
including device/sony/tianchi/vendorsetup.sh
build/core/combo/mac_version.mk:38: *****************************************************
build/core/combo/mac_version.mk:39: * Can not find SDK 10.6 at /Developer/SDKs/MacOSX10.6.sdk
build/core/combo/mac_version.mk:40: *****************************************************
build/core/combo/mac_version.mk:41: *** Stop..  Stop.

** Don't have a product spec for: 'flamingo'
** Do you have the right repo manifest?


> 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.

can you, just to be sure, try another device?

./config.sh aries-l && ./build.sh

If so, maybe something broke for Flamingo?

I may do that but only if I have no other choice… It would take hours! :confused:

No, it won’t take hours. If you see that it starts building properly, you can stop it.

Just to make it clear, OSX builds are more likely to be a pain to support :). If you can work from a Linux VM it would be much easier.

I have a (old) Ubuntu machine too, I’ll give it a try later…

A VM or a live system (it could also help to try on another computer, more powerful, with the same environment and setup).

Works for me:

alex@portable-alex:~/codaz/Mozilla/b2g/devices/XperiaZ3c/B2G.L$ cat .config
MAKE_FLAGS=-j6
GECKO_OBJDIR=/home/alex/codaz/Mozilla/b2g/devices/XperiaZ3c/B2G.L/objdir-gecko
DEVICE_NAME=flamingo-l
PRODUCT_NAME=flamingo
alex@portable-alex:~/codaz/Mozilla/b2g/devices/XperiaZ3c/B2G.L$ ./build.sh
including device/sony/scorpion/vendorsetup.sh
including device/sony/amami/vendorsetup.sh
including device/sony/leo/vendorsetup.sh
including device/sony/honami/vendorsetup.sh
including device/sony/flamingo/vendorsetup.sh
including device/sony/aries/vendorsetup.sh
including device/sony/seagull/vendorsetup.sh
including device/sony/sirius/vendorsetup.sh
including device/sony/tianchi/vendorsetup.sh
including device/sony/scorpion_windy/vendorsetup.sh
including device/sony/eagle/vendorsetup.sh

============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=5.1.1
TARGET_PRODUCT=flamingo
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
TARGET_CPU_VARIANT=cortex-a7
TARGET_2ND_ARCH=
TARGET_2ND_ARCH_VARIANT=
TARGET_2ND_CPU_VARIANT=
HOST_ARCH=x86_64
HOST_OS=linux
HOST_OS_EXTRA=Linux-4.2.0-35-generic-x86_64-with-Ubuntu-15.10-wily
HOST_BUILD_TYPE=release
BUILD_ID=LVY48I
OUT_DIR=out

Blob setup script has changed, re-running
Backing up necessary files to backup-tianchi
adb server is out of date. killing…

  • daemon started successfully *
    error: device not found
    Pulling files from …/…/…/backup-tianchi
    cat: …/…/…/backup-tianchi/system/build.prop: Aucun fichier ou dossier de ce type
    Invalid system backup - Wrong base version found: .

Do this:

  1. Delete backup-tianchi
  2. Flash your device with a 18.5.C.0.25 FTF.
  3. Try building again

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.
alex@portable-alex:~/codaz/Mozilla/b2g/devices/XperiaZ3c/B2G.L$

Tried with aries-l but I get the same result. Double checking all the prerequisites didn’t help as well.

It is something on your side. Make sure you have properly synced everything.

Yes I guess so… I’m afraid the only thing to do is to delete the B2G folder and start everything anew… :weary:

On your first error:

build/core/combo/mac_version.mk:38: *****************************************************
build/core/combo/mac_version.mk:39: * Can not find SDK 10.6 at /Developer/SDKs/MacOSX10.6.sdk
build/core/combo/mac_version.mk:40: *****************************************************
build/core/combo/mac_version.mk:41: *** Stop… Stop.

Did you install this SDK?

I actually followed instrucions at https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_build_prerequisites#Xcode_7.2 only, thinking that Xcode 5.1.1 was not necessary… If that is the issue, I’ll have to switch to Linux, my hard-drive can’t afford two Xcode.