Error when Inserting Global variable

I’m writing an LLVM pass which modifies the LLVM IR code. However, I am having trouble inserting global variables. For example, when I try to insert a global variable using the following code.

llvm::Value *val = new llvm::GlobalVariable(mod, llvm::Type::getInt32Ty(mod.getContext()),
false, llvm::GlobalValue::ExternalLinkage, 0, “myvar”);

I get the following error.

opt: symbol lookup error: /home/hmushtaq/llvm/Debug+Asserts/lib/Basic3.so: undefined symbol: _ZN4llvm14GlobalVariableC1ERNS_6ModuleEPNS_4TypeEbNS_11GlobalValue12LinkageTypesEPNS_8ConstantERKNS_5TwineEPS0_bj
/usr/bin/ld: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 0 has invalid symbol index 11
/usr/bin/ld: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 1 has invalid symbol index 12

What is going on here?