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 if you 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 does not 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:
http://support.sgi.com/surfzone/patches/patchset/6.2_posix.rps.html
          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 make
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 \
    --with-named-thread-libs=-lpthread
On Irix 6.5.11 with native Irix C and C++ compilers ver. 7.3.1.2, 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 \
    --with-named-curses-libs=/usr/local/lib/libncurses.a


User Comments
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
works great (irix-6.5.17 with native compilers
7.3.1.3m) 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.
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.
Add your own comment.