perl5-dbi/dbi

Error building DBDs on Monterey macOS

turnstep opened this issue · 2 comments

Opening here, as this involves failure of the Driver_xst.h compilation step, and the same error occurs on both DBD::Pg and DBD::Sqlite:

DBD::Pg:
bucardo/dbdpg#110

DBD::SQLite:
DBD-SQLite/DBD-SQLite#106

Summary of error on both when running perl Makefile.PL:

"/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- SQLite.bs blib/arch/auto/DBD/SQLite/SQLite.bs 644
make: *** No rule to make target /System/Library/Perl/Extras/5.30/darwin-thread-multi-2level/auto/DBI/Driver_xst.h', needed by SQLite.xsi'. Stop.

This also happened with DBD::mysql. This only happened when using system Perl /usr/bin/perl and not when using Perl installed via brew /usr/local/bin/perl.

The default Perl installation seems to have a weirdly looking DBI installation. Re-installing DBI via cpanm seems to work to solve at least part of this.

However it seems like most people advise against using system Perl in general.

The Xcode commandline SDKs seem to include some of the DBI parts like DBIXS.h. Maybe this is just a case of setting the right path?

See also perl5-dbi/DBD-mysql#403

Tux commented

I have no knowledge of MacOSX or perlbrew, so I/we need help here from peple that do.
As I read this, it is the perl installation to blame, but I may be completely wrong.