Problem with build/compile instructions (in Ubuntu)

I invested time to build/compile Copter 3.3 for Pixhawk , now I want to invest $ for your copter 3.4 build instructions ! please help !

Start here

http://ardupilot.org/dev/docs/building-the-code.html

May I propose a deal? Say, I will provide my own instructions on how to build it w/o installing any compiler toolchain on your OS. And then I will provide you my personal support until you will have it done.

In case of success you will donate your $$ to ardupilot project instead of paying it to me.

P.s. all my instructions and support will be published here.

Will that do?

Thanks, I couldn’t have written any better :slight_smile:

Yes, but isn’t installing a compiler toolchain on my OS the real trick ? I am not sure I understand.

Usually you have to install toolchain on your OS. But there is a useful trick about it. It permits to don’t mess with toolchain installation, exact toolchain versions issues, old versions cleanup and so on. And this trick makes it really easy. No any magic, all parts are already there and automated. :wink: Hope you curious enough now.

Just checked on Win7 of my son, it works.

In case we have a deal I need to know your OS name and version, and RAM size of your computer. Then I going to provide you instructions.

I use Ubuntu 14.04 with 512 Mb (expandable) of RAM without a graphical
interface (command line only), unless you really really really prefer I
use Windows 7 Pro 64bits with 3.4 Gb of RAM.

What doesn’t work in http://ardupilot.org/dev/docs/building-px4-for-linux-with-make.html
for you ?

@trancept i will try your solution immediately

@dipspb by the way, thanks for your offer ! is $100 USD a sufficient contribution ?

No idea, amount of donation is totally up to you.

Ubuntu is ok, may I ask you extend your RAM to 4Gb? 2 Gb at least. My solution is based on automated vagrant VM working inside of VirtualBox. Pretty unsure 512Mb will be enough. Going to check if a lack of GUI is ok to VirtualBox.

Will respond today later.

Guess 512Mb RAM could be a problem

I tried compiling my code for PixRacer on windows and even though it compiled normally after loading it and trying to take off the copter would fly into the air and tip over and crash into the ground. After it doing that a couple of times I started bench testing before I took it out.
I found compiling on Ubuntu fixed the problem. So now I compile on Ubuntu on a stick so I don’t need another computer just for compiles.
I think the PixRacer compiles on windows has been corrected but my faith in compiling on windows is not there.

Mike

@dipspb I can have 2Gb in an instant because I am using Ubuntu in the cloud, even if cloud memory is $11/month/Gb !

Ok. Will try to do it with 512 Mb RAM. Is your Ubuntu 32bit vs 64bit (i386 vs amd64 image) ?
Can you re-install ubuntu from scratch to have clean image?

@dipspb Ubuntu 14.04 64bit , which can be reinstalled from scratch in 120 seconds on my Ubuntu in the cloud. I can also have 32 bit ubuntu …easy cloud ubuntu.

Here is solution that will not require to extend RAM of your ubuntu server. I checked it and it works on ubuntu-14.04.4-server-amd64 with 512Mb RAM like a charm:

  1. reinstall your ubuntu server from scratch
  2. ssh into your ubuntu server and then run commands below one-by-one
  3. wget https://raw.githubusercontent.com/dipspb/ardupilot/Copter-3.4-init-tools-script/Tools/vagrant/init-tools.sh
  4. chmod a+x ./init-tools.sh
  5. sudo ./init-tools.sh
  6. source $HOME/.profile
  7. git clone https://github.com/ArduPilot/ardupilot.git
  8. cd ardupilot
  9. git checkout Copter-3.4 ; git submodule sync ; git submodule update --init --recursive
  10. cd ArduCopter
  11. make clean ; make px4-v2
  12. *ls -l .px4

Initially I intended to use original script from here SITL Vagrant tool set https://github.com/ArduPilot/ardupilot/blob/Copter-3.4/Tools/vagrant/initvagrant.sh
but it seems there are some issues with packages needed to build 3.4 on ubuntu 14.04.
So I reworked it and created my own. It will not provide you SITL features, just ability to
build the image.

Hope it helps. Let me know in case you will have problems with it.

Later I will describe how to compile it w/o installing any toolchain on your OS. It will require a computer that is capable to run VirtualBox and Vagrant, it needs I believe 3Gb RAM at least (haven’t checked it against 2Gb RAM) and probably a GUI.

@maxmay as pointed out in your other thread:
http://discuss.ardupilot.org/t/is-make-compile-different-from-copter-3-3/12421/5

Start with these instructions:
http://ardupilot.org/dev/docs/building-px4-for-linux-with-make.html
3.4 uses waf, so for the build steps, follow this:

It’s very straight forward, if you get any problems just post the errors here and we can help you.

It is definitely not so much straightforward as it declared. Here is my attempt on brand new just installed ubuntu-14.04.4-server-amd64 with 512Mb RAM:

dipspb@ubt1404srv512:~$ sudo apt-get update
.
.
.
dipspb@ubt1404srv512:~$ sudo apt-get -y install git
.
.
.
dipspb@ubt1404srv512:~$ git clone https://github.com/ArduPilot/ardupilot.git
dipspb@ubt1404srv512:~$ cd ardupilot/
dipspb@ubt1404srv512:~/ardupilot$ git checkout Copter-3.4
Branch Copter-3.4 set up to track remote branch Copter-3.4 from origin.
Switched to a new branch 'Copter-3.4'
dipspb@ubt1404srv512:~/ardupilot$ 
dipspb@ubt1404srv512:~/ardupilot$ # === Not sure waf will synchronize git submodules so doing by hands
dipspb@ubt1404srv512:~/ardupilot$ git submodule sync
dipspb@ubt1404srv512:~/ardupilot$ git submodule update --init --recursive
.
.
.
dipspb@ubt1404srv512:~/ardupilot$ ./waf configure --board px4-v2
Setting top to                           : /home/dipspb/ardupilot 
Setting out to                           : /home/dipspb/ardupilot/build 
Autoconfiguration                        : enabled 
Setting board to                         : px4-v2 
Checking for program 'arm-none-eabi-ar'  : not found
Could not find the program ['arm-none-eabi-ar']
(complete log in /home/dipspb/ardupilot/build/config.log)
dipspb@ubt1404srv512:~/ardupilot$ # === Umm.. shouldn't it install everything needed?
dipspb@ubt1404srv512:~/ardupilot$ # === Nevermind, let's give it a try.
dipspb@ubt1404srv512:~/ardupilot$ ./waf copter
The project was not configured: run "waf configure" first!
dipspb@ubt1404srv512:~/ardupilot$ # === NO LUCK!

It seems it requires a toolchain to be installed first, but so far I can see the toolchain issue was initial problem of @maxmay .

So link to the waf document cannot be considered as a solution for him, because waf document doesn’t have even a mention on toolchain installation requirements or steps. Instead it makes impression that everything is automated and waf will take care on toolchain by itself.

I’m sorry so much, but it couldn’t be referred as working solution yet. Probably due to documentation issue.

regards,
Dmitry Prokhorov