Gettings started as developer

Started by Strahlex, September 26, 2012, 07:12:54 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

scrax

I have problem too in understanding how mercurial works, specially for the pull request.
After a first period using terminal only i've switched to a gui app

On osx I use Source Tree as GUI for hg.
Step 1
From bitbucket on ML pages press clone button and chose clone in SourceTree, and then i select "tip" as the branch to update when cloning.
ST will fork and update the fork
Step 2 Make changes
Step 3 Commit changes, pull from ML, update the fork, merge ML code with the one of the fork
Step 4 If the Merge has conflicts to solve them I select resolve with external merger tool in SourceTree and it will load the two version in FileMerge (a gui app that shows diff). 90% of times FileMerge solves the conflicts without the need to make nothing.
Step 5 Pull Request.

The problem I have is that so far I can't make a pull request of only some commits I did to my fork, leaving out things that I use but are not good in the stable release, or because there is something that don't works good and so on. As a workaround I've started to make a clone for each feat request i'll do, and then manually add to it only those commits from my principal fork I want to pull.
I'm using ML2.3 for photography with:
EOS 600DML | EOS 400Dplus | EOS 5D MLbeta5- EF 100mm f/2.8 USM Macro  - EF-S 17-85mm f4-5.6 IS USM - EF 70-200mm f/4 L USM - 580EXII - OsX, PS, LR, RawTherapee, LightZone -no video experience-

nanomad

You are supposed to make forks (or patch queques as bitbucket calls them) for each feature and ask for a pull request on that
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

scrax

Quote from: nanomad on January 01, 2013, 04:41:32 PM
You are supposed to make forks (or patch queques as bitbucket calls them) for each feature and ask for a pull request on that

This is ok but my problem is that I'm not always working on a feat at time, for example CUSTOM_MODES and DIALOG_OPTION are related since they share some part of code (since what they do and show change when one of the two is not active).
Also during the develop could happen that I'll make minor changes like renaming a label, that are unrelated at all with the feat.
This will bring me to a fork that to be pulled needs to be divided in 2 or 3 pull request.
Actually I have to make two other fork, and manually go back on my fork looking at each commit and redo it manually on the new fork.
WIth small changes it's not a problem, but for example for pull request #39, how can i separe things from it?

Another problem is with the differences growing until the pull request is accepted. After the pull request i've done other changes to the function pulled and also ML code changes, so this could make conflict with the pull request and having the pull request in another fork is blocking me from updating the changes that are on my main forkthat has also other new features I'm tring to add (so they have not to be pulled yet).

I can't work on 3 fork with 3 different feat being developed, since I'll not know if the feat are working good together.

For me it will be more easy if there is a way to pull request only some commit I did, instead of the diff from my fork and the main tree. Maybe saving the commit as a patch and the use that for the pull request but don't know how.
I'm using ML2.3 for photography with:
EOS 600DML | EOS 400Dplus | EOS 5D MLbeta5- EF 100mm f/2.8 USM Macro  - EF-S 17-85mm f4-5.6 IS USM - EF 70-200mm f/4 L USM - 580EXII - OsX, PS, LR, RawTherapee, LightZone -no video experience-

scrax

Quote from: scrax on January 01, 2013, 04:59:35 PM
... ML code changes, so this could make conflict with the pull request...

Seems i've called it  :-\ ,
pull request #39 now is conflicting with main tree cause the fix merged from mee ok. So i have to remove it again, make a new fork, make all the changes again manually and then again submit it, hoping that tomorrow no one changes somethings once more...
Is this the right procedure?
Because if it is for me looks easier to go on with my changes on my fork and don't pull request nothing, and solve conflict when mergin with main tree.
Then if main devs likes what i did they can bring it from my fork.

By the way, are the custom_mode and dialog_option features so bad that they didn't get pulled like others requests?
I'm asking me if I should make that pull request for the third time or give up, since seems it's not interesting or don't know what enough.
I'm using ML2.3 for photography with:
EOS 600DML | EOS 400Dplus | EOS 5D MLbeta5- EF 100mm f/2.8 USM Macro  - EF-S 17-85mm f4-5.6 IS USM - EF 70-200mm f/4 L USM - 580EXII - OsX, PS, LR, RawTherapee, LightZone -no video experience-

