![]() |
Gentoo x86_64 SDK
Hi, I'm new here, I've been lurking around and recently decided that I'm going to get an n900 - so I want to learn how to develop for it. I'm currently running a gentoo x86_64 install on my computer, there isn't really that much literature that isn't ancient on the web about how to successfully install all of the packages required on gentoo.
I was wondering if anyone could point me to a guide that was less than a year old or that detailed all requirements for a fremantle SDK install on 64-bit Gentoo install? Or you could just tell me :) Thanks in advance for your help! -Court |
Re: Gentoo x86_64 SDK
If you install apt-get, dpkg, and follow Maemo 5 Final SDK Manual Installation instructions you should get a working Scratchbox and SDK environment.
Feel free to update the documentation on wiki to include Gentoo specific workarounds, or perhaps better please update the Gentoo documentation and link to it from Maemo wiki. |
Re: Gentoo x86_64 SDK
The other option, and what I've gone for on top of a Fedora system, is to install Ubuntu in a VM and use the provided scripts to install onto that. If you then SSH into the VM you can have it forward the X traffic back to a copy of Xephyr running on the host.
Aside from giving the SDK an Ubuntu/Debian style environment it neatly contains it and avoids having to run the installer scripts as root on your actual system. |
Re: Gentoo x86_64 SDK
Quote:
In your case (RPM-based distribution) there is also Alien and this concerts .deb to .rpm, and vice versa. I vaguely remember there is a way to get a full Debian chroot in Gentoo using Portage, and FreeBSD Ports Collection. After SDK is installed the user could just move /path/to/chroot/debian/scratchbox out of the chroot into host /scratchbox. Although some stuff then must be copied (and probably ported) over as well such as /etc/init.d/scratchbox-core |
Re: Gentoo x86_64 SDK
UPDATE (Oct 19, 2009): DON'T use these instructions, they contain some errors and omissions, I'm currently working on updated instructions.
Hi, I recently installed the maemo 5 SDK on Gentoo amd64, let me try to reconstruct what I did to get it done. Maybe we can add it to the wiki after some editing. 1. Re-emerge x11-base/xorg-server with the "kdrive" USE flag enabled, this will give you Xephyr. 2. Instead of using the scratchbox installer from maemo, install the following using portage (you may have to unmask some packages): Code:
dev-embedded/scratchbox Code:
./maemo-scratchbox-install_5.0beta.sh –u USER -F -s /opt/scratchbox Code:
/etc/init.d/scratchbox start Code:
/opt/scratchbox login I hope this helps. |
Re: Gentoo x86_64 SDK
Quote:
Thanks for the howto btw. After feedback in this thread I'll merge it into Maemo wiki. Gentoo documentation folks could link then from Gentoo Scratchbox or Maemo forums threads or wiki to the Maemo wiki entry. It is important to keep one central place of info and let others link to it, else we get out of sync, so if it is in the Maemo wiki please help keeping it up to date as most folks here, as well as Nokia internally, run SDK on Debian-based Linux, either native or by using VM. |
Re: Gentoo x86_64 SDK
Thanks for the responses everyone!
Quote:
Thanks again everyone! |
Re: Gentoo x86_64 SDK
FettsVett,
Hold on with installing it as described above, I think there may be some things missing. I will install the SDK on a second Gentoo amd64 system tonight and then update the instructions. allnameswereout, You are welcome, I will test if the patch works after I updated the instructions. |
Re: Gentoo x86_64 SDK
Or it may take a bit longer, I ran into some weird problems..
|
Re: Gentoo x86_64 SDK
Quote:
http://wiki.maemo.org/Documentation/...K_Installation |
Re: Gentoo x86_64 SDK
allnameswereout,
I just verified everything with the beta installer :-( maybe some else can test the following with the final version. Please look at the final instructions http://wiki.maemo.org/Documentation/...K_Installation and adjust the SDK installation part below. Here are updated instructions, please use these not the instructions above: 1. Re-emerge x11-base/xorg-server with the "kdrive" USE flag enabled, this will give you Xephyr. 2. Install app-arch/dpkg (Debian package maintenance system), this is needed by the maemo 5 SDK installer. 3. Instead of using the scratchbox installer from maemo, install scratchbox using portage. Unfortunately, scratchbox-devkit-git and scratchbox-devkit-svn are not yet in portage, so we roll our own ebuilds (assuming PORTDIR_OVERLAY="/usr/portage/local"): Create /usr/portage/local/dev-embedded/scratchbox-devkit-git/scratchbox-devkit-git-1.0.1.ebuild and paste the following into it: Code:
SBOX_GROUP="sbox" Code:
SBOX_GROUP="sbox" Code:
ebuild /usr/portage/local/dev-embedded/scratchbox-devkit-git/scratchbox-devkit-git-1.0.1.ebuild digest /etc/portage/package.keywords/maemo5 : Code:
dev-embedded/scratchbox ~* Code:
=dev-embedded/scratchbox-1.0.16 Install everything: Code:
emerge -av scratchbox scratchbox-devkit-apt-https scratchbox-devkit-debian scratchbox-devkit-doctools scratchbox-devkit-perl scratchbox-devkit-qemu scratchbox-toolchain-cs2007q3-glibc2_5 scratchbox-toolchain-cs2007q3-glibc2_5 scratchbox-devkit-git scratchbox-devkit-svn Code:
/etc/init.d/scratchbox start and where to download the installer). Install the SDK as follows: Code:
./maemo-sdk-install_5.0beta2.sh -s /opt/scratchbox/ http://wiki.maemo.org/Documentation/...K_Installation 6. Install the nokia-binaries (URL shown by the installer script, see instructions for more info) 7. Follow the instructions "2. Starting/shutting down the SDK UI", but use Code:
/opt/scratchbox login Note that the versions of the scratchbox packages installed are slightly different than those installed by the maemo scratchbox installer. So far I haven't done any serious development using the SDK setup as described here nor have I tried compiling and running packages for the ARM target (unfortunately I don't have a N900 to test it). |
Re: Gentoo x86_64 SDK
Quote:
1. (as root) Re-emerge x11-base/xorg-server with the "kdrive" USE flag enabled, this will give you Xephyr. 2. (as root) Install app-arch/dpkg (Debian package maintenance system), this is needed by the maemo 5 SDK installer. 3. (as root) Instead of using the scratchbox installer from maemo, install scratchbox using portage. Unfortunately, scratchbox-devkit-git and scratchbox-devkit-svn are not yet in portage, so we roll our own ebuilds (assuming make.conf specifies PORTDIR_OVERLAY="/usr/portage/local"): Create /usr/portage/local/dev-embedded/scratchbox-devkit-git/scratchbox-devkit-git-1.0.1.ebuild and paste the following into it: Code:
SBOX_GROUP="sbox" Code:
SBOX_GROUP="sbox" Code:
ebuild /usr/portage/local/dev-embedded/scratchbox-devkit-git/scratchbox-devkit-git-1.0.1.ebuild digest /etc/portage/package.keywords/maemo5 : Code:
## maemo5 Code:
emerge -av scratchbox scratchbox-devkit-apt-https scratchbox-devkit-debian scratchbox-devkit-doctools scratchbox-devkit-perl scratchbox-devkit-qemu scratchbox-toolchain-cs2007q3-glibc2_5 scratchbox-toolchain-cs2007q3-glibc2_5 scratchbox-devkit-git scratchbox-devkit-svn Code:
sysctl abi.vsyscall32 Code:
sysctl abi.vsyscall32=0 Code:
abi.vsyscall32=0 5. (as root) Start scratchbox: Code:
/etc/init.d/scratchbox start Code:
gpassed sbox -a YOURUSERNAME Code:
/opt/scratchbox/sbin/sbox_adduser YOURUSERNAME Code:
./maemo-sdk-install_5.0.sh -s /opt/scratchbox/ 9. (as YOURUSERNAME) login to scratchbox: Code:
/opt/scratchbox/login Code:
[sbox-FREMANTLE_X86: ~] > sb-conf select FREMANTLE_ARMEL Code:
[sbox-FREMANTLE_ARMEL: ~] > sb-conf select FREMANTLE_X86 |
Re: Gentoo x86_64 SDK
It appears that scratchbox-devkit-git and scratchbox-devkit-svn are now available in portage, so you can skip step 3. I am currently trying an install...
Ok, was able to get everything installed and working. Oops, spoke too soon. The scratchbox environment seems to work, can start the maemo GUI. Successfully compiled the helloworld.c and gtk_helloworld-1.c for x86 target. But compile fails for the ARM target. It fails with: Code:
[sbox-FREMANTLE_ARMEL: ~/MyDocs] > gcc -Wall helloworld.c -o helloworld |
Re: Gentoo x86_64 SDK
Looks like the gentoo ebuild uses an older version of the arm toolchain (1.0.12-10 instead of 1.0.12+lt1-12). I'll try modifying the ebuild to use the newer version and see whether this fixes it.
|
Re: Gentoo x86_64 SDK
Hi Rob1n, I just tried doing what you suggested by creating an overlay with the 1.0.12+lt1-12 package and it installed successfully. But it still fails on compile. I found a quick way to test it is to do this in /opt/scratchbox:
Code:
./compilers/cs2007q3-glibc2.5-arm7/bin/arm-none-linux-gnueabi-gcc packages/hello.c -o /tmp/helloArm |
Re: Gentoo x86_64 SDK
I've found the issue - it would appear to be stripping the binaries/libraries during install, which presumably doesn't work properly for ARM files.
Adding: Code:
RESTRICT="strip binchecks" |
Re: Gentoo x86_64 SDK
Cool, hopefully that fixes it then. Will try it out when I get a chance. Is this install process documented in a wiki page anywhere?
Ok, I modified the ebuild, did emerge, quick check works. Installed fremantle from nokia, now can compile and run under both targets! |
Re: Gentoo x86_64 SDK
Quote:
|
Re: Gentoo x86_64 SDK
Quote:
|
Re: Gentoo x86_64 SDK
Nice to see some Gentoo folks around here.
And thanks for documenting this. I'll try it and report back as soon as I ported my favorite editor "joe" to memo :-) Cheers Bjoern |
Re: Gentoo x86_64 SDK
I get two errors when running the install:
Code:
wget tool in path... /usr/bin/wget Code:
Scratchbox sb-conf tool works... yes Do I have to worry about these two errors above? Another thing I am concerned about: Code:
root@repulsion $ sysctl abi.vsyscall32 How to resolve this (The last two actually). Cheers Bjoern |
Re: Gentoo x86_64 SDK
Quote:
Quote:
|
Re: Gentoo x86_64 SDK
Quote:
Is ist sufficient to install it now or do I have to reinstall the Maemo-sdk? Thanks for the quick reply. Kind regards Bjoern |
Re: Gentoo x86_64 SDK
I don't think you actually need to install it at all. It's only used in the SDK install if you're installing to the default directory (without specifying the -s option), otherwise it downloads tar archives instead. Everything else is done inside the scratchbox, which has its own copy of dpkg.
|
Re: Gentoo x86_64 SDK
I'll try it. Lets see if I can come up with my first package this weekend :-)
-writing an ebuild is so much easier- Thanks for the help Cheers Bjoern |
Re: Gentoo x86_64 SDK
1 Attachment(s)
I've tried to install sdk and it looks like that latest sdk requires
scratchbox-devkit-autotools-legacy, scratchbox-devkit-python-legacy, and newer scratchbox(>=1.0.26). Simple ebuilds for legacy autotools and python are into attachement. |
All times are GMT. The time now is 23:24. |
vBulletin® Version 3.8.8