gcc will happily use either a static (.a) or a shared lib (.so)
Yes - thanks for correcting that. (On Win32, gcc is also capable of linking to the dll.) One difficulty in trying to solve the op's problem is that I don't know the name of the file that needs to be linked in. The point I was trying to make was that, if the linking to that file is achieved with '-lxml2', then the linking won't take place, simply because MakeMaker has removed that '-lxml2' link.