You are not logged in.
Ok, I am having a really hard time trying to get mysql 4.1.6 gamma compiled. I had copied the mysql PKGBUILD for 4.0.x a while ago and used it to compile 4.1.4a and 4.1.5. Every thing went fine. Now, i try to upgrade and compile 4.1.6 and I get the following error.
-fno-exceptions -fno-rtti -rdynamic -o .libs/mysql mysql.o readline.o sql_string.o completion_hash.o ../cmd-line-utils/libedit/libedit.a -lncurses ../libmysql/.libs/libmysqlclient.so -L/usr/lib -lcrypt -lnsl -lm -lz -lssl -lcrypto -Wl,--rpath -Wl,/usr/lib/mysql
../cmd-line-utils/libedit/libedit.a(history.o)(.text+0x765): In function `history':
: undefined reference to `strvis'
../cmd-line-utils/libedit/libedit.a(history.o)(.text+0x89a): In function `history':
: undefined reference to `strunvis'
collect2: ld returned 1 exit status
make[2]: *** [mysql] Error 1
make[2]: Leaving directory `/home/wdemoss/arch/packages/mysql/src/mysql-4.1.6-gamma/client'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/wdemoss/arch/packages/mysql/src/mysql-4.1.6-gamma'
make: *** [all] Error 2
==> ERROR: Build Failed. Aborting...
Also, if I try and downgrade the PKGBUILD back to 4.1.5 which previously compiled successfully, it fails with the same error. Also, I have heimdal installed, so I do have /usr/include/vis.h on my machine, where strvis and strunvis are defined. However, in the output from configure it says that strvis and strunvis are undefined.
Here is the PKGBUILD
# $Id: PKGBUILD,v 1.40 2004/09/13 06:57:24 judd Exp $
# Maintainer: judd <jvinet@zeroflux.org>
pkgname=mysql
pkgver=4.1.6.gamma
_pkgver=4.1.6-gamma
pkgrel=2
pkgdesc="A fast SQL database server"
backup=(etc/my.cnf etc/conf.d/mysqld)
depends=('openssl' 'zlib' 'gcc')
source=(ftp://ftp.orst.edu/pub/mysql/Downloads/MySQL-4.1/mysql-${_pkgver}.tar.gz mysqld my.cnf mysqld.conf.d)
md5sums=()
build() {
cd $startdir/src/$pkgname-${_pkgver}
./configure --prefix=/usr --libexecdir=/usr/sbin
--without-debug --without-docs --without-bench
--with-innodb --enable-local-infile --with-openssl
--with-extra-charsets=complex
# fixes
cp config.h config.h.old
cat config.h.old | sed 's|^.*HAVE_GETHOSTBYNAME_R_GLIBC2_STYLE.*$|#define HAVE_GETHOSTBYNAME_R_GLIBC2_STYLE|g' >config.h
cp sql/mysqld.cc sql/mysqld.cc.old
cat sql/mysqld.cc.old | sed 's|size_socket|socklen_t|g' >sql/mysqld.cc
cp sql/mini_client.cc sql/mini_client.cc.old
cat sql/mini_client.cc.old | sed 's|SOCKOPT_OPTLEN_TYPE|socklen_t|g' >sql/mini_client.cc
make || return 1
make DESTDIR=$startdir/pkg install
rm -rf $startdir/pkg/usr/{mysql-test,sql-bench}
install -D -m644 ../my.cnf $startdir/pkg/etc/my.cnf
install -D -m755 ../mysqld $startdir/pkg/etc/rc.d/mysqld
install -D -m644 ../mysqld.conf.d $startdir/pkg/etc/conf.d/mysqld
ln -sf mysql/libmysqlclient.so.12
$startdir/pkg/usr/lib/libmysqlclient.so.12
ln -sf mysql/libmysqlclient.so.12
$startdir/pkg/usr/lib/libmysqlclient.so
}
I've searched for anyone experiencing a similar problem, but couldn't find any that didn't refer to version 3.x on debian. Any help would be appriciated.
-wd
Hobbes : Shouldn't we read the instructions?
Calvin : Do I look like a sissy?
Offline
ok, figured it out thanks to the following blog and throught I'd post it. http://blogs.sun.com/roller/comments/al … ere_no_end
It turns out is was finding the vis.h, just no the right one. After sed -i 's|HAVE_VIS_H 1|HAVE_VIS_H 0|' config.h it resolves to the correct impl of strvis and strunvis.
later
-wd
Hobbes : Shouldn't we read the instructions?
Calvin : Do I look like a sissy?
Offline
I didn't know you needed that. I had a PKGBUILD or a binary I could have given you. I didn't quite have the same problems compiling as you did though. I had a set of my own. I had to downgrade some dependancy to compile. After I installed, I change the dependancy back to the newest version and everything seems to be working fine.
Offline
here is the package build that works with new latest packages in the repos
pkgname=mysql
pkgver=4.1.6.gamma
_pkgver=4.1.6-gamma
pkgrel=2
pkgdesc="A fast SQL database server"
backup=(etc/my.cnf etc/conf.d/mysqld)
depends=('openssl' 'zlib' 'gcc')
source=(ftp://ftp.orst.edu/pub/mysql/Downloads/MySQL-4.1/mysql-${_pkgver}.tar.gz mysqld my.cnf mysqld.conf.d)
md5sums=()
build() {
cd $startdir/src/$pkgname-${_pkgver}
./configure --prefix=/usr --libexecdir=/usr/sbin
--without-debug --without-docs --without-bench
--with-innodb --enable-local-infile --with-openssl
--with-extra-charsets=complex
# fixes
# fixes
cp config.h config.h.old
cat config.h.old | sed -e 's|^.*HAVE_GETHOSTBYNAME_R_GLIBC2_STYLE.*$|#define HAVE_GETHOSTBYNAME_R_GLIBC2_STYLE|g' -e 's|HAVE_VIS_H 1|HAVE_VIS_H 0|' >config.h
cp sql/mysqld.cc sql/mysqld.cc.old
cat sql/mysqld.cc.old | sed 's|size_socket|socklen_t|g' >sql/mysqld.cc
cp sql/mini_client.cc sql/mini_client.cc.old
cat sql/mini_client.cc.old | sed 's|SOCKOPT_OPTLEN_TYPE|socklen_t|g' >sql/mini_client.cc
make || return 1
make DESTDIR=$startdir/pkg install
rm -rf $startdir/pkg/usr/{mysql-test,sql-bench}
install -D -m644 ../my.cnf $startdir/pkg/etc/my.cnf
install -D -m755 ../mysqld $startdir/pkg/etc/rc.d/mysqld
install -D -m644 ../mysqld.conf.d $startdir/pkg/etc/conf.d/mysqld
ln -sf mysql/libmysqlclient.so.12
$startdir/pkg/usr/lib/libmysqlclient.so.12
ln -sf mysql/libmysqlclient.so.12
$startdir/pkg/usr/lib/libmysqlclient.so
}
Hobbes : Shouldn't we read the instructions?
Calvin : Do I look like a sissy?
Offline