[Dev] Fix host architecture to x86_64 for building arm target

윤지영 jy910.yun at samsung.com
Fri Dec 9 05:28:19 GMT 2016



 
> --------- Original Message ---------
> Sender : 하이츨러 <c.haitzler at samsung.com> Master/S/W Platform팀(S/W센터)/삼성전자
> Date   : 2016-12-09 12:08 (GMT+9)
> Title  : Re: [Dev] Fix host architecture to x86_64 for building arm target
>  
> On Fri, 09 Dec 2016 03:05:54 +0000
> 윤지영 <jy910.yun at samsung.com> wrote:
>  
> >  
> > Dear all,
>> > > is it x86-64 that it needs or just a large memory address space
> > > (like chromium for example)?  
>> > .NET is a little different.
> > At present, .NET only provides toolchains for x86-64. To create arm
> > binaries for .NET runtime and libraries, x86-64 libraries are needed
> > in the GBS arm environment. To do so, we use the qemu-accel package
> > for x86_64, which installs the libraries for x86-64 in /emul/
> > directory on arm GBS environment and .NET toolchains link them.
>> > We have tried to support .NET toolchains for arm. However, even if we
> > have .NET toolchains for arm, there is a high possibility of using
> > x86-64 toolchain as usual due to build speed issue. In the light of
> > our experience, it took more than 24 hours to build the runtime, but
> > it did not succeed.
>  
> ok but it isn't something specific like "it uses x86-64 assembly and
> thus only works on x86-64". it's just a question of building the
> toolchain for arm or i586 or mips or any other architecture - right?

More specifically, it does not create a toolchain for arm.
The toolchain runs on x86_64 called 'dotnet' creates arm binaries and C# managed dlls.

>  
> > Best regards.
> > Jiyoung Yun.
> >  
> >  
> > --------- Original Message ---------
> > Sender :
> > 하이츨러 <c.haitzler at samsung.com> Master/S/W Platform팀(S/W센터)/
> > 삼성전자 Date   : 2016-12-08 18:28 (GMT+9)
> > Title  : Re: [Dev] Fix host architecture to x86_64 for building arm target 
> > On Thu, 08 Dec 2016 18:11:46 +0900
> > ____ <chan45.lee at samsung.com> wrote:
> >  
> > > Dear Tizen developers,
> > > 
> > > Currently we are using two host environments, as you know, i586 and
> > > x86_64. But, with i586, there are many kinds of requirements and
> > > problems. So I’d like to fix host architecture to x86_64 only.
> > > Please note that, it’s for only cross build environment for arm
> > > target not i586 and x86_64 target.
> > > 
> > > This change is applied from Dec 12 to all Tizen:3.0:* and Tizen:*
> > > project. Please see the details below.
> > > 
> > > Changes
> > > ========
> > > 
> > > fix host architecture to x86_64 when using qemu / qemu-accel /
> > > python-accel for arm target. It affects,
> > > - Tizen:3.0:Base and Tizen:3.0:[Mobile/Wearable/Common/IVI/TV]
> > > - Tizen:Base and Tizen:[Mobile/Wearable/Common/IVI/TV]
> > > 
> > > Reasons
> > > ========
> > > 
> > > 1. dotnet requirement
> > > - They must use x86_64 qemu / accel to build their some packages such
> > > as coreclr  
> >  
> > is it x86-64 that it needs or just a large memory address space (like
> > chromium for example)?
> >  
> > > 2. 64bit target requirement
> > > - It is necessary to use x86_64 qemu / accel for 64bit target.
> > > 3. Toolchain development
> > > - It’s hard to manage memory with i586 qemu / accel because Some
> > > toolchain technology such as LTO, Sanitizer family development needs
> > > large memory.
> > > 4. chromium-efl build failure
> > > - Same as 3). because sometimes it needs large memory to build.
> > >  
> > > Issues & Solutions
> > > ===================
> > >  
> > > 1. It doesn’t support i586 host
> > > - x86_64 qemu / qemu-accel / python-accel packages are installed to
> > > host, and they cannot be executed on i586 architecture.
> > > - Strongly recommended reinstalling x86_64 OS
> > > - For i586 GBS users, there is a guide using x86 qemu / qemu-accel /
> > > python accel. Please see the below guide
> > > - For i586 OSC users, I’m sorry I can’t help them. Please reinstall
> > > x86_64 OS. 
> > > Change date
> > > ============
> > > Next week (12/12~)
> > >  
> > >  
> > > GBS build guide for i586 GBS user
> > > ===================================
> > >  
> > > 1. copy build conf to local directory
> > > - You can find build conf at the below download server,
> > >   : e.g., for target-TM1, [hash]-build.conf.gz in
> > > http://download.tizen.org/snapshots/tizen/mobile/latest/repos/target-
> > > TM1/packages/repodata/
> > > - Or you can use below build conf after building once,
> > >   : /var/tmp/[userid]-gbs/[profile name in .gbs.conf].conf 
> > >   : [build root in .gbs.conf]/local/BUILD-ROOTS/scratch.*/[profile
> > > name in .gbs.conf].conf 
> > > 2. modify build_hostarch like below
> > > ------------------------------------------------
> > > …
> > > - %define build_hostarch x86_64
> > > + %define build_hostarch x86
> > > Macros:
> > > - %build_hostarch x86_64
> > > + %build_hostarch x86
> > > :Macros
> > > …
> > > ------------------------------------------------
> > > 
> > > 3. gbs build with local build conf
> > > ------------------------------------------------
> > > $ gbs build -A [arch] -D [build conf path/name]
> > > ------------------------------------------------
> > > 
> > > - e.g., 
> > > ------------------------------------------------ 
> > > $ gbs build -A armv7l -D ./public_3.0_mobile_tm1.conf
> > > ------------------------------------------------
> > > 
> > > - Or you can add ‘buildconf’ in .gbs.conf like,
> > > ------------------------------------------------
> > > [profile.profile name]
> > > + buildconf = [build conf path/name] 
> > > ------------------------------------------------
> > > 
> > > Thanks,
> > > Chan Lee
> > > 
> > > 
> > > _______________________________________________
> > > Dev mailing list
> > > Dev at lists.tizen.org
> > > https://lists.tizen.org/listinfo/dev  
> >  
> > _______________________________________________
> > Dev mailing list
>Dev at lists.tizen.org
>https://lists.tizen.org/listinfo/dev
> >  
 


More information about the Dev mailing list