On Fri, Jun 28, 2013 at 01:49:09AM -0700, Bogdan Andu wrote:
> Hello,
> 
> I have installed mariadb-server-5.5.31p0 and mariadb-client-5.5.31p0
> on an OpenBSD 5.3 amd64 machine.
> 
> I have also re-installed from ports
> p5-DBD-mysql with version 1.36 of Makefile, which supports mariadb.
> p5-DBD-mysql via pkg_add gives me this error:
> sudo pkg_add
> /usr/ports/packages/amd64/all/mariadb-server-5.5.31p0.tgz 
> Can't install
> mysql-client-5.1.68 because of conflicts
> (mariadb-client-5.5.31p0,mariadb-tests-5.5.31p0)
> Can't install
> p5-DBD-mysql-4.022: can't resolve mysql-client-5.1.68
> Can't install
> mariadb-server-5.5.31p0: can't resolve p5-DBD-mysql-4.022
> ---
> mysql-client-5.1.68 -------------------
> Can't install mysql-client-5.1.68:
> conflicts
> 
> because it depends on the mysql-client-5.1.68.

I'd suggest to just use mysql until mariadb has been properly
integrated into OpenBSD and has replaced mysql.

> mariadb-server is
> running, I am able to connect to the server via mysql command line client.
> However I am not able to do the same thing from a Perl script when trying to
> connect to the a mariadb database.
> 
> install_driver(mysql) failed: Can't load
> '/usr/local/libdata/perl5/site_perl/amd64-openbsd/auto/DBD/mysql/mysql.so'
> for module DBD::mysql: Cannot load specified object at
> /usr/libdata/perl5/amd64-openbsd/5.12.2/DynaLoader.pm line 200.
> ?at (eval 5)
> line 3
> Compilation failed in require at (eval 5) line 3.
> Perhaps a required
> shared library or dll isn't installed where expected

Perhaps you need to pre-load libpthread?
Try running your script like this:
  env LD_PRELOAD=libpthread.so perl your-script.pl
 
> May this has something
> to do with the comment from cvs repository for
> ports/databases/p5-DBD-mysql/Makefile:
> 
> "Revert back to using MySQL 5.1 for
> the time being. MariaDB 5.5 introduces
> a new libmysqlclient non-blocking API
> which utilizes co-routines. The X86
> specific GCC ASM co-routine support hid
> the fact that there was an issue.
> The only fallback code so far is POSIX user
> contexts which OpenBSD does not
> support."

No, that's a different problem. MariaDB doesn't work on any architecture
other than i386 and amd64 because of this, since OpenBSD doesn't support
the fallback mode MariaDB developers have chosen for other architectures.

Reply via email to