Make sure your compile your MySQL dynamically which is done by default,
if you include 'BUILD_STATIC=yes' you ruin your ability to change
threading libs.
portupgrade -N -m 'BUILD_OPTIMIZED=yes'
/usr/ports/databases/mysql41-server
Or upgrade
portupgrade -R -m 'BUILD_OPTIMIZED=yes'/var/db/pkg/mysql-server-4.1.14
Use 'ldd' to find which threading library you are using.
ldd /usr/local/libexec/mysqld
/usr/local/libexec/mysqld:
libz.so.3 => /lib/libz.so.3 (0x800978000)
libwrap.so.4 => /usr/lib/libwrap.so.4 (0x800a8b000)
libcrypt.so.3 => /lib/libcrypt.so.3 (0x800b94000)
libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x800cad000)
libm.so.4 => /lib/libm.so.4 (0x800ea4000)
libpthread.so.2 => */usr/lib/libpthread.so.2* (0x800fc0000)
libc.so.6 => /lib/libc.so.6 (0x8010eb000)
Put something like this into your /etc/libmap.conf to change your
threading library, and restart the service in question for the library
change to take effect.
[/usr/local/libexec/mysqld]
libpthread.so.2 libthr.so.2
libpthread.so libthr.so
# ldd /usr/local/libexec/mysqld
/usr/local/libexec/mysqld:
libz.so.3 => /lib/libz.so.3 (0x800978000)
libwrap.so.4 => /usr/lib/libwrap.so.4 (0x800a8b000)
libcrypt.so.3 => /lib/libcrypt.so.3 (0x800b94000)
libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x800cad000)
libm.so.4 => /lib/libm.so.4 (0x800ea4000)
libpthread.so.2 => */usr/lib/libthr.so.2* (0x800fc0000)
libc.so.6 => /lib/libc.so.6 (0x8010d7000)
Ok thanks just 2 more questions.
(a) if I build dynamic there is no performance penalty? since the Makefile
states build static for performance.
(b) I have no /etc/libmap.conf it doesnt exist, so if I just create one and
enter what you say it will work?
Chris