Building B2G OS for Flamingo (Xperia E3)


#1

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!


(Lissyx) #2

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


(Lissyx) #3

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


#4

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.


(Alberto Pastor) #5

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


#6

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


(Alberto Pastor) #7

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


#8

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.

(Lissyx) #9

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

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

If so, maybe something broke for Flamingo?


#10

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


(Lissyx) #11

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


(Lissyx) #12

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.


#13

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


(Lapineige) #14

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


(Lissyx) #15

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$


#16

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


(Lissyx) #17

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


#18

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


(Fabrice) #19

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?


#20

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.