nanomad

They are not bad, they are quite big and potentially dangerous so I didn't feel like pulling it myself (and sorry for the conflict). As I wrote, I was waiting for more feedbacks (like it happpened with the help-to-vram pull request)
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

scrax

Quote from: nanomad on January 01, 2013, 07:22:43 PM
They are not bad, they are quite big and potentially dangerous so I didn't feel like pulling it myself (and sorry for the conflict). As I wrote, I was waiting for more feedbacks (like it happpened with the help-to-vram pull request)
nanomad, I was not blaming your work, I know it was waiting more revision, but what I'm trying to find is a way to separe the changes into more fork easily, so they can be better managed when added to the main tree.
The problem is that i can't use well hg for how i work (for lack of experience I suppose), so need to find a better workflow for my edits.

I'm now trying to make diff files from the commits in my main fork, and then add them to the fork i'll use for submitting pull request.
Let's see if this can make the job easier for me.  :)

EDIT: I've submitted a small pull request with some of the changes that were in #39, now will try to make another one for the 600D photo info  display.
With those two merged making one for custom mode and dialog options should be easier and cleaner.
I'm using ML2.3 for photography with:
EOS 600DML | EOS 400Dplus | EOS 5D MLbeta5- EF 100mm f/2.8 USM Macro  - EF-S 17-85mm f4-5.6 IS USM - EF 70-200mm f/4 L USM - 580EXII - OsX, PS, LR, RawTherapee, LightZone -no video experience-

Pelican

Still don't know when should I use hg merge (and exactly how)...

Could anybody give me a clear direction?
Thanks in advance.

I've just pushed my changes and I can definitely write more code if I need to do every development only once and not getting lost in the source managing and resolving conflicts and waiting my code pulled. Now I have several copies of ML in my laptop and copy pasting code pieces from one to another. How do you manage this?
And who will pull my code to the main? Is it Alex's daily routine (I mean when no holiday)?



EOS 7D Mark II, EOS 7D, EOS 5, EOS 100 + lenses (10mm to 300mm), 600EX, 550EX, YN600EX x 3
EOScard, EOS DSLR firmwares, ARMu, NiControl, etc.: http://pel.hu/down

nanomad

I usually pull small stuff that looks fine at a quick glance or after testing it (mostly bug fixes and small features).

About confilcts/merge: I'm under the impression that the author of the pull request has to keep it up to date (that's why you have a fork/patch queque for each one) with the main tree.
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

Pelican

So, now I pushed my changed to my fork and made a pull request.
When should I merge or pull the changes from the main?
EOS 7D Mark II, EOS 7D, EOS 5, EOS 100 + lenses (10mm to 300mm), 600EX, 550EX, YN600EX x 3
EOScard, EOS DSLR firmwares, ARMu, NiControl, etc.: http://pel.hu/down

scrax

Quote from: Pelican on January 02, 2013, 06:08:07 PM
So, now I pushed my changed to my fork and made a pull request.
When should I merge or pull the changes from the main?
I think you can pull from the main and then merge it and fix eventual conflicts, if you make more changes to your fork you can update the pull request if it is not yet merged. But all what you change go in the updated pull request.
I'm using ML2.3 for photography with:
EOS 600DML | EOS 400Dplus | EOS 5D MLbeta5- EF 100mm f/2.8 USM Macro  - EF-S 17-85mm f4-5.6 IS USM - EF 70-200mm f/4 L USM - 580EXII - OsX, PS, LR, RawTherapee, LightZone -no video experience-

RenatoPhoto

I am trying to install the full featured 5D3 and having problems.

Baiscally here is where I am.

I have installed Cygwin, Yagarto, Mercurial

I have done:

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

I created Makefile.user

Now I can run Make 5D3 and I think I have succesfully compliled autoexec.bin.  I can find it under /../ platform\5D3.113

Here is the text from cyGwin:

