Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re^5: DBD:Mysql compilation failed on windows

by syphilis (Archbishop)
on Mar 12, 2022 at 01:51 UTC ( [id://11142019]=note: print w/replies, xml ) Need Help??


in reply to Re^4: DBD:Mysql compilation failed on windows
in thread DBD:Mysql compilation failed on windows

As per your suggestion will remove the VC environment setting and try with Mingw

If you want to use a mingw compiler with a perl built by MSVC++, then you should install ExtUtils::FakeConfig. Run cpan -i ExttUtils::FakeConfig .
However, it has been at least 10 years since I've used that module, and I don't know if it's still fit for purpose. Then, whenever you want to use the mingw compiler, you just set the PERL5OPT environment variable to -MConfig_m :
set PERL5OPT=-MConfig_m
You might be better off just persevering with your VC++ compiler.
It's hard for me to tell.

This command (from your first post) looks wrong to me:
perl Makefile.PL --cflags=-IC:\mysql\include --libs="-LC:\mysql\lib -l +mysqlclient" --testdb=vms --testuser=root --testpassword=cisco@123 -- +testhost=127.0.0.1 --testport=3306
Usually you would have:
perl Makefile.PL INC=-IC:\mysql\include LIBS="-LC:\mysql\lib -lmysqlcl +ient" ....
That should at least make the MySQL headers and libraries locatable if they are in fact located where you're saying they are. Does C:/mysql/lib/mysqlclient.lib exist ? (I don't know about the remaining arguments. Is there documentation that's telling you to provide these arguments in these ways ?)

Maybe just try starting with a plain perl Makefile.PL. That's what Strawberry Perl does:
>perl Makefile.PL I will use the following settings for compiling and testing: cflags (mysql_config ) = -IC:\_32\strawberry5.24.0_32int\c\bin +\..\include\mysql_5 libs (mysql_config ) = -LC:\_32\strawberry5.24.0_32int\c\bin +\..\lib -lmysql mysql_config (guessed ) = mysql_config testdb (User's choice) = test testhost (default ) = testpassword (User's choice) = testport (default ) = testsocket (default ) = testuser (User's choice) = To change these settings, see 'perl Makefile.PL --help' and 'perldoc DBD::MariaDB::INSTALL'. Checking if libs and header files are available for compiling... Checking if correct version of MariaDB or MySQL client is present... Looks good. Embedded server: not supported by client library Client library deinitialize OpenSSL library functions: no Using DBI 1.636 (for perl 5.024000 on MSWin32-x86-multi-thread) instal +led in C:/_32/strawberry5.24.0_32int/perl/vendor/lib/auto/DBI/ Generating a dmake-style Makefile Writing Makefile for DBD::MariaDB "\x{0159}" does not map to cp850 at C:/_32/strawberry5.24.0_32int/perl +/lib/ExtUtils/MakeMaker.pm line 1269. "\x{0159}" does not map to cp850 at C:/_32/strawberry5.24.0_32int/perl +/lib/ExtUtils/MakeMaker.pm line 1269. "\x{0159}" does not map to cp850 at C:/_32/strawberry5.24.0_32int/perl +/lib/ExtUtils/MakeMaker.pm line 1269. Writing MYMETA.yml and MYMETA.json
Cheers,
Rob

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11142019]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others about the Monastery: (3)
As of 2024-04-19 22:03 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found