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

Carsten Haitzler c.haitzler at samsung.com
Fri Dec 9 05:34:56 GMT 2016


On Fri, 09 Dec 2016 05:28:19 +0000
윤지영 <jy910.yun at samsung.com> wrote:

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

but can the toolchain be built for arm? can it run on arm? does it ONLY
run on x86-64 - why only on x86-64 if so?
 
> > > 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