Slackware This 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.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
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.
09-28-2016, 02:21 AM
#1
LQ Newbie
Registered: Oct 2013
Posts: 9
Rep:
Building Weston
Hi! I'm trying to build Weston on Slackware -current. It's failing at the linking stage:
Code:
CC clients/weston_subsurfaces-subsurfaces.o
CCLD weston_subsurfaces
/usr/local/lib/libxcb-shm.so: undefined reference to `xcb_send_request_with_fds'
collect2: error: ld returned 1 exit status
I use
pam
libxcb-1.12
MarkupSafe
Mako
wayland.SlackBuild
Code:
#!/bin/sh
# Slackware build script for Wayland
PRGNAM=Wayland
#VERSION=${VERSION:-$(date +"%Y%m%d")}
VERSION=${VERSION:-20160928}
BUILD=${BUILD:-1}
TAG=${TAG:-_WL}
SRCNAM=wayland
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
# Check if we have the tarball
if [ ! -r $SRCNAM-$VERSION.tar.bz2 ]; then
echo ""
echo "$SRCNAM-$VERSION.tar.bz2 not found."
echo ""
git clone git://anongit.freedesktop.org/wayland/wayland wayland/wayland || exit 1
git clone git://anongit.freedesktop.org/git/mesa/drm wayland/drm || exit 1
git clone git://anongit.freedesktop.org/xcb/proto wayland/proto || exit 1
git clone git://anongit.freedesktop.org/xorg/util/macros wayland/macros || exit 1
git clone git://anongit.freedesktop.org/xcb/libxcb wayland/libxcb || exit 1
git clone git://anongit.freedesktop.org/xorg/proto/presentproto wayland/presentproto || exit 1
git clone git://anongit.freedesktop.org/xorg/proto/dri3proto wayland/dri3proto || exit 1
git clone git://anongit.freedesktop.org/xorg/lib/libxshmfence wayland/libxshmfence || exit 1
git clone git://github.com/xkbcommon/libxkbcommon wayland/libxkbcommon || exit 1
git clone git://anongit.freedesktop.org/mesa/mesa wayland/mesa || exit 1
git clone git://anongit.freedesktop.org/pixman wayland/pixman || exit 1
git clone git://anongit.freedesktop.org/cairo wayland/cairo || exit 1
git clone git://git.sv.gnu.org/libunwind wayland/libunwind || exit 1
git clone git://anongit.freedesktop.org/libevdev wayland/libevdev || exit 1
git clone git://anongit.freedesktop.org/wayland/wayland-protocols wayland/wayland-protocols || exit 1
git clone git://git.code.sf.net/p/linuxwacom/libwacom wayland/libwacom || exit 1
git clone git://anongit.freedesktop.org/wayland/libinput wayland/libinput || exit 1
git clone git://anongit.freedesktop.org/wayland/weston wayland/weston || exit 1
git clone git://github.com/anholt/libepoxy wayland/libepoxy || exit 1
git clone git://anongit.freedesktop.org/xorg/proto/glproto wayland/glproto || exit 1
git clone git://anongit.freedesktop.org/xorg/proto/xproto wayland/xproto || exit 1
git clone git://anongit.freedesktop.org/xorg/proto/xcmiscproto wayland/xcmiscproto || exit 1
git clone git://anongit.freedesktop.org/xorg/lib/libxtrans wayland/libxtrans || exit 1
git clone git://anongit.freedesktop.org/xorg/proto/bigreqsproto wayland/bigreqsproto || exit 1
git clone git://anongit.freedesktop.org/xorg/proto/xextproto wayland/xextproto || exit 1
git clone git://anongit.freedesktop.org/xorg/proto/fontsproto wayland/fontsproto || exit 1
git clone git://anongit.freedesktop.org/xorg/proto/videoproto wayland/videoproto || exit 1
git clone git://anongit.freedesktop.org/xorg/proto/recordproto wayland/recordproto || exit 1
git clone git://anongit.freedesktop.org/xorg/proto/resourceproto wayland/resourceproto || exit 1
git clone git://anongit.freedesktop.org/xorg/proto/xf86driproto wayland/xf86driproto || exit 1
git clone git://anongit.freedesktop.org/xorg/proto/randrproto wayland/randrproto || exit 1
git clone git://anongit.freedesktop.org/xorg/lib/libxkbfile wayland/libxkbfile || exit 1
git clone git://anongit.freedesktop.org/xorg/lib/libXfont wayland/libXfont || exit 1
git clone git://anongit.freedesktop.org/xorg/xserver wayland/xserver || exit 1
find $SRCNAM -name ".*" -print0 | xargs -0 rm -rf 2> /dev/null
tar -cvjf $SRCNAM-$VERSION.tar.bz2 $SRCNAM || exit 1
rm -rf $SRCNAM
fi
CWD=$(pwd)
TMP=${TMP:-/tmp/WL}
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
set -e
rm -rf $TMP/package-$PRGNAM-*
mkdir -p $TMP $OUTPUT
cd $TMP
rm -rf $SRCNAM
tar xvf $CWD/$SRCNAM-$VERSION.tar.bz2
cd $SRCNAM
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
-o -perm 511 \) -exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
# Setup environment for local install:
WLD=/usr/local
export LD_LIBRARY_PATH=$WLD/lib${LIBDIRSUFFIX}
export PKG_CONFIG_PATH=$WLD/lib${LIBDIRSUFFIX}/pkgconfig/:$WLD/share/pkgconfig/
export PATH=$WLD/bin:$PATH
ACLOCAL_PATH=$WLD/share/aclocal
export ACLOCAL="aclocal -I $ACLOCAL_PATH"
INCLUDE_XWAYLAND=1
if [ "$ARCH" = "i?86" ]; then
export WL_BITS=32
else
export WL_BITS=64
fi
# Set up a few useful functions:
build() {
make
make install DESTDIR=$PKG
mkdir -p $PKG/usr/doc/$PRGNAM-$PKGNAME-$VERSION
cp -a \
AUTHORS* COPYING* INSTALL* README* NEWS* TODO* \
$PKG/usr/doc/$PRGNAM-$PKGNAME-$VERSION || true
if [ -r ChangeLog ]; then
DOCSDIR=$(echo $PKG/usr/doc/$PRGNAM-$PKGNAME-$VERSION)
cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
touch -r ChangeLog $DOCSDIR/ChangeLog
fi
find $PKG/usr/doc/$PRGNAM-$PKGNAME-$VERSION -type f -size 0 -exec rm --verbose "{}" \;
rmdir --verbose $PKG/usr/doc/$PRGNAM-$PKGNAME-$VERSION 2> /dev/null || true
( cd $PKG
find . -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
if [ -d usr/local/man ]; then
( cd usr/local/man
for manpagedir in $(find . -type d -name "man*") ; do
( cd $manpagedir
for eachpage in $( find . -type l -maxdepth 1) ; do
ln -s $( readlink $eachpage ).gz $eachpage.gz
rm $eachpage
done
gzip -9 *.*
)
done
)
fi
if [ -d usr/local/info ]; then
( cd usr/local/info
rm -f dir
gzip -9 *
)
fi
if [ -d usr/local/share/doc ]; then
mv usr/local/share/doc/* usr/doc/$PRGNAM-$PKGNAME-$VERSION
rmdir usr/local/share/doc
rmdir usr/local/share || true
fi
mkdir -p $PKG/install
touch $PKG/install/slack-desc-missing
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$PKGNAME-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
/sbin/upgradepkg --install-new --reinstall $OUTPUT/$PRGNAM-$PKGNAME-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
)
}
cd wayland && pwd
PKGNAME=wayland
PKG=$TMP/package-$PRGNAM-$PKGNAME
mkdir -p $PKG
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./autogen.sh --prefix=$WLD \
--disable-documentation \
--libdir=$WLD/lib${LIBDIRSUFFIX} \
--mandir=$WLD/man \
--build=$ARCH-slackware-linux
build
cd -
cd wayland-protocols && pwd
PKGNAME=wayland-protocols
PKG=$TMP/package-$PRGNAM-$PKGNAME
mkdir -p $PKG
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./autogen.sh --prefix=$WLD \
--libdir=$WLD/lib${LIBDIRSUFFIX} \
--mandir=$WLD/man \
--build=$ARCH-slackware-linux
build
cd -
cd libxcb && pwd
PKGNAME=libxcb
PKG=$TMP/package-$PRGNAM-$PKGNAME
mkdir -p $PKG
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./autogen.sh --prefix=$WLD \
--libdir=$WLD/lib${LIBDIRSUFFIX} \
--mandir=$WLD/man \
--build=$ARCH-slackware-linux
build
cd -
cd drm && pwd
PKGNAME=drm
PKG=$TMP/package-$PRGNAM-$PKGNAME
mkdir -p $PKG
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./autogen.sh --prefix=$WLD \
--disable-libkms \
--libdir=$WLD/lib${LIBDIRSUFFIX} \
--mandir=$WLD/man \
--build=$ARCH-slackware-linux
build
cd -
cd proto && pwd
PKGNAME=proto
PKG=$TMP/package-$PRGNAM-$PKGNAME
mkdir -p $PKG
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./autogen.sh --prefix=$WLD \
--libdir=$WLD/lib${LIBDIRSUFFIX} \
--mandir=$WLD/man \
--build=$ARCH-slackware-linux
build
cd -
cd macros && pwd
PKGNAME=macros
PKG=$TMP/package-$PRGNAM-$PKGNAME
mkdir -p $PKG
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./autogen.sh --prefix=$WLD \
--libdir=$WLD/lib${LIBDIRSUFFIX} \
--mandir=$WLD/man \
--build=$ARCH-slackware-linux
build
cd -
cd presentproto && pwd
PKGNAME=presentproto
PKG=$TMP/package-$PRGNAM-$PKGNAME
mkdir -p $PKG
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./autogen.sh --prefix=$WLD \
--libdir=$WLD/lib${LIBDIRSUFFIX} \
--mandir=$WLD/man \
--build=$ARCH-slackware-linux
build
cd -
cd dri3proto && pwd
PKGNAME=dri3proto
PKG=$TMP/package-$PRGNAM-$PKGNAME
mkdir -p $PKG
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./autogen.sh --prefix=$WLD \
--libdir=$WLD/lib${LIBDIRSUFFIX} \
--mandir=$WLD/man \
--build=$ARCH-slackware-linux
build
cd -
cd libxshmfence && pwd
PKGNAME=libxshmfence
PKG=$TMP/package-$PRGNAM-$PKGNAME
mkdir -p $PKG
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./autogen.sh --prefix=$WLD \
--libdir=$WLD/lib${LIBDIRSUFFIX} \
--mandir=$WLD/man \
--build=$ARCH-slackware-linux
build
cd -
cd libxkbcommon && pwd
PKGNAME=libxkbcommon
PKG=$TMP/package-$PRGNAM-$PKGNAME
mkdir -p $PKG
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./autogen.sh --prefix=$WLD \
--with-xkb-config-root=/usr/share/X11/xkb \
--with-x-locale-root=/usr/share/X11/locale \
--disable-x11 \
--libdir=$WLD/lib${LIBDIRSUFFIX} \
--mandir=$WLD/man \
--build=$ARCH-slackware-linux
build
cd -
llvm_drivers=swrast,nouveau,r300,r600
vga_pci=$(lspci | grep VGA | head -n1)
vga_name=${vga_pci#*controller: }
vga_manu=${vga_name%% *}
if [ "${vga_manu}" = "NVIDIA" ]; then
llvm_drivers=swrast,nouveau
fi
cd mesa && pwd
PKGNAME=mesa
PKG=$TMP/package-$PRGNAM-$PKGNAME
mkdir -p $PKG
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./autogen.sh --prefix=$WLD \
--enable-gles2 \
--with-egl-platforms=x11,wayland,drm \
--enable-gbm \
--enable-shared-glapi \
--disable-llvm-shared-libs \
--disable-dri3 \
--with-gallium-drivers=$llvm_drivers \
--libdir=$WLD/lib${LIBDIRSUFFIX} \
--mandir=$WLD/man \
--build=$ARCH-slackware-linux
build
cd -
cd pixman && pwd
PKGNAME=pixman
PKG=$TMP/package-$PRGNAM-$PKGNAME
mkdir -p $PKG
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./autogen.sh --prefix=$WLD \
--libdir=$WLD/lib${LIBDIRSUFFIX} \
--mandir=$WLD/man \
--build=$ARCH-slackware-linux
build
cd -
cd cairo && pwd
PKGNAME=cairo
PKG=$TMP/package-$PRGNAM-$PKGNAME
mkdir -p $PKG
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./autogen.sh --prefix=$WLD \
--enable-xcb \
--enable-gl \
--libdir=$WLD/lib${LIBDIRSUFFIX} \
--mandir=$WLD/man \
--build=$ARCH-slackware-linux
build
cd -
cd libunwind && pwd
PKGNAME=libunwind
PKG=$TMP/package-$PRGNAM-$PKGNAME
mkdir -p $PKG
autoreconf -i
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure --prefix=$WLD \
--libdir=$WLD/lib${LIBDIRSUFFIX} \
--mandir=$WLD/man \
--build=$ARCH-slackware-linux
build
cd -
cd libevdev && pwd
PKGNAME=libevdev
PKG=$TMP/package-$PRGNAM-$PKGNAME
mkdir -p $PKG
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./autogen.sh --prefix=$WLD \
--libdir=$WLD/lib${LIBDIRSUFFIX} \
--mandir=$WLD/man \
--build=$ARCH-slackware-linux
build
cd -
rm -rf wayland-protocols
cd ..
tar xvf $CWD/$SRCNAM-$VERSION.tar.bz2 wayland/wayland-protocols
cd -
cd wayland-protocols && pwd
PKGNAME=wayland-protocols
PKG=$TMP/package-$PRGNAM-$PKGNAME
rm -rf $PKG
mkdir -p $PKG
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./autogen.sh --prefix=$WLD \
--libdir=$WLD/lib${LIBDIRSUFFIX} \
--mandir=$WLD/man \
--build=$ARCH-slackware-linux
build
cd -
cd libwacom && pwd
PKGNAME=libwacom
PKG=$TMP/package-$PRGNAM-$PKGNAME
mkdir -p $PKG
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./autogen.sh --prefix=$WLD \
--libdir=$WLD/lib${LIBDIRSUFFIX} \
--mandir=$WLD/man \
--build=$ARCH-slackware-linux
build
cd -
cd libinput && pwd
PKGNAME=libinput
PKG=$TMP/package-$PRGNAM-$PKGNAME
mkdir -p $PKG
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./autogen.sh --prefix=$WLD \
--libdir=$WLD/lib${LIBDIRSUFFIX} \
--mandir=$WLD/man \
--build=$ARCH-slackware-linux
build
cd -
if [ ${INCLUDE_XWAYLAND} ]; then
if [ ${WL_BITS} = 32 ]; then
cd libxtrans && pwd
PKGNAME=libxtrans
PKG=$TMP/package-$PRGNAM-$PKGNAME
mkdir -p $PKG
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./autogen.sh --prefix=$WLD \
--libdir=$WLD/lib${LIBDIRSUFFIX} \
--mandir=$WLD/man \
--build=$ARCH-slackware-linux
build
cd -
fi
cd xproto && pwd
PKGNAME=xproto
PKG=$TMP/package-$PRGNAM-$PKGNAME
mkdir -p $PKG
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./autogen.sh --prefix=$WLD \
--libdir=$WLD/lib${LIBDIRSUFFIX} \
--mandir=$WLD/man \
--build=$ARCH-slackware-linux
build
cd -
cd libepoxy && pwd
PKGNAME=libepoxy
PKG=$TMP/package-$PRGNAM-$PKGNAME
mkdir -p $PKG
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./autogen.sh --prefix=$WLD \
--libdir=$WLD/lib${LIBDIRSUFFIX} \
--mandir=$WLD/man \
--build=$ARCH-slackware-linux
build
cd -
cd glproto && pwd
PKGNAME=glproto
PKG=$TMP/package-$PRGNAM-$PKGNAME
mkdir -p $PKG
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./autogen.sh --prefix=$WLD \
--libdir=$WLD/lib${LIBDIRSUFFIX} \
--mandir=$WLD/man \
--build=$ARCH-slackware-linux
build
cd -
cd xcmiscproto && pwd
PKGNAME=xcmiscproto
PKG=$TMP/package-$PRGNAM-$PKGNAME
mkdir -p $PKG
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./autogen.sh --prefix=$WLD \
--libdir=$WLD/lib${LIBDIRSUFFIX} \
--mandir=$WLD/man \
--build=$ARCH-slackware-linux
build
cd -
rm -rf libxtrans
cd ..
tar xvf $CWD/$SRCNAM-$VERSION.tar.bz2 wayland/libxtrans
cd -
cd libxtrans && pwd
PKGNAME=libxtrans
PKG=$TMP/package-$PRGNAM-$PKGNAME
rm -rf $PKG
mkdir -p $PKG
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./autogen.sh --prefix=$WLD \
--libdir=$WLD/lib${LIBDIRSUFFIX} \
--mandir=$WLD/man \
--build=$ARCH-slackware-linux
build
cd -
cd bigreqsproto && pwd
PKGNAME=bigreqsproto
PKG=$TMP/package-$PRGNAM-$PKGNAME
mkdir -p $PKG
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./autogen.sh --prefix=$WLD \
--libdir=$WLD/lib${LIBDIRSUFFIX} \
--mandir=$WLD/man \
--build=$ARCH-slackware-linux
build
cd -
cd xextproto && pwd
PKGNAME=xextproto
PKG=$TMP/package-$PRGNAM-$PKGNAME
mkdir -p $PKG
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./autogen.sh --prefix=$WLD \
--libdir=$WLD/lib${LIBDIRSUFFIX} \
--mandir=$WLD/man \
--build=$ARCH-slackware-linux
build
cd -
cd fontsproto && pwd
PKGNAME=fontsproto
PKG=$TMP/package-$PRGNAM-$PKGNAME
mkdir -p $PKG
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./autogen.sh --prefix=$WLD \
--libdir=$WLD/lib${LIBDIRSUFFIX} \
--mandir=$WLD/man \
--build=$ARCH-slackware-linux
build
cd -
cd videoproto && pwd
PKGNAME=videoproto
PKG=$TMP/package-$PRGNAM-$PKGNAME
mkdir -p $PKG
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./autogen.sh --prefix=$WLD \
--libdir=$WLD/lib${LIBDIRSUFFIX} \
--mandir=$WLD/man \
--build=$ARCH-slackware-linux
build
cd -
cd recordproto && pwd
PKGNAME=recordproto
PKG=$TMP/package-$PRGNAM-$PKGNAME
mkdir -p $PKG
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./autogen.sh --prefix=$WLD \
--libdir=$WLD/lib${LIBDIRSUFFIX} \
--mandir=$WLD/man \
--build=$ARCH-slackware-linux
build
cd -
cd resourceproto && pwd
PKGNAME=resourceproto
PKG=$TMP/package-$PRGNAM-$PKGNAME
mkdir -p $PKG
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./autogen.sh --prefix=$WLD \
--libdir=$WLD/lib${LIBDIRSUFFIX} \
--mandir=$WLD/man \
--build=$ARCH-slackware-linux
build
cd -
cd xf86driproto && pwd
PKGNAME=xf86driproto
PKG=$TMP/package-$PRGNAM-$PKGNAME
mkdir -p $PKG
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./autogen.sh --prefix=$WLD \
--libdir=$WLD/lib${LIBDIRSUFFIX} \
--mandir=$WLD/man \
--build=$ARCH-slackware-linux
build
cd -
cd randrproto && pwd
PKGNAME=randrproto
PKG=$TMP/package-$PRGNAM-$PKGNAME
mkdir -p $PKG
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./autogen.sh --prefix=$WLD \
--libdir=$WLD/lib${LIBDIRSUFFIX} \
--mandir=$WLD/man \
--build=$ARCH-slackware-linux
build
cd -
cd libxkbfile && pwd
PKGNAME=libxkbfile
PKG=$TMP/package-$PRGNAM-$PKGNAME
mkdir -p $PKG
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./autogen.sh --prefix=$WLD \
--libdir=$WLD/lib${LIBDIRSUFFIX} \
--mandir=$WLD/man \
--build=$ARCH-slackware-linux
build
cd -
cd libXfont && pwd
PKGNAME=libXfont
PKG=$TMP/package-$PRGNAM-$PKGNAME
mkdir -p $PKG
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./autogen.sh --prefix=$WLD \
--libdir=$WLD/lib${LIBDIRSUFFIX} \
--mandir=$WLD/man \
--build=$ARCH-slackware-linux
build
cd -
cd xserver && pwd
PKGNAME=xserver
PKG=$TMP/package-$PRGNAM-$PKGNAME
mkdir -p $PKG
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./autogen.sh --prefix=$WLD \
--disable-devel-docs \
--enable-xwayland \
--disable-xorg \
--disable-xvfb \
--disable-xnest \
--disable-xquartz \
--disable-xwin \
--libdir=$WLD/lib${LIBDIRSUFFIX} \
--mandir=$WLD/man \
--build=$ARCH-slackware-linux
mkdir -p $PKG/usr/local/share/X11/xkb/rules
mkdir -p $PKG/usr/local/bin
( cd $PKG/usr/local/share/X11/xkb/rules ; ln -s ../../../../../share/X11/xkb/rules/evdev )
( cd $PKG/usr/local/bin ; ln -s ../../bin/xkbcomp )
build
cd -
fi
cd weston && pwd
PKGNAME=weston
PKG=$TMP/package-$PRGNAM-$PKGNAME
mkdir -p $PKG
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./autogen.sh --prefix=$WLD \
--with-cairo=image \
--with-xserver-path=$WLD/bin/Xwayland \
--enable-setuid-install=no \
--enable-clients \
--enable-headless-compositor \
--enable-demo-clients-install \
--libdir=$WLD/lib${LIBDIRSUFFIX} \
--mandir=$WLD/man \
--build=$ARCH-slackware-linux
mkdir -p $PKG/usr/doc/$PRGNAM-$PKGNAME-$VERSION
( cd $PKG/usr/doc/$PRGNAM-$PKGNAME-$VERSION ; cat <<'EOF' > running_weston.txt
Running Weston
--------------
Weston creates its unix socket file (for example, wayland-0) in the directory
specified by the required environment variable $XDG_RUNTIME_DIR. Clients use
the same variable to find that socket.
If you are using a distro that does set $XDG_RUNTIME_DIR for you, you can skip
this part. Otherwise, you must set it using your shell profile capability.
You should use the profile file if there is any, otherwise the login file will
do the trick. ~/.profile is generally a good guess, for most Bourne-shell
compatible shells.
We will use /tmp as the base to put our $XDG_RUNTIME_DIR in. Since /tmp can
be a tmpfs, and thus wiped on restart, we should take care of creating it when
we need it. Also, if you share your computer between several users, you must
take care of using a unique $XDG_RUNTIME_DIR for each one. We will also check
if the variable is already set. This way, if your system starts providing it,
you will use it directly. It is also useful if you want to use your profile
file on different systems.
Here is the code to put in your shell profile file (it is Bourne-shell
compatible, feel free to adapt it to your shell’s internals):
if test -z "${XDG_RUNTIME_DIR}"; then
export XDG_RUNTIME_DIR=/tmp/${UID}-runtime-dir
if ! test -d "${XDG_RUNTIME_DIR}"; then
mkdir "${XDG_RUNTIME_DIR}"
chmod 0700 "${XDG_RUNTIME_DIR}"
fi
fi
Copy the weston/weston.ini file and edit it to set a background image that
you like:
$ mkdir -p ~/.config
$ cp weston.ini ~/.config
If $DISPLAY is set, the weston will run under X in a window and take input
from X. Run the compositor by typing:
$ weston
Otherwise (outside of X) it will run on the KMS/DRM framebuffer and take
input from evdev devices. Use weston-launch, which as a setuid-root program
does privileged operations on Weston's behalf.
# groupadd weston-launch
# usermod -a -G weston-launch,input username
Log all the way out (of X, etc.)
$ weston-launch
To run Weston with XWayland (X Clients under Wayland), in a non-X environment:
$ weston-launch -- --modules=xwayland.so
It is not possible to do an X screen dump of this: the standard X tools such as
gnome-screenshot will try to connect to the X server, and there isn't one running.
EOF
)
build
cd -
exit 0
# End
09-28-2016, 01:31 PM
#3
Member
Registered: Jun 2002
Location: South Africa
Distribution: Custom slackware64-current
Posts: 307
Rep:
Quote:
Originally Posted by
cnv
/usr/local/lib/libxcb-shm.so: undefined reference to `xcb_send_request_with_fds'
The libxcb you've installed in /usr/local is going to conflict with the libxcb that was installed with Slackware. You first need to "make uninstall" or manually remove the libraries and header files installed in /usr/local.
Then (if you're still determined to upgrade libxcb) you need to copy the whole source/x/x11 tree over from -current to wherever your build scripts are. Then replace libxcb-1.11.1 and xcb-proto-1.11 in source/x/x11/src/xcb with the new 1.12 sources and build and install them by running the x11.SlackBuild like this: "./x11.SlackBuild xcb".
From my own experience with building weston (I have 1.11.0 here) you will also need
libxkbcommon , libinput and wayland-protocols. You could probably get away with using the
wayland.SlackBuild as a "template" for those last two packages.
09-28-2016, 02:24 PM
#4
LQ Guru
Registered: Jul 2011
Location: California
Distribution: Slackware64-15.0 Multilib
Posts: 6,554
Be forewarned, Weston does have some issues with session handling with ConsoleKit2 still since it doesn't have all the abilities of logind yet. You might want to test a build of elogind alongside it.
Also, remember to treat Weston as a preliminary environment for testing wayland. It is not a full environment and actually has less functionality than twm. If you want a wayland capable environment, try Enlightenment or KDE/Plasma5.
1 members found this post helpful.
09-29-2016, 02:14 AM
#5
LQ Newbie
Registered: Oct 2013
Posts: 9
Original Poster
Rep:
Thanks for these tips.
Sorry, I mistype xcb-proto-1.12 and wrote libxcb-1.12 instead.
10-02-2016, 01:50 AM
#6
LQ Newbie
Registered: Oct 2013
Posts: 9
Original Poster
Rep:
Finally, I restore the xcb-proto-1.11 Slackware package and change the build order.
Code:
Description: Build libxcb after proto aka xcb-proto
--- a/wayland.SlackBuild 2016-10-02 00:32:03.646941713 +0400
+++ b/wayland.SlackBuild 2016-10-02 11:36:17.228025084 +0400
@@ -190,4 +190,4 @@
-cd libxcb && pwd
-PKGNAME=libxcb
+cd drm && pwd
+PKGNAME=drm
PKG=$TMP/package-$PRGNAM-$PKGNAME
@@ -197,2 +197,3 @@
./autogen.sh --prefix=$WLD \
+ --disable-libkms \
--libdir=$WLD/lib${LIBDIRSUFFIX} \
@@ -203,4 +204,5 @@
-cd drm && pwd
-PKGNAME=drm
+# xcb-proto
+cd proto && pwd
+PKGNAME=proto
PKG=$TMP/package-$PRGNAM-$PKGNAME
@@ -210,3 +212,2 @@
./autogen.sh --prefix=$WLD \
- --disable-libkms \
--libdir=$WLD/lib${LIBDIRSUFFIX} \
@@ -217,4 +218,4 @@
-cd proto && pwd
-PKGNAME=proto
+cd libxcb && pwd
+PKGNAME=libxcb
PKG=$TMP/package-$PRGNAM-$PKGNAME
Then, I replaced the libtool-archives, otherwise libtool pick up libs in /usr/lib first.
Code:
# cd /usr/lib
# mkdir libtool-archives
# ls -l | grep "\.la"
# mv *.la libtool-archives
Build.
Code:
# cd /build/dir
# removepkg /var/log/packages/Wayland-*
# ./wayland.SlackBuild
Restore libtool-archives.
Code:
# cd /usr/lib/libtool-archives
# ls -l
# mv *.la ..
Screenshot
1 members found this post helpful.
All times are GMT -5. The time now is 06:20 AM .
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know .
Latest Threads
LQ News