[p4perl] 8 hrs invested, 1 unresolved external symbol to go...

Tony Smith tony at smee.org
Tue Jul 24 03:47:11 PDT 2007

Hi Dan,

> Still trying to get p4perl to install, keeping things as plain-vanilla as I
> can:
> - Windows XP
> - ActiveState Perl v5.8.8 (latest, I believe)
> - M$ Visual C++ Express
> - P4-3.5708
> - API 2004.2.83213

It's worth noting that P4Perl 3.5708 was built with the 2006.1 API. While it 
should work with an older version (such as the 2004.2 version you're using), 
it almost certainly won't work with a newer one. 

> Any help at all would be greatly appreciated...

See below.

> libsupp.lib(fileiont.obj) : error LNK2001: unresolved external symbol __iob
> libsupp.lib(diffsp.obj) : error LNK2001: unresolved external symbol __iob
> libclient.lib(clientuser.obj) : error LNK2019: unresolved external symbol
> __iob referenced in function "public: virtual
> void __thiscall ClientUser::OutputError(char *)" (?OutputError at ClientUser@@
> libsupp.lib(debug.obj) : error LNK2001: unresolved external symbol __iob
> libsupp.lib(echoctl.obj) : error LNK2001: unresolved external symbol __iob
> libsupp.lib(errorlog.obj) : error LNK2001: unresolved external symbol __iob
> blib\arch\auto\P4\P4.dll : fatal error LNK1120: 1 unresolved externals
> NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio
> 8\VC\BIN\link.EXE"' : return code '0x460'

__iob is part of the stdio library. I can't imagine why your linker can't find 
that - unless your Visual Studio environment is messed up? I assume LIB, 
INCLUDE and all the other required VS environment variables are set 
correctly? Usually there's a vcvars32.bat file you can run to set them up 
before using the compilers from the command line.

Can you check that and let us know if it helps?



More information about the p4perl mailing list