Bitbucket to GitHub Transition

Firmware/software/electronics/mechanics
Post Reply
bcdebusk
Beginner
Posts: 13
Joined: Thu Jul 31, 2014 10:45 am

Bitbucket to GitHub Transition

Post by bcdebusk »

I have the vast majority of the developer tools up and running on Ubuntu 64 bit.

Originally I got the code by using:

hg clone https://bitbucket.org/bitcraze/crazyflie-pc-client
hg clone https://bitbucket.org/bitcraze/crazyflie-firmware
hg clone https://bitbucket.org/bitcraze/crazyflie-bootloader
hg clone https://bitbucket.org/bitcraze/crazyradio-firmware

And everything compiled fine with make.

But then I learned the latest code is now on Github, so I cloned that code. But when you use "make" on that code, you get the following errors:

bcdebusk@ubuntu:~/Github/crazyflie-bootloader$ make
VER. version.c
abort: there is no Mercurial repository here (.hg not found)
CC version.o
LD cloader.elf
COPY cloader.hex
COPY cloader.bin
abort: there is no Mercurial repository here (.hg not found)
Build : () CLEAN
text data bss dec hex filename
6672 20 11040 17732 4544 cloader.elf

It appears the makefile depends on the code being in a Mercurial repository. How do I fix this? Are these truly fatal errors anyway?

Thank you in advance,

Brian
bcdebusk
Beginner
Posts: 13
Joined: Thu Jul 31, 2014 10:45 am

Re: Bitbucket to GitHub Transition

Post by bcdebusk »

There's also a glitch compiline the crazyradio firmware:

bcdebusk@ubuntu:~/projects/crazyradio-firmware/firmware$ make
mkdir -p bin
sdcc -Iinc/ --model-large --std-sdcc99 -c src/main.c -o bin/main.rel
src/main.c:45:2: error: #error Compiling with SDCC other than 3.2 is not supported due to a bug when launching the bootloader
make: *** [main.rel] Error 1
arnaud
Bitcraze
Posts: 2538
Joined: Tue Feb 06, 2007 12:36 pm

Re: Bitbucket to GitHub Transition

Post by arnaud »

Hi,

The Crazyradio glitch is not due to Git, it is due to a bug preventing launching the USB bootloader that did happen when using a different version of SDCC. If you have the hardware to flash the radio with SPI you can remove this #error from the code (it should not be required anymore but I did not do enough extensive test to fix it).

For the Crazyflie, yes the makefile is running a script that fetches the repos version. this commit did make the script compatible but it could be that not all branches have it applied: https://github.com/bitcraze/crazyflie-f ... 643fccfab9
Either you should compile the latest master or you can try to cherry-pick this commit in your branch.

Regards,
Arnaud
bcdebusk
Beginner
Posts: 13
Joined: Thu Jul 31, 2014 10:45 am

Re: Bitbucket to GitHub Transition

Post by bcdebusk »

arnaud wrote:Hi,

The Crazyradio glitch is not due to Git, it is due to a bug preventing launching the USB bootloader that did happen when using a different version of SDCC. If you have the hardware to flash the radio with SPI you can remove this #error from the code (it should not be required anymore but I did not do enough extensive test to fix it).

For the Crazyflie, yes the makefile is running a script that fetches the repos version. this commit did make the script compatible but it could be that not all branches have it applied: https://github.com/bitcraze/crazyflie-f ... 643fccfab9
Either you should compile the latest master or you can try to cherry-pick this commit in your branch.

Regards,
Arnaud
Thank you for your response.

I just fetched the latest master on GitHub for crazyfle-bootloader and ran make. I received the same error message again:

bcdebusk@ubuntu:~/Github/crazyflie-bootloader$ make
VER. version.c
abort: there is no Mercurial repository here (.hg not found)
CC version.o
LD cloader.elf
COPY cloader.hex
COPY cloader.bin
abort: there is no Mercurial repository here (.hg not found)
Build : () CLEAN
text data bss dec hex filename
6672 20 11040 17732 4544 cloader.elf

But interestingly enough, all the cloader.* files have time and date of when I ran make. So did it complete correctly?
arnaud
Bitcraze
Posts: 2538
Joined: Tue Feb 06, 2007 12:36 pm

Re: Bitbucket to GitHub Transition

Post by arnaud »

Hi,

Sorry, I did not see that it was for the bootloader, it has not been touched for a while (it just works ...).

The script would only modify src/version.c. For the bootloader if the script fails then the build will just use the original src/version.c (that contains empty version string) and the build is succeeding (you can see the size of the compiled program on the latest line).

The bootloader scripts needs to be converted to git. But yes the compilation was completed.

/Arnaud
Post Reply