$ make 5D3
make -C /home/PH/magic-lantern/platform/5D3.113
make[1]: se ingresa al directorio `/home/PH/magic-lantern/platform/5D3.113'
[ VERSION  ]   ../../platform/5D3.113/version.c
[ CC       ]   version.o
[ MENU IDX ]   menuindexentries.h
No menuindex.txt not running "python2.6 menuindex.py"
[ CC       ]   menuindex.o
[ LD       ]   magiclantern
[ OBJCOPY  ]   magiclantern.bin
[ CC       ]   reboot.o
[ LD       ]   autoexec
autoexec.bin: 334288 bytes

Program Headers:
  Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
  LOAD           0x000060 0x00069500 0x00069500 0x51755 0x616e4 RWE 0x10

[ OBJCOPY  ]   autoexec.bin
make[1]: se sale del directorio `/home/PH/magic-lantern/platform/5D3.113'

-----------------

The rest of the process is UNCLEAR AND NEED HELP.

1. I downloaded "5D3-113-bootflag.fir" form Alex post on 5D3 + Dev Kit
2. Where do I get the ML folder for the card?
3.  Do I get the autoexec.bin from /home/PH/magic-lantern/platform/5D3.113'?

Do I copy 1, 2 and 3 to my SD card and boot according to Unified instructions?

Thanks for your help.
Renato




http://www.pululahuahostal.com  |  EF 300 f/4, EF 100-400 L, EF 180 L, EF-S 10-22, Samyang 14mm, Sigma 28mm EX DG, Sigma 8mm 1:3.5 EX DG, EF 50mm 1:1.8 II, EF 1.4X II, Kenko C-AF 2X

a1ex

1. download it again
2. you should already have it
3. yes

RenatoPhoto

Thanks for your reply.

I did all of it, updated the firmware and the camera boots to firmaware update.  When I press trash button there is no ML menue.

In Canon Firmware Menue it appears that has loaded...  But still there is something wrong.

Thanks
http://www.pululahuahostal.com  |  EF 300 f/4, EF 100-400 L, EF 180 L, EF-S 10-22, Samyang 14mm, Sigma 28mm EX DG, Sigma 8mm 1:3.5 EX DG, EF 50mm 1:1.8 II, EF 1.4X II, Kenko C-AF 2X

a1ex

The developer FIR does not make the card bootable, you should do that manually.

RenatoPhoto

Ok, here is a summary of process:

1. Copied ML folder from Alpha 3
2. Copied autoexec.bin from Cygwin/home/PH/magic-lantern/platform/5D3.113  after compiling
3. Downloaded new 5D3-113-bootflag.fir" form Alex post on 5D3 + Dev Kit

With the card (SD 32GB) in card reader

Used EOScard.exe to make boot card.
Run EOScard.exe
Check EOS_DEVELOP checkbox
Check BOOTDISK checkbox
Click on Save

Inserted card into 5D3 and now camera boots normally and ML is enabled.  Hurray!

I will try not to damage the new cam.  I am aware of the dangers.

Thanks for your help.

Renato
http://www.pululahuahostal.com  |  EF 300 f/4, EF 100-400 L, EF 180 L, EF-S 10-22, Samyang 14mm, Sigma 28mm EX DG, Sigma 8mm 1:3.5 EX DG, EF 50mm 1:1.8 II, EF 1.4X II, Kenko C-AF 2X

sarnoff


vstrglv

I have compiled autoexec.bin for 5Dmark3 many times. Last time on 3/11/2013.
I used commands:
cd magic-lantern
hg pull
hg update
make -C /home/vXXXX/magic-lantern/platform/5D3.113
But I have got an error today:

