Additional information: The system is running openBSD 5.8 from the release. It is a test system. It did have wireshark and redis installed which brought in lua ver 5.2. I took all the lua packages pertaining to lua out and resinstalled just prosody and the mysql and postgress drivers.
-----Original Message----- From: Adam Wolk [mailto:adam.w...@tintagel.pl] Sent: Friday, February 12, 2016 1:54 PM To: Stephen Graf <s_g...@telus.net> Subject: Re: prosody with mysql clarification On Fri, 12 Feb 2016 13:02:56 -0800 "Stephen Graf" <s_g...@telus.net> wrote: > Thank you for replying to my post. I am sending this to you only as I > am not sure of the procedures on the ports mailing list. I have used > openBSD for many years for bacula, samba and recently ownCloud and > have never resorted to the opwnBSD mailing lists for help. > However I am wanting to install a jabber server and I first tried > jabberd until I realized the package is horribly out of date and not > maintained. Prosody seems much better and cleaner. The installation > of mysql seems simply enough, but it just does not seem to work and > there is very little on the web for help. > Hi Stephen, No need to worry about ports@. Your email was OK, people just asked for more detail as it was hard to judge what the issue was exactly. In short I think you should forward the details you provided here to the ports@ mailing list. Additionally outlining if you are using -current or a specific release (that's the only information missing here I think). I added some more answers inline. Feel free to just forward this email or your original reply with more details. > If you have a few spare moments, I have listed what I have done. If > you have a test system can you try mysql? I added the postgress > driver on my test system and it seems to pick that up. > Unfortunately my XMPP system is also my personal mail server additionally running -current. I would need to upgrade to a newer snapshot before trying any mysql ports and I would rather avoid service disruption at this point. I could try in a VM if you indicate which OpenBSD version you are trying to accomplish this with. > I am trying to set up mysql and getting an error saying the DBI.lua > module cannot load the driver MYSQL. I looked at the DBI.lua code and > it would seem that it should work. > > Error message from log: > > Feb 12 11:29:27 modulemanager error Error initializing module > 'storage_sql' on 'xxx': /usr/local/share/lua/5.1/DBI.lua:52: Cannot > load driver MySQL. Available drivers are: SQLite3,PostgreSQL stack > traceback: > This really looks like it could be a valid bug, considering that your setup properly detects postgresql. Note I asked if you did anything post installing as your initial mail didn't indicate it. > > From DBI.lua code: > > -- Driver to module mapping > local name_to_module = { > MySQL = 'dbdmysql', > PostgreSQL = 'dbdpostgresql', > SQLite3 = 'dbdsqlite3', > DB2 = 'dbddb2', > Oracle = 'dbdoracle', > } > > # ls -al /usr/local/lib/lua/5.1/ > total 440 > drwxr-xr-x 5 root wheel 512 Feb 12 11:29 . > drwxr-xr-x 3 root wheel 512 Feb 12 11:10 .. > -r-xr-xr-x 1 root bin 28966 Aug 7 2015 dbdmysql.so > -r-xr-xr-x 1 root bin 22907 Aug 7 2015 dbdpostgresql.so > -r-xr-xr-x 1 root bin 18801 Aug 7 2015 dbdsqlite3.so > -r--r--r-- 1 root bin 18473 Aug 7 2015 lfs.so > drwxr-xr-x 2 root wheel 512 Feb 12 11:11 luaevent > -r--r--r-- 1 root bin 39219 Aug 7 2015 lxp.so > drwxr-xr-x 2 root wheel 512 Feb 12 11:11 mime > drwxr-xr-x 2 root wheel 512 Feb 12 11:11 socket > -r--r--r-- 1 root bin 63197 Aug 7 2015 ssl.so > -r--r--r-- 1 root bin 13229 Aug 7 2015 zlib.so > > > Config: > > storage = "sql" -- Default is "internal" > > -- For the "sql" backend, you can uncomment *one* of the below to > configure: --sql = { driver = "SQLite3", database = "prosody.sqlite" } > -- Default. 'database' is the filename. > sql = { driver = "MySQL", database = "prosody", username = "prosody", > password = "secret", host = "localhost" } --sql = { driver = > "PostgreSQL", database = "prosody", username = "prosody", password = > "secret", host = "localhost" } > > The database has been set up > > # mysql -u prosody -p > Enter password: > Welcome to the MariaDB monitor. Commands end with ; or \g. > Your MariaDB connection id is 11 > Server version: 10.0.20-MariaDB-log OpenBSD port: > mariadb-server-10.0.20p0v0 > > Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others. > > Type 'help;' or '\h' for help. Type '\c' to clear the current input > statement. > > MariaDB [(none)]> use prosody > Database changed > MariaDB [prosody]> show tables; > Empty set (0.00 sec) > > MariaDB [prosody]> exit; > Bye > > I tried a config with the postgress database and the error message > changes to show " Failed to connect to database: no connection to the > server" which makes sense as I do not have a postgress server. It did > not complain about a missing driver. > Yeah it really looks like a valid issue with the mysql driver. > -----Original Message----- > From: owner-po...@openbsd.org [mailto:owner-po...@openbsd.org] On > Behalf Of Adam Wolk > Sent: Friday, February 12, 2016 10:02 AM > To: ports@openbsd.org > Subject: Re: prosody with mysql clarification > > On Thu, 11 Feb 2016 22:18:08 -0800 > "Stephen Graf" <s_g...@telus.net> wrote: > > > When I tried to set up prosody with sql storage using mysql I > > followed the instructions in the package and added luadbi-mysql. > > However prosody did not seem to pick up on it even though the > > prosody documentation says that nothing more is required. When I > > looked into what luadbi-mysql provided I discovered a c library, > > dbdmysql.so. How is this converted to a lua file that prosody can > > use? > > > > What did you try after enabling the sql storage in prosody? Here are > the config changes I made (slightly redacted) to get prosody to use my > postgres database. > > storage = "sql" -- Default is "internal" > > -- For the "sql" backend, you can uncomment *one* of the below to > configure: --sql = { driver = "SQLite3", database = "prosody.sqlite" } > -- Default. 'database' is the filename. > --sql = { driver = "MySQL", database = "prosody", username = > "prosody", password = "secret", host = "localhost" } sql = { driver = > "PostgreSQL", database = "prosody", username = "prosody", password = > "secret", host = "localhost" } > > Regards, > Adam >