User avatar
aquarat
Posts: 73
Joined: Thu Jul 26, 2012 2:32 pm
Location: Cape Town, South Africa

How I compiled MariaDB and Phidget drivers

Sun Jul 29, 2012 5:06 pm

This may seem a bit ridiculous, but both MariaDB (fork of mySQL) and the Phidget interface drivers compile with little pain on Raspbian. I say rediculous because MariaDB eats half of the RAM (in 240/16 mode).

To compile MariaDB I did this (commands executed as root) :

Code: Select all

wget "http://downloads.mariadb.org/f/mariadb-5.5.25/kvm-tarbake-jaunty-x86/mariadb-5.5.25.tar.gz/from/http:/download.nus.edu.sg/mirror/mariadb"
tar -xvf mariadb
mv mariadb-5.5.25 maria
cd maria/BUILD
./autorun.sh
cd ..
aptitude install cmake libncurses5-dev bison
./configure
make
make install

adduser mysql
chown -R mysql /usr/local/mysql
cd /usr/local/mysql
scripts/mysql_install_db --user=mysql
cp support-files/mysql.server /etc/init.d/mysqld
/etc/init.d/mysqld start

./bin/mysql_secure_installation
Phidgets :

Code: Select all

wget "http://www.phidgets.com/downloads/libraries/libphidget_2.1.8.20120716.tar.gz"
tar -xvf libphidget_2.1.8.20120716.tar.gz
mv libphidget-2.1.8.20120716 libphi
cd libphi
apt-get install libusb-dev
./configure
make
make install
I am by no means an expert when it comes to Linux, so please correct me if you see something I could do better. Also, I had no idea how to set the compile options for Raspbian.

P.S. These are just cleaned up commands from my .bash_history.
EOF

SteveGaines
Posts: 1
Joined: Sat Nov 03, 2012 11:04 am

Re: How I compiled MariaDB and Phidget drivers

Sat Nov 03, 2012 11:07 am

Really helpful - thanks

MrTime
Posts: 3
Joined: Tue Jun 26, 2012 11:55 am

Re: How I compiled MariaDB and Phidget drivers

Thu Dec 06, 2012 9:42 pm

Thanks for sharing!

Compiling MariaDB takes a long time. It's been bussy for 3.5 hours already, now at 87%. That's normal?

There isn't anybody who has a deb package for this? For Raspbian?

User avatar
aquarat
Posts: 73
Joined: Thu Jul 26, 2012 2:32 pm
Location: Cape Town, South Africa

Re: How I compiled MariaDB and Phidget drivers

Thu Dec 06, 2012 10:21 pm

I just installed mysql... and so far it's working quite well for my project (Power meter reading).
EOF

MrTime
Posts: 3
Joined: Tue Jun 26, 2012 11:55 am

Re: How I compiled MariaDB and Phidget drivers

Fri Dec 07, 2012 8:16 am

I got some issues trying to run it from source. Compiling and make install works fine (I guess), but the rest of the commands doens't run quite well.

Code: Select all

root@raspberrypi:/usr/local/mysql# scripts/mysql_install_db --user=mysql

FATAL ERROR: Could not find mysqld

The following directories were searched:

    /usr/libexec
    /usr/sbin
    /usr/bin
I can run this if I add the basedir option like so:

Code: Select all

root@raspberrypi:/usr/local/mysql# scripts/mysql_install_db --user=mysql --basedir="/usr/local/mysql"
After that I try to run mysqld:

Code: Select all

root@raspberrypi:/usr/local/mysql# /etc/init.d/mysqld start
Starting MySQL
[FAIL] Couldn't find MySQL server (/usr/bin/mysqld_safe) ... failed!
Creating a symlink at that location doesn't really work. What does (half) is the following:

Code: Select all

root@raspberrypi:/usr/local/mysql# /usr/local/mysql/bin/mysqld_safe --user=mysql
From https://kb.askmonty.org/en/generic-build-instructions/

But this generates the following:

Code: Select all

root@raspberrypi:/usr/local/mysql# /usr/local/mysql/bin/mysqld_safe --user=mysql
121207 08:53:33 mysqld_safe Logging to '/var/lib/mysql/raspberrypi.err'.
121207 08:53:33 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
121207 08:53:33 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
Still no running mysql server.

Error file '/var/lib/mysql/raspberrypi.err' says:

Code: Select all

Can't find messagefile '/usr/share/mysql/errmsg.sys'

MrTime
Posts: 3
Joined: Tue Jun 26, 2012 11:55 am

Re: How I compiled MariaDB and Phidget drivers

Sun Dec 09, 2012 4:21 pm

I got it all working now.

The first error (FATAL ERROR: Could not find mysqld) can be fixed to change the basedir in the config file:

Code: Select all

#basedir        = /usr
basedir         = /usr/local/mysql
This will also solve the second error.

The last error is the missing error message file. Dunno how to fix this a proper way so just copied the needed file from the compile directory. I created a dir on the location (/usr/share/mysql), it wasn't there, and put my language err file in there. You can find proper err file in your compile dir:

Code: Select all

My dir:
root@raspberrypi:/opt/mariadb#
root@raspberrypi:/opt/mariadb# cd sql/share/
charsets/            dutch/               hungarian/           norwegian-ny/        spanish/
CMakeFiles/          english/             italian/             polish/              swedish/
cmake_install.cmake  errmsg-utf8.txt      japanese/            portuguese/          ukrainian/
CMakeLists.txt       estonian/            japanese-sjis/       romanian/
CTestTestfile.cmake  french/              korean/              russian/
czech/               german/              Makefile             serbian/
danish/              greek/               norwegian/           slovak/
root@raspberrypi:/opt/mariadb# cp sql/share/english/errmsg.sys /usr/share/mysql/errmsg.sys
Source: http://forum.parallels.com/showthread.php?t=79977

Now the mariadb will just run! :D

Psywiped
Posts: 1
Joined: Fri Feb 15, 2013 8:20 pm

Re: How I compiled MariaDB and Phidget drivers

Fri Feb 15, 2013 8:24 pm

This will save you a bunch of headache if you add it as the last command when installing MariaDB

Code: Select all

sudo cp /usr/local/mysql/support-files/my-medium.cnf /etc/mysql/my.cnf
Most likely will fix any issues your having.

kalerosky
Posts: 6
Joined: Wed Jun 05, 2013 9:29 am

Re: How I compiled MariaDB and Phidget drivers

Wed Jun 05, 2013 10:01 am

Hello everyone
I've been trying to compile mariadb 10.0.2 on my raspi debian wheezy :3
quite a mess, but finally worked out :)
Follow the steps by aquarat make the process go fine (thank you by the way...)
I've also got the issue of the messagefile (errmsg.sys) and still is, but I thought that it was the point of my problems with the server and but was not. When I start the service, it raises well, but when I tried to access thru the client, it never let me in.
I've resolved this by setting in the my.cnf where exactly was my database files by:
datadir=/var/lib/mysql
on [mysqld] of my.cnf
also there put the famous
basedir=/usr/local/mysql
I suposse that while mysqld was not finding the logins tables it would not allow me to login.
Remember that by default mariadb sock file changes to /tmp/mysql.sock, so change this directory in your php.ini file if you think to use it...
PS: excuse me about my english... and greetings form Spain!!!!

Return to “General programming discussion”

Who is online

Users browsing this forum: jamesh and 9 guests