SGI Irix Notes


As of MySQL 5.0, we do not provide binaries for Irix any more.

If you are using Irix 6.5.3 or newer, mysqld is able to create threads only if you run it as a user that has CAP_SCHED_MGT privileges (such as root) or give the mysqld server this privilege with the following shell command:

chcap "CAP_SCHED_MGT+epi" /opt/mysql/libexec/mysqld

You may have to undefine some symbols in config.h after running configure and before compiling.

In some Irix implementations, the alloca() function is broken. If the mysqld server dies on some SELECT statements, remove the lines from config.h that define HAVE_ALLOC and HAVE_ALLOCA_H. If mysqladmin create doesn't work, remove the line from config.h that defines HAVE_READDIR_R. You may have to remove the HAVE_TERM_H line as well.

SGI recommends that you install all the patches on this page as a set: http://support.sgi.com/surfzone/patches/patchset/6.2_indigo.rps.html

At the very minimum, you should install the latest kernel rollup, the latest rld rollup, and the latest libc rollup.

You definitely need all the POSIX patches on this page, for pthreads support:


If you get the something like the following error when compiling mysql.cc:

"/usr/include/curses.h", line 82: error(1084):
invalid combination of type

Type the following in the top-level directory of your MySQL source tree:

extra/replace bool curses_bool < /usr/include/curses.h > include/curses.h

There have also been reports of scheduling problems. If only one thread is running, performance is slow. Avoid this by starting another client. This may lead to a two-to-tenfold increase in execution speed thereafter for the other thread. This is a poorly understood problem with Irix threads; you may have to improvise to find solutions until this can be fixed.

If you are compiling with gcc, you can use the following configure command:

CC=gcc CXX=gcc CXXFLAGS=-O3 \
./configure --prefix=/usr/local/mysql --enable-thread-safe-client \

On Irix 6.5.11 with native Irix C and C++ compilers ver., the following is reported to work

CC=cc CXX=CC CFLAGS='-O3 -n32 -TARG:platform=IP22 -I/usr/local/include \
-L/usr/local/lib' CXXFLAGS='-O3 -n32 -TARG:platform=IP22 \
-I/usr/local/include -L/usr/local/lib' \
./configure --prefix=/usr/local/mysql --with-innodb --with-berkeley-db \
    --with-libwrap=/usr/local \

User Comments
  Posted by Bernd Melchers on November 27, 2002
mysql up to 3.23.53 are not longer working on
irix after upgrading from irix-6.5.17 to 6.5.18.
statements with the word delayed like
"INSERT delayed into xxx VALUES (1)"
cause infinit hang of mysqld. Solution: save a copy
of libpthread.so from irix-6.5.17 and let a variable
LD_LIBRARYN32_PATH point to this location
  Posted by Bernd Melchers on November 27, 2002
works great (irix-6.5.17 with native compilers with
CC=cc -n32
CFLAGS=CXXFLAGS=-mips4 -O -OPT:Olimit=0
but i prevent the libraries lcrypt, lnsl, ldl and lgen
to be linked to the binaries, they are not
necessary at all. Don't use
libpthread.so of irix-6.5.18.
  Posted by on November 13, 2004
NOTE: If you are running IRIX 6.5.18, 6.5.19, or 6.5.20 mysqld may experience pthread deadlocks unless you install patch 5316.

Sign Up Login You must be logged in to post a comment.