undefined symbol for LoopPass

I am building a loop pass following these instructions: http://llvm.org/docs/WritingAnLLVMPass.html
Everything works fine, I did it many times for Function Passes, but in the runOnPass method, whenever I call a method of the loop L passed as argument, for example L->begin(), I get the following error:

opt: symbol lookup error: /home/giacomo/llvmcsfv/Debug+Asserts/lib/Acsl.so: undefined symbol: _ZNK4llvm8LoopBaseINS_10BasicBlockENS_4LoopEE5beginEv

Where Acsl is the name of the loadable module. If I remove all the instructions from runOnPass but a debug print, it works fine (it prints it), so the problem is not the module.
Does anybody have any Idea?
Thank you very much,

Sorry, of course the method is runOnLoop, not runOnPass.