LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (http://www.linuxquestions.org/questions/slackware-14/)
-   -   Can't Compile and/or Install Guarddog on Slack 13.1_x64 Multilib (http://www.linuxquestions.org/questions/slackware-14/cant-compile-and-or-install-guarddog-on-slack-13-1_x64-multilib-824831/)

beartooth91 08-07-2010 04:57 PM

Can't Compile and/or Install Guarddog on Slack 13.1_x64 Multilib
 
I just installed Slack 13.1 x64 on my laptop and set up multilib per Alien Bob's wiki. I even successfully compiled and installed grub afterwards. But, am having big problems trying to compile or install guarddog.
On my 1st try, I downloaded guarddog from Slackbuilds and replaced the SlackBuild script with this one which is off a thread in this forum:
Code:

#!/bin/sh

# Slackware build script for Guarddog
# Written by Robert Alessi (ralessi@univ-poitiers.fr)
# Modified by the SlackBuilds.org project

# Exit on most errors
set -e

PRGNAM=guarddog
VERSION=2.6.0
ARCH=${ARCH:-x86_64}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}

if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
fi

rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar -xzvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
chmod -R u+w,go+r-w,a-s .

CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--disable-debug \
--program-prefix="" \
--program-suffix="" \
--prefix=/opt/kde3 \
--sysconfdir=/etc \
--localstatedir=/var \
--with-qt-dir=/opt/kde3/lib64/qt3 \
--with-qt-includes=/opt/kde3/lib64/qt3/include \
--with-qt-libraries=/opt/kde3/lib64/qt3/lib


make
make install DESTDIR=$PKG

( cd $PKG
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
)

# Normally this would be /usr/doc instead of /usr/share/doc, but...
# This is a kde app, so it expects /usr/share/doc, and /usr/share/doc
# is a symlink to /usr/doc on Slackware systems anyway, so it really
# doesn't make a difference... :-)
mkdir -p $PKG/usr/share/doc/$PRGNAM-$VERSION
cp -a AUTHORS COPYING ChangeLog INSTALL NEWS README TODO \
$PKG/usr/share/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/share/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
find $PKG/usr/share/doc/$PRGNAM-$VERSION -type f -exec chmod 644 {} \;

mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc

cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.tgz

It **appears** to compile, but, no .tgz package is made. I have folders and files under /tmp/SBo.

So, then I went back to SlackBuilds and downloaded this, original, 12.2 SlackBuild file:
Code:

#!/bin/sh

# Slackware build script for Guarddog
# Written by Robert Alessi (ralessi@univ-poitiers.fr)
# Modified by the SlackBuilds.org project

# Exit on most errors
set -e

PRGNAM=guarddog
VERSION=2.6.0
ARCH=${ARCH:-x86_64}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}

if [ "$ARCH" = "i486" ]; then
  SLKCFLAGS="-O2 -march=i486 -mtune=i686"
elif [ "$ARCH" = "i686" ]; then
  SLKCFLAGS="-O2 -march=i686 -mtune=i686"
fi

rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar -xzvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
chmod -R u+w,go+r-w,a-s .

CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
  --disable-debug \
  --program-prefix="" \
  --program-suffix="" \
  --prefix=/usr \
  --sysconfdir=/etc \
  --localstatedir=/var

make
make install DESTDIR=$PKG

( cd $PKG
  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
)

# Normally this would be /usr/doc instead of /usr/share/doc, but...
# This is a kde app, so it expects /usr/share/doc, and /usr/share/doc
# is a symlink to /usr/doc on Slackware systems anyway, so it really
# doesn't make a difference... :-)
mkdir -p $PKG/usr/share/doc/$PRGNAM-$VERSION
cp -a AUTHORS COPYING ChangeLog INSTALL NEWS README TODO  \
  $PKG/usr/share/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/share/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
find $PKG/usr/share/doc/$PRGNAM-$VERSION -type f -exec chmod 644 {} \;

mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc

cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.tgz

Per Alien Bob's wiki, I changed the arch variable to "-x86_64" in the script and ran ". /etc/profile.d/32dev.sh" prior to running the SlackBuild script. When executing the SlackBuild script, the compiler hangs at "checking for gcc... gcc" and that's it.

Any ideas on how to get one of the above to work?

thanks

mlangdn 08-08-2010 06:20 AM

You should find the finished package in /tmp - not /tmp/SBo.
Try another look in just /tmp.

BrZ 08-08-2010 09:37 AM

I remember following some thread here on LQ about script changes after some major bash(?) update (like make || exit 1) and the strip block also need some changes. Your second script is targeted to i486/i686 (missing "$ARCH" = "x86_64").

To build Guarddog you'll need qt3 and kde3.5 libs...

beartooth91 08-08-2010 10:14 AM

More Info
 
Had a couple other tries at building this morning. Still unsuccessful. For both of the above SlackBuild scripts, I did the logging thing per the SlackBuild faqs:
Code:

./guarddog.SlackBuild 2>&1 | tee build-guarddog.log
(Also, I did - and had before - modified the ARCH line in the original 12.2 SlackBuild script for "-x86_64".)

I ran both and got this same error:
Code:

checking for perl... /usr/bin/perl
checking for Qt... configure: error: Qt (>= Qt 3.0 and < 4.0) (library qt-mt) not found. Please check your installation!
For more details about this problem, look at the end of config.log.
Make sure that you have compiled Qt with thread support!

Interestingly enough, I did install kde3-compat packages from /extra yesterday and /opt/kde3/lib64/qt3/include and lib folders are present on my system. I get this with both SlackBuild scripts, above.

Now, running Alien Bob's ". /etc/profile.d/32dev.sh" prior to running the SlackBuild script causes it to hang at:
Code:

Checking for gcc... gcc
As for kde 3.5 libs - I'll have to research that. And, Guarddog compiled just fine on my Slack 13.0_x64 install.

Since I also have the 13.1 32-bit install dvd; does anyone know if it'll compile under that (if I give up on Slack64)?


All times are GMT -5. The time now is 11:24 AM.