perl5-dbi / DBD-mysql

MySQL driver for the Perl5 Database Interface (DBI)
https://metacpan.org/module/DBD::mysql
Other
63 stars 73 forks source link

installation fails with compiler error: incompatible integer to pointer conversion assigning to 'MYSQL_RES *' #419

Closed svacht closed 7 months ago

svacht commented 7 months ago

DBD::mysql version

5.003

MySQL client version

8.3.0

Server version

8.3.0

Operating system version

macOS 14.4

What happened?

I followed instructions for installing on macOS but I kept getting dbdimp.c:2796:12:error: incompatible integer to pointer conversion assigning to 'MYSQL_RES ' (aka 'struct MYSQL_RES ') from 'int' [-Wint-conversion] I succeeded only by adding to cflags switch: -Wno-error=int-conversion Complete successful cpanm command was: cpanm --configure-args="--libs='-L/usr/local/opt/mysql/lib -lmysqlclient -lz -lzstd -lssl -lcrypto -lresolv' --cflags='-I/usr/local/opt/mysql/include/mysql -Wno-error=int-conversion'" --force DBD::mysql

Other information

No response

dveeden commented 7 months ago

Did it report a line number?

svacht commented 7 months ago

yes, sorry, dbdimp.c:2796:12:

dveeden commented 7 months ago

This is line 2796 in DBD::mysql 5.003:

https://github.com/perl5-dbi/DBD-mysql/blob/5_003/dbdimp.c#L2796

dveeden commented 7 months ago

For me (on Linux with GCC 13.2.1) this works without errors:

perl Makefile.PL --cflags "$(mysql_config --cflags) -Wint-conversion"
make
svacht commented 7 months ago

Version 5.004 worked for me too without need for that switch, Thank you

On 20 Mar 2024, at 09:17, Daniël van Eeden @.***> wrote:

For me (on Linux) this works without errors:

perl Makefile.PL --cflags "$(mysql_config --cflags) -Wint-conversion" make — Reply to this email directly, view it on GitHub https://github.com/perl5-dbi/DBD-mysql/issues/419#issuecomment-2008930541, or unsubscribe https://github.com/notifications/unsubscribe-auth/APDT2CYA5JCKDS2A55OV7OLYZEZXDAVCNFSM6AAAAABE6JABG6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMBYHEZTANJUGE. You are receiving this because you authored the thread.