Difference between revisions of "Gentoo NDK"
PuffTheMagic (talk | contribs) |
|||
(6 intermediate revisions by 2 users not shown) | |||
Line 4: | Line 4: | ||
emerge crossdev | emerge crossdev | ||
</source> | </source> | ||
+ | |||
Setup some overlays for crossdev to write to and add PuffTheMagic's special overlay of custom ebuilds: | Setup some overlays for crossdev to write to and add PuffTheMagic's special overlay of custom ebuilds: | ||
Line 12: | Line 13: | ||
</source> | </source> | ||
− | Building | + | |
+ | Building your toolchain (works for apps and kernels): | ||
+ | |||
+ | It's reported that you should '''NOT''' use ''GNU make'' newer than '''version 3.81''' to compile the toolchain by User:Divilis[http://www.webos-internals.org/wiki/User:Divilis]. Reference[http://old.nabble.com/%22mixed-implicit-and-normal-rules%22-td29471694.html] | ||
+ | |||
+ | If you are using the GNU make 3.82, you should temporarily downgrade it with this command: | ||
+ | <source lang="bash"> | ||
+ | emerge -av =sys-devel/make-3.81 | ||
+ | </source> | ||
+ | |||
+ | If you are already using GNU make 3.81, just continuous: | ||
<source lang="bash"> | <source lang="bash"> | ||
− | crossdev -t arm-none-linux-gnueabi --libc 2.6.1 --gcc 4.3. | + | crossdev -t arm-none-linux-gnueabi --libc 2.6.1 --gcc 4.3.3-r2 --binutils 2.19.1-r1 --kernel 2.6.23-r3 |
</source> | </source> | ||
+ | |||
Once the toolchain is built run the following command: | Once the toolchain is built run the following command: | ||
Line 23: | Line 35: | ||
This will setup '/usr/arm-none-linux-gnueabi' as your staging directory. | This will setup '/usr/arm-none-linux-gnueabi' as your staging directory. | ||
− | Mask some packages so that | + | |
− | <source lang="bash> | + | Mask some packages so that you compile against the proper versions: |
+ | <source lang="bash"> | ||
echo '>=sys-libs/zlib-1.2.4' >> /usr/arm-none-linux-gnueabi/etc/portage/package.mask | echo '>=sys-libs/zlib-1.2.4' >> /usr/arm-none-linux-gnueabi/etc/portage/package.mask | ||
</source> | </source> | ||
+ | |||
+ | |||
+ | == Troubleshooting == | ||
+ | ''empty'' |
Latest revision as of 07:00, 28 May 2012
Install the latest version (sys-devel/crossdev-99999999) of crossdev: <source lang="bash"> echo 'sys-devel/crossdev **' >> /etc/portage/package.keywords emerge crossdev </source>
Setup some overlays for crossdev to write to and add PuffTheMagic's special overlay of custom ebuilds:
<source lang="bash">
mkdir /usr/local/portage
git clone git://git.webos-internals.org/puffthemagic/portage-overlay.git /usr/local/puff
echo 'PORTDIR_OVERLAY="/usr/local/portage /usr/local/puff ${PORTDIR_OVERLAY}"' >> /etc/make.conf
</source>
Building your toolchain (works for apps and kernels):
It's reported that you should NOT use GNU make newer than version 3.81 to compile the toolchain by User:Divilis[1]. Reference[2]
If you are using the GNU make 3.82, you should temporarily downgrade it with this command: <source lang="bash"> emerge -av =sys-devel/make-3.81 </source>
If you are already using GNU make 3.81, just continuous: <source lang="bash"> crossdev -t arm-none-linux-gnueabi --libc 2.6.1 --gcc 4.3.3-r2 --binutils 2.19.1-r1 --kernel 2.6.23-r3 </source>
Once the toolchain is built run the following command:
<source lang="bash">
emerge-wrapper --init
</source>
This will setup '/usr/arm-none-linux-gnueabi' as your staging directory.
Mask some packages so that you compile against the proper versions:
<source lang="bash">
echo '>=sys-libs/zlib-1.2.4' >> /usr/arm-none-linux-gnueabi/etc/portage/package.mask
</source>
Troubleshooting
empty