Bug #37583 Link unresolved external symbol __dosmaperr Visual Studio 2003
Submitted: 23 Jun 2008 12:51 Modified: 20 Feb 2013 22:09
Reporter: Miguel Solorzano Email Updates:
Status: Unsupported Impact on me:
None 
Category:Connectors: DBD::mysql ( Perl ) Severity:S2 (Serious)
Version:4.007 OS:Microsoft Windows (XP)
Assigned to: CPU Architecture:Any

[23 Jun 2008 12:51] Miguel Solorzano
Description:
Compiling the package: DBD-mysql-4.007.tar.gz and creating the makefile with:

perl.exe Makefile.PL --cflags="-I C:/DBS/mysql-5.0/include" --libs="-L C:/DBS/mysql-5.0/libmysql/release -lmysqlclient -lz -lm -lcrypt -lnsl"

got the below link error:

Creating library blib\arch\auto\DBD\mysql\mysql.lib and object blib\arch\auto\DBD\mysql\mysql.exp
qlclient.lib(my_open.obj) : error LNK2019: unresolved external symbol __dosmaperr referenced in function _my_sopen
b\arch\auto\DBD\mysql\mysql.dll : fatal error LNK1120: 1 unresolved externals
KE : fatal error U1077: 'C:\Perl\bin\perl.exe' : return code '0x1'

How to repeat:
see description

Suggested fix:
-
[23 Jun 2008 14:19] MySQL Verification Team
Addtional Notes:

Compiler VS2003 and latest source mysqlclient.lib.
[23 Jun 2008 15:27] MySQL Verification Team
Just add the flag "/MD" in the Perl create makefile string.
[23 Jun 2008 15:47] Patrick Galbraith
This is a strange bug. Not sure what library missing would cause this. Have you tried an earlier version of DBD::mysql? Just wondering if there's some inadvertent change my last several releases.
[23 Jun 2008 15:55] MySQL Verification Team
Hi Patrick,

Please see my last comment adding the flag "/MD" to call the multi-threaded library resolve the problem for _dosmaperr.
[25 Jun 2008 1:29] MySQL Verification Team
Please disregard my last comment. This link problem *only* happens when compiling the DBD::mysql with the compiler VS2003 and not happens with compiler VS2005.

The Makefile was generated with the below command:

perl.exe Makefile.PL --cflags="-I C:/dbs/mysql-5.0/include" --libs="-L C:/dbs/mysql-5.0/libmysql/release -lmysqlclient -lz -lm -lcrypt -lnsl"

So this could be a compiler bug and not a mysqlclient.lib bug.
[9 Oct 2008 5:38] Shen Joon Tan
actually i still get the same error even with nmake 8.0 from vs2005.
[7 Apr 2009 19:16] MySQL Verification Team
Build log DBD-mysql-4.010

Attachment: dbd-perl-build.txt (text/plain), 12.28 KiB.

[7 Apr 2009 19:18] MySQL Verification Team
I was able to compile DBD-mysql-4.010 with VS2005 against the package non-install of 5.1.33 (see prior attached file).
[20 Feb 2013 22:09] Sveta Smirnova
Thank you for the report.

We don't work on DBD::mysql bugs anymore. All its bugs should go to CPAN: https://rt.cpan.org/Public/Dist/Display.html?Name=DBD-mysql

I re-submitted your report to https://rt.cpan.org/Public/Bug/Display.html?id=83488
Please subscribe to the new report on CPAN and work with DBD::mysql developers in case if they need additional details.