SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Getting a strange problem in the fake install section ( creating content in JAIL root ) of mysql:
Quote:
make[1]: Leaving directory `/tmp/mysql-5.1.47-src-1/scripts'
Making install in strings
make[1]: Entering directory `/tmp/mysql-5.1.47-src-1/strings'
make[2]: Entering directory `/tmp/mysql-5.1.47-src-1/strings'
test -z "/opt/mysql/lib/mysql" || /usr/libexec/src2pkg/bin/mkdir -p "/opt/mysql/lib/mysql"
/usr/libexec/src2pkg/bin/ginstall -c -m 644 'libmystrings.a' '/opt/mysql/lib/mysql/libmystrings.a'
ranlib '/opt/mysql/lib/mysql/libmystrings.a'
ranlib: could not create temporary file whilst writing archive: No more archived files
make[2]: *** [install-pkglibLIBRARIES] Error 1
make[2]: Leaving directory `/tmp/mysql-5.1.47-src-1/strings'
make[1]: *** [install-am] Error 2
make[1]: Leaving directory `/tmp/mysql-5.1.47-src-1/strings'
make: *** [install-recursive] Error 1
Safe content creation - Successful!
Processing package content:
Correcting package permissions - Done
Stripping static archives - Using: strip -p --strip-debug Done
Checking for standard documents - Done
Found 'rc.*.new' file in CWD - Copying to PKG_DIR/etc/rc.d
NOTICE - No man-pages installed by Makefile
Found man-pages in SRC_DIR - Installing in PKG_DIR
Compressing man pages - Done
Verified slack-desc found - Inserting in package as PKG_DIR/install/slack-desc
Found doinst.sh in CWD - Inserting in the package directory
Rechecking package correctness -
Checking for misplaced dirs - Done
Rechecking package permissions -
Notice - Found directories with unusual owner, group or permissions:
750 mysql:mysql opt/mysql/var
Notice - Found files with unusual owner, group or permissions:
775 root:root etc/rc.d/mysql.server
Notice - These files and/or directories are listed for information only.
Corrections may not be needed, but you should check them to be sure.
Creating package: mysql-5.1.47-x86_64-1.txz
The strange thing is the package is still created even though the whole install is not done. As a result there are quite a few missing files. Std configure/make/make install works correctly.
I originally thought the machine was running out of disk space but that doesn't seem to be the issue. I did some googling and came across the possibility that this was permissions but I'm doing this as root so it should be ok.
I also saw that I didn't have -fPIC for a flag but added that and same problem. Any assistance appreciated.
Thanks for the reply knudfl, however I'm trying to solve the problem above building mysql with src2pkg. I know I can build mysql with the slackbuild but that is not my aim. Do you have any ideas on this error?
Quote:
ranlib '/opt/mysql/lib/mysql/libmystrings.a'
ranlib: could not create temporary file whilst writing archive: No more archived files
Thanks Gilbert, I've been trying with UNION now and it seems to have sorted out the issue and packaged the app properly this time. The only problem now is post install with mysql_install_db not being able to install the system dbs but I think that may just be a perms issue. I'll do some testing with DEST as well just to see what happens there. Thanks for all your help.
Ok I've tried all methods now ( except REAL ) and I seem to get the best results with UNION. At least here everything seems to be packaged. Under all circumstances though, mysql_install_db seems to not install the system dbs correctly afterwards with differing results. Some errors are definitely perms issues however the following errors seems to be something else:
Quote:
Install Default DBs
Installing MySQL system tables...
OK
Filling help tables...
ERROR: 1034 Incorrect key file for table 'help_keyword'; try to repair it
100602 0:52:35 [ERROR] Aborting
Even my old compile script seems to be giving this issue above ( with the help files ). Using Pat's slackbuild, I don't get any problems with the db install stage. Doing some more testing ...
See if any of this helps -my mysql.src2pkg script:
Code:
#!/bin/bash
## src2pkg script for: mysql
## src2pkg Copyright 2005-2007 Gilbert Ashley <amigo@ibilio.org>
# Adapted from the mysql.SlackBuild by David Cantrell <david@slackware.com>
SOURCE_NAME='mysql-5.0.51.tar.gz'
NAME='mysql'
VERSION='5.0.51'
ARCH='i486'
BUILD='1'
PRE_FIX='/usr'
# Any extra options go here
EXTRA_CONFIGS='--with-mysqld-user=mysql --with-unix-socket-path=/var/run/mysql/mysql.sock \
--localstatedir=/var/lib/mysql --with-extra-charsets=complex --without-debug \
--without-bench --sysconfdir=/etc/mysql --enable-assembler --libexecdir=/usr/sbin \
--enable-static --with-zlib=/usr/lib --with-openssl=/etc/ssl \
--with-openssl-includes=/usr/include --with-openssl-libs=/usr/lib \
--with-big-tables --with-example-storage-engine \
--with-archive-storage-engine --with-blackhole-storage-engine \
--enable-thread-safe-client'
STD_FLAGS='-O2 -funroll-loops -fomit-frame-pointer -march=i486 -mtune=i686'
DOCLIST='COPYING MIRRORS README ChangeLog Docs/INSTALL-BINARY '
# Get the functions and configs
. /usr/libexec/src2pkg/FUNCTIONS ;
# do_all_processes can substitute these 16 steps:
pre_process
find_source
make_dirs
unpack_source
fix_source_perms
configure_source
compile_source
fake_install
# most of this manual code comes from the SlackBuild for mysql by David Cantrell
# Do not include the test suite:
rm -rf $PKG_DIR/usr/mysql-test
mkdir -p $PKG_DIR/etc/mysql
( cd $SRC_DIR/support-files
cp my-huge.cnf my-large.cnf my-medium.cnf my-small.cnf $PKG/etc/mysql )
# this is the directory where databases are stored
mkdir -p $PKG_DIR/var/lib/mysql
chown mysql.mysql $PKG_DIR/var/lib/mysql
chmod 750 $PKG_DIR/var/lib/mysql
# this is where the socket is stored
mkdir -p $PKG_DIR/var/run/mysql
chown mysql.mysql $PKG_DIR/var/run/mysql
chmod 755 $PKG_DIR/var/run/mysql
# Add init script:
mkdir -p $PKG_DIR/etc/rc.d
# This is intentionally chmod 644.
cat $CWD/rc.mysqld > $PKG_DIR/etc/rc.d/rc.mysqld.new
# Add some handy library symlinks:
if [ -r $PKG_DIR/usr/lib/mysql/libmysqlclient.so.15 ]; then
( cd $PKG_DIR/usr/lib
rm -f libmysqlclient.so libmysqlclient.so.15
ln -sf mysql/libmysqlclient.so .
ln -sf mysql/libmysqlclient.so.15 .
)
fi
if [ -r $PKG_DIR/usr/lib/mysql/libmysqlclient_r.so.15 ]; then
( cd $PKG_DIR/usr/lib
rm -f libmysqlclient_r.so libmysqlclient_r.so.15
ln -sf mysql/libmysqlclient_r.so .
ln -sf mysql/libmysqlclient_r.so.15 .
)
fi
fix_pkg_perms
strip_bins
create_docs
compress_man_pages
make_description
make_doinst
make_package
post_process
Sorry no go on that - I think it's something in the newer 5.1.x mysql that might cause this. After about 50 attempts I've just decided to go with the slackbuild to save some time. Appreciate your help.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.