I found the answer that there is a need to add libiconv.a if linking statically in Other Linker Flags in Build Settings or add libiconv.dylib in "Link Binary with Libraries" in "Build Phase" in xcode5. Similarly I also noticed the need to include liblzma as either dynamic lib or static to solve the issue.
Most import consideration when add as dynamic library (dylib) is the order in which the libs are present. Apparently, libiconv and liblzma must come below libxml2.a for it to compile correctly. I am not sure why this is needed but I was able to solve the problem using the same procedure. I however statically compiled all three libraries as I did not want to run into this dynamic lib version changes between OS since my installer does not check for installed version of libraries.