$ make -C /home/vXXXX/magic-lantern/platform/5D3.113
make: Entering directory `/home/vXXXX/magic-lantern/platform/5D3.113'
[ CC       ]   boot-hack.o
/bin/sh: /home/vXXXX/gcc-arm-none-eabi-4_7-2012q4/bin/arm-none-eabi-gcc-4.7.3.exe: No such file or directory
../../Makefile.inc:672: recipe for target `boot-hack.o' failed
make: *** [boot-hack.o] Error 127
make: Leaving directory `/home/vXXXX/magic-lantern/platform/5D3.113'

There are only two dir in vXXXX :magic-lantern and arm-toolchain462
What is a problem?
Then... :
installed gcc-4.7.3,
made dir gcc-arm-none-eabi-4_7-2012q4 in vXXXX
copied all from installed gcc-4.7.3 dir to dir gcc-arm-none-eabi-4_7-2012q4

O.K.now

Canon 5D3,1.1.3; Canon EOS M,202,  CF-SanDisk Extreme PRO,160MB/s, 256GB, SD-SanDisk Extreme Pro, 170MB/s, 128GB.

coutts

Quote from: vstrglv on March 25, 2013, 10:13:18 PM
I have compiled autoexec.bin for 5Dmark3 many times. Last time on 3/11/2013.
I used commands:
cd magic-lantern
hg pull
hg update
make -C /home/vXXXX/magic-lantern/platform/5D3.113
But I have got an error today:

$ make -C /home/vXXXX/magic-lantern/platform/5D3.113
make: Entering directory `/home/vXXXX/magic-lantern/platform/5D3.113'
[ CC       ]   boot-hack.o
/bin/sh: /home/vXXXX/gcc-arm-none-eabi-4_7-2012q4/bin/arm-none-eabi-gcc-4.7.3.exe: No such file or directory
../../Makefile.inc:672: recipe for target `boot-hack.o' failed
make: *** [boot-hack.o] Error 127
make: Leaving directory `/home/vXXXX/magic-lantern/platform/5D3.113'

There are only two dir in vXXXX :magic-lantern and arm-toolchain462
What is a problem?
Then... :
installed gcc-4.7.3,
made dir gcc-arm-none-eabi-4_7-2012q4 in vXXXX
copied all from installed gcc-4.7.3 dir to dir gcc-arm-none-eabi-4_7-2012q4

O.K.now


Quote/bin/sh: /home/vXXXX/gcc-arm-none-eabi-4_7-2012q4/bin/arm-none-eabi-gcc-4.7.3.exe: No such file or directory

Please modify Makefile.userdefault to point to where your toolchain is located

nanomad

Quote from: coutts on March 26, 2013, 03:21:51 PM

Please modify Makefile.userdefault to point to where your toolchain is located

No

Please read what Makefile.userdefault says (you're supposed to place your settings inside Makefile.user using the defaults as a guide)
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

Zibri

why do I always get that "stat" error?

[ CC       ]   picoc.o
[ CC       ]   chdk-gui_script.o
[ AR       ]   strrchr.o
[ AR       ]   dietlibc.a
[ AR       ]   lib_a-setjmp.o
[ AR       ]   newlib-libc.a
[ LD       ]   magiclantern
[ OBJCOPY  ]   magiclantern.bin
[ SYMBOLS  ]   magiclantern.sym
[ CC       ]   reboot.o
[ LD       ]   autoexec
stat: cannot stat `autoexec.bin': No such file or directory

Program Headers:
  Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
  EXIDX          0x06508c 0x00ce508c 0x00ce508c 0x00008 0x00008 R   0x4
  LOAD           0x000100 0x00c80100 0x00c80100 0x64f94 0x74bd9 RWE 0x100
[ OBJCOPY  ]   autoexec.bin
make[1]: Leaving directory `/home/magiclantern/magic-lantern/platform/550D.109'

nanomad

Not an error, just the buildsystem complaining. Nothing to worry about ;)
(Fixed right now btw)
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

Zibri

Yep.. it's a bug in the build script. It happens only on the first compile after a clean.

RenatoPhoto

Quote from: vstrglv on March 25, 2013, 10:13:18 PM
I have compiled autoexec.bin for 5Dmark3 many times. Last time on 3/11/2013.
I used commands:
cd magic-lantern
hg pull
hg update
make -C /home/vXXXX/magic-lantern/platform/5D3.113
But I have got an error today:

$ make -C /home/vXXXX/magic-lantern/platform/5D3.113
make: Entering directory `/home/vXXXX/magic-lantern/platform/5D3.113'
[ CC       ]   boot-hack.o
/bin/sh: /home/vXXXX/gcc-arm-none-eabi-4_7-2012q4/bin/arm-none-eabi-gcc-4.7.3.exe: No such file or directory
../../Makefile.inc:672: recipe for target `boot-hack.o' failed
make: *** [boot-hack.o] Error 127
make: Leaving directory `/home/vXXXX/magic-lantern/platform/5D3.113'

There are only two dir in vXXXX :magic-lantern and arm-toolchain462
What is a problem?
Then... :
installed gcc-4.7.3,
made dir gcc-arm-none-eabi-4_7-2012q4 in vXXXX
copied all from installed gcc-4.7.3 dir to dir gcc-arm-none-eabi-4_7-2012q4

O.K.now

I had the same problem compiling under windows, with the help of Pelican I was able to compile without downloading the gcc-4.7.3.
Just change the Makefile.user

From:
ARM_ABI=none-eabi
ARM_LIBC_A=../../../arm-toolchain462/arm-none-eabi/lib/libc.a
PYTHON=python2.6

To:
GCC_VERSION=4.6.2
ARM_PATH=../../../arm-toolchain462
ARM_ABI=none-eabi
ARM_LIBC_A=../../../arm-toolchain462/arm-none-eabi/lib/libc.a
PYTHON=python2.6

I compiled for 5D3 and so far everything I tested works well, the new interface is very nice.  Congratulations to all who made this possible.  You guys are amazing.

Just a note:  When compiling for 5D3 I got many warnings.  Dont know if this is a problem or if some of the ML functionality will not work on 5D3. 

http://www.pululahuahostal.com  |  EF 300 f/4, EF 100-400 L, EF 180 L, EF-S 10-22, Samyang 14mm, Sigma 28mm EX DG, Sigma 8mm 1:3.5 EX DG, EF 50mm 1:1.8 II, EF 1.4X II, Kenko C-AF 2X

Kim.dh

Trying to compile for 550D using Cygwin with Mercurial installed through cygwin setup.exe, and it fails.

log:[spoiler]Sandman@Kim ~/magic-lantern
$ make 550D
make -C /home/Sandman/magic-lantern/platform/550D.109
make[1]: Entering directory `/home/Sandman/magic-lantern/platform/550D.109'
[ AS       ]   entry.o
[ CC       ]   boot-hack.o
[ AS       ]   stubs.o
[ VERSION  ]   ../../platform/550D.109/version.c
[ CC       ]   version.o
[ CC       ]   exmem.o
[ CC       ]   bmp.o
[ CC       ]   font-dyn.o
[ CC       ]   config.o
[ CC       ]   menu.o
[ CC       ]   debug.o
[ CC       ]   stdio.o
[ CC       ]   audio-ak.o
[ CC       ]   bitrate.o
[ CC       ]   property.o
[ CC       ]   propvalues.o
[ CC       ]   gui.o
[ CC       ]   gui-common.o
[ CC       ]   misc.o
[ CC       ]   tweaks.o
[ CC       ]   lens.o
[ CC       ]   picstyle.o
[ CC       ]   cfn.o
[ CC       ]   lcdsensor.o
[ CC       ]   zebra.o
[ CC       ]   shoot.o
[ CC       ]   chdk-gui_draw.o
[ CC       ]   movtweaks.o
../../src/movtweaks.c:257:8: warning: pointer targets in initialization differ i                               n signedness [-Wpointer-sign]
../../src/movtweaks.c:257:8: warning: (near initialization for '__config_shutter                               _lock_value.value') [-Wpointer-sign]
[ CC       ]   menuhelp.o
[ MENU IDX ]   menuindexentries.h
No menuindex.txt not running "python2.6 menuindex.py"
[ CC       ]   menuindex.o
[ CC       ]   af_patterns.o
[ CC       ]   focus.o
[ CC       ]   notify_box.o
[ CC       ]   bootflags.o
[ CC       ]   dialog_test.o
[ CC       ]   vram.o
[ CC       ]   liveview.o
[ CC       ]   reloc.o
[ CC       ]   aj_port.o
[ CC       ]   fps-engio.o
[ CC       ]   hdr.o
[ CC       ]   lv-img-engio.o
[ CC       ]   state-object.o
[ CC       ]   tasks.o
[ CC       ]   tskmon.o
[ CC       ]   beep.o
[ CC       ]   vsync-lite.o
[ CC       ]   ico.o
[ CC       ]   console.o
[ CC       ]   pico.o
../../picoc/pico.c: In function 'PlatformExit':
../../picoc/platform_ml.c:62:1: warning: 'noreturn' function does return [enable                               d by default]
[ CC       ]   picoc.o
[ CC       ]   chdk-gui_script.o
[ AR       ]   strrchr.o
[ AR       ]   dietlibc.a
[ AR       ]   lib_a-setjmp.o
[ AR       ]   newlib-libc.a
[ LD       ]   magiclantern
boot-hack.o: In function `my_big_init_task':
boot-hack.c:(.text+0x160): undefined reference to `_init_funcs_start'
boot-hack.c:(.text+0x164): undefined reference to `_init_funcs_end'
boot-hack.c:(.text+0x178): undefined reference to `_tasks_end'
boot-hack.c:(.text+0x17c): undefined reference to `_tasks_start'
boot-hack.o: In function `my_task_dispatch_hook':
boot-hack.c:(.text+0x1ec): undefined reference to `_task_overrides_end'
boot-hack.c:(.text+0x1f0): undefined reference to `_task_overrides_start'
boot-hack.o: In function `copy_and_restart':
boot-hack.c:(.text+0x3b4): undefined reference to `_bss_end'
boot-hack.c:(.text+0x3b8): undefined reference to `_bss_start'
boot-hack.o: In function `my_init_task':
boot-hack.c:(.text+0x7f8): undefined reference to `_bss_end'
boot-hack.c:(.text+0x7fc): undefined reference to `_text_start'
config.o: In function `config_parse':
config.c:(.text+0x2dc): undefined reference to `_config_vars_end'
config.c:(.text+0x2e0): undefined reference to `_config_vars_start'
config.o: In function `config_save_file':
config.c:(.text+0x460): undefined reference to `_config_vars_start'
config.c:(.text+0x464): undefined reference to `_config_vars_end'
config.o: In function `get_config_vars_start':
config.c:(.text+0x55c): undefined reference to `_config_vars_start'
config.o: In function `get_config_vars_end':
config.c:(.text+0x568): undefined reference to `_config_vars_end'
config.o: In function `config_var_was_changed':
config.c:(.text+0x5bc): undefined reference to `_config_vars_start'
config.c:(.text+0x5c0): undefined reference to `_config_vars_end'
config.o: In function `config_var_restore_default':
config.c:(.text+0x608): undefined reference to `_config_vars_start'
config.c:(.text+0x60c): undefined reference to `_config_vars_end'
property.o: In function `prop_add_internal_handlers':
property.c:(.text+0x1d0): undefined reference to `_prop_handlers_start'
property.c:(.text+0x1d4): undefined reference to `_prop_handlers_end'
d:/cygwin/home/sandman/arm-toolchain462/bin/../lib/gcc/arm-none-eabi/4.6.2\libgc                               c.a(unwind-arm.o): In function `get_eit_entry':
C:\msys\1.0\home\yagarto\gcc-build\arm-none-eabi\libgcc/../../../gcc-4.6.2/libgc                               c/../gcc/config/arm/unwind-arm.c:614: undefined reference to `__exidx_start'
C:\msys\1.0\home\yagarto\gcc-build\arm-none-eabi\libgcc/../../../gcc-4.6.2/libgc                               c/../gcc/config/arm/unwind-arm.c:614: undefined reference to `__exidx_end'
collect2: ld returned 1 exit status
../../Makefile.inc:438: recipe for target `magiclantern' failed
make[1]: *** [magiclantern] Error 1
make[1]: Leaving directory `/home/Sandman/magic-lantern/platform/550D.109'
Makefile:35: recipe for target `550D' failed
make: *** [550D] Error 2
[/spoiler]

Any help would be greatly appreciated.

Edit: Resolved. Thank you Nanomad.

nanomad

Make clean and rebuild, it should work then
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