[FIXED] Why is ML firmware version at 2.3.RC5 in source code?

Started by vtrandal, August 20, 2012, 10:55:42 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

vtrandal

To get started experimenting with Magic Lantern development I went to http://www.magiclantern.fm/develop and downloaded the source code as follows:

hg clone -r unified https://bitbucket.org/hudson/magic-lantern

Since I don't have a camera at the moment I am not able to test it, but I think the firmware version in the source code is still at 2.3.RC5 because of the following grep command and it's results:

cd magic-lantern
grep -r --include=*.[ch] "v2\.3" .

./platform/5D2.212/version.c:const char build_version[] = "v2.3.RC5.2012Aug18.5D2212";
./platform/550D.109/version.c:const char build_version[] = "v2.3.RC5.2012Aug18.550D109";
./platform/50D.109/version.c:const char build_version[] = "v2.3.RC5.2012Aug18.50D109";
./platform/60D.111/version.c:const char build_version[] = "v2.3.RC5.2012Aug18.60D111";
./platform/500D.111/version.c:const char build_version[] = "v2.3.RC5.2012Aug18.500D111";
./platform/600D.102/version.c:const char build_version[] = "v2.3.RC5.2012Aug18.600D102";

When I had a camera I seem to recall it reporting the firmware version as 2.3 without RC5 appended, but now I am a little confused.

nanomad

Because the source code contains stuff that's newer than the released 2.3. We simply didn't bother checking the version number as it is done for releases only but we should bump it to 2.4 or 2.3-next
EOS 1100D | EOS 650 (No, I didn't forget the D) | Ye Olde Canon EF Lenses ('87): 50 f/1.8 - 28 f/2.8 - 70-210 f/4 | EF-S 18-55 f/3.5-5.6 | Metz 36 AF-5

nanomad

EOS 1100D | EOS 650 (No, I didn't forget the D) | Ye Olde Canon EF Lenses ('87): 50 f/1.8 - 28 f/2.8 - 70-210 f/4 | EF-S 18-55 f/3.5-5.6 | Metz 36 AF-5

vtrandal

Quote from: nanomad on August 20, 2012, 08:26:54 PM
Fixed in the latest revision

OK. How do I update my magic-lantern folder to get this fix? I'm hoping it's not necessary to clone the whole thing all over again.

And if I wanted to work with the exact source code for the ML 2.3 stable release? It seems prior to this fix v2.3.RC5 was on the tip and I guess v2.3 was released on a branch, no?

I say this because ML 2.3 stable release has Firmware Ver 1.0.2-ml-v2.3 on the 600D, but I got v2.3.RC5 when I cloned magic-lantern yesterday.

Francis

Not sure how to do it with hg tools but you can go to the bitbucket page. Under downloads, scroll past all the binaries to where it lists source revisions. The 2nd or 3rd revision listed will be marked v2.3.

vtrandal

Quote from: Francis on August 21, 2012, 02:44:46 AM
Not sure how to do it with hg tools but you can go to the bitbucket page. Under downloads, scroll past all the binaries to where it lists source revisions. The 2nd or 3rd revision listed will be marked v2.3.

Thanks Francis. I might do that. But first I will try a few things with "hg" to "diff" and "update" the "unified" branch I got yesterday.

I followed http://www.magiclantern.fm/develop and used "hg clone -r unified https://bitbucket.org/hudson/magic-lantern" to get the unified branch.

So far "hg diff" works nicely. I can see my small change to Makefile.inc to tweak the VERSION from RC5 to RC6.

But "hg update" does not result in any file updates, merges, or removals. So I'm not sure which branch current work is being done on.

Would anyone happen to know the name of the branch that ML 2.3 was released under? Or a tag or something?

adijiwa


vtrandal

Quote from: adijiwa on August 21, 2012, 05:02:21 AM
Try "hg pull" first before "hg update"

Thanks. But there's some problem with the toolchain after the pull and update:
vtrandal@ubuntu:~/magic-lantern$ make clean
vtrandal@ubuntu:~/magic-lantern$ make
make -C /home/vtrandal/magic-lantern/platform/60D.111
make[1]: Entering directory `/home/vtrandal/magic-lantern/platform/60D.111'
[ CPP      ]   magiclantern.lds
/bin/sh: /home/vtrandal/arm-toolchain462/bin/arm-none-eabi-gcc-4.6.2: not found
make[1]: *** [magiclantern.lds] Error 1
make[1]: Leaving directory `/home/vtrandal/magic-lantern/platform/60D.111'
make: *** [60D] Error 2

Prior to that the "hg pull" seemed to work OK as follows:
vtrandal@ubuntu:~/magic-lantern$ hg pull
pulling from https://bitbucket.org/hudson/magic-lantern
searching for changes
adding changesets
adding manifests
adding file changes
added 246 changesets with 600 changes to 83 files (+7 heads)

And the "hg update" seemed to work OK as follows:
vtrandal@ubuntu:~/magic-lantern$ hg update
11 files updated, 0 files merged, 0 files removed, 0 files unresolved

So, I'm not at all clear on how to properly use hg and what branch, tag, or revision I should be working with.

nanomad

EOS 1100D | EOS 650 (No, I didn't forget the D) | Ye Olde Canon EF Lenses ('87): 50 f/1.8 - 28 f/2.8 - 70-210 f/4 | EF-S 18-55 f/3.5-5.6 | Metz 36 AF-5

vtrandal

Quote from: nanomad on August 21, 2012, 09:22:31 AM
You didn't set up your compiler properly. Edit Makefile.inc

I followed the instructions here http://magiclantern.wikia.com/wiki/Build_instructions/Unified

My compiler setup was working fine until I did the pull and the update. What am I missing?

nanomad

EOS 1100D | EOS 650 (No, I didn't forget the D) | Ye Olde Canon EF Lenses ('87): 50 f/1.8 - 28 f/2.8 - 70-210 f/4 | EF-S 18-55 f/3.5-5.6 | Metz 36 AF-5

vtrandal

Quote from: nanomad on August 21, 2012, 07:24:48 PM
HG pulls and update tend to revert any changes made to Makefile.inc ;)

The pull followed by the update results in opening my default editor (gvim) and showing me a visual diff summarized as follows:
-VERSION:=v2.3.RC5... /* what is was when I cloned magic-lantern on Sunday */
-VERSION:=v2.3.RC6... /* what I changed it to on Monday */
+VERSION:=v2.3.NEXT... /* what I got from doing the pull and the update last night */

This seems like a fairly standard approach for resolving potential merge conflicts. In all, 10 of 11 files were updated without conflict. And yet, my build gets broken by the pull and update.

So I think there's a problem here and I don't know what the work around is yet. Any suggestions? How do I update my magic-lantern source code when change sets become available?

In the meantime I have rolled my Ubuntu installation back prior to the point where I damaged it by doing an hg pull followed by an update.

I think I can safely say developers are not doing an hg pull followed by an hg update if that is going to mess up their magic-lantern development environment. So then, what are they doing to keep their source code in sync with the magic-lantern repository?

nanomad

hg pull & update, that's what we do.
Sometimes followed by hg merge if we have conflicting changes or we want to merge development branches
EOS 1100D | EOS 650 (No, I didn't forget the D) | Ye Olde Canon EF Lenses ('87): 50 f/1.8 - 28 f/2.8 - 70-210 f/4 | EF-S 18-55 f/3.5-5.6 | Metz 36 AF-5