You are not logged in.
Pages: 1
Hi,
I'm trying to install xfce4-eyes-plugin on my Debian Wheezy system. While Ubuntu 14.04 LTS shows the package at revision 4.4.1, it does not seem to be available on any Debian release, so I downloaded xfce4-eyes-plugin-4.4.1.tar.bz2.
Doing ./configure as a normal user proceeds OK until this:
checking for libxfce4panel-1.0 >= 4.3.99.1... not found
*** The required package libxfce4panel-1.0 was not found on your system.
*** Please install libxfce4panel-1.0 (atleast version 4.3.99.1) or adjust
*** the PKG_CONFIG_PATH environment variable if you
*** installed the package in a nonstandard prefix so that
*** pkg-config is able to find it
I have Debian Wheezy xfce4-panel 4.8.6-4 installed into its standard locations and
/usr/lib/x86_64-linux-gnu/libxfce4panel-1.0.so.3.0.0
exists.
I've also gone thru the exercise of trying to install from tarballs at other revisions with the same or similar results. So what do I need to do to make the ./configure stage aware of libxfce4panel-1.0?
Thanks,
Offline
did you install the -dev package?
also here is the script i use to install it on testing:
steps should be similar on oldstable but probably with different libraries
#!/bin/sh
type curl >/dev/null 2>&1 || {
echo >&2 "I require curl but it's not installed. Aborting.";exit 1;}
type su-to-root >/dev/null 2>&1 || {
echo >&2 "I require menu, but it's not installed. aborting!";exit 1;}
pkgname="xfce4-eyes-plugin"
pkgver=$(curl http://git.xfce.org/panel-plugins/xfce4-eyes-plugin/plain/NEWS|head -1|cut -d" " -f1)
pkgsection="xfce"
pkgmakedepends="git build-essential xfce4-dev-tools autoconf intltool libtool libgtk2.0-dev libxfce4ui-1-dev xfce4-panel-dev"
pkgshortdesc="Xfce eyes panel plugin."
pkgdepends="libgtk2.0-0 libxfce4ui-1-0 xfce4-panel libxfce4util7"
pkgconflicts=""
pkgreplaces=""
pkgprovides=""
pkgrecommends=""
pkgsuggests=""
build() {
git clone git://git.xfce.org/panel-plugins/xfce4-eyes-plugin "$builddir"
cd "$buildir"
./autogen.sh --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
--libdir=/usr/lib/$(gcc -print-multiarch)
make
make install DESTDIR=${filedir}
}
########################################################################
scriptdepends="debhelper dpkg-dev fakeroot sed gawk grep findutils binutils \
coreutils libfile-fcntllock-perl"
basedir="$(dirname "$(readlink -f "${0}")")/build-$pkgname"
builddir="$basedir"/build
debfolder="$basedir"/debian
filedir="$basedir"/files
mkdir -p "$basedir" "$builddir" "$filedir"
mkdir -p "$debfolder"/source
date=$(date '-R')
create_debfiles() {
cat <<EOF > "$debfolder"/control
Source: $pkgname
Section: $pkgsection
Priority: optional
Maintainer: $USER <$USER@$(cat /etc/hostname)>
Build-Depends: debhelper (>= 7)
Standards-Version: 3.9.6
Package: $pkgname
Architecture: $(dpkg-architecture -qDEB_HOST_ARCH)
Conflicts: $(echo "$pkgconflicts"|sed 's# #, #g')
Replaces: $(echo "$pkgreplaces"|sed 's# #, #g')
Depends: $(echo "$pkgdepends"|sed 's# #, #g')
Recommends: $(echo "$pkgrecommends"|sed 's# #, #g')
Suggests: $(echo "$pkgsuggests"|sed 's# #, #g')
Provides: $(echo "$pkgprovides"|sed 's# #, #g')
Description: $pkgshortdesc
EOF
cat <<EOF > "$debfolder"/rules
#!/usr/bin/make -f
build: build-arch build-indep
build-arch: build-stamp
build-indep: build-stamp
build-stamp:
dh_testdir
touch build-stamp
clean:
dh_testdir
dh_testroot
rm -f build-stamp
dh_clean
install: build
dh_testdir
dh_testroot
dh_prep
dh_installdirs
mv "$basedir"/files/* "$debfolder/$pkgname"
binary-indep: build install
dh_testdir
dh_testroot
dh_installdocs
dh_installchangelogs
dh_fixperms
dh_compress
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb
dh_clean
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install
EOF
cat <<EOF > "$debfolder"/changelog
$pkgname ($pkgver-1) unstable; urgency=low
new upsteam release
-- $USER <$USER@$(cat /etc/hostname)> $date
EOF
chmod +x "$debfolder"/rules
printf "3.0 (native)\n" > "$debfolder/source/format"
printf "7\n" > "$debfolder/compat"
}
install_depends() {
dpkg --get-selections|awk '{if ($2 == "install") print $1}' > "$basedir"/installed
printf "trying to install build dependencies\n"
su-to-root -c "apt update; apt-get install --no-install-recommends $pkgmakedepends $pkgdepends $scriptdepends"
dpkg --get-selections|awk '{if ($2 == "install") print $1}' > "$basedir"/installed-new
}
clean(){
pkgdiff=$(diff installed installed-new | grep ">" | tr "\n" " " | sed -e 's/> //' -e 's/ > / /g')
if [ ! -z "$pkgdiff" ]; then
printf "trying to remove build dependencies\n"
su-to-root -c "apt-get -m remove $pkgdiff"
fi
}
package() {
fakeroot debian/rules binary
}
if [ ! -t 0 ]; then
x-terminal-emulator -e "$0"
exit 0
fi
install_depends
create_debfiles
cd "${builddir}";build
cd "${basedir}";package
hostarch=$(dpkg-architecture -qDEB_HOST_ARCH)
cd "${basedir}"
clean
if [ -f ../${pkgname}_${pkgver}-1_${hostarch}.deb ]; then
printf "Would you like to install the package now? [N/y]"; read ny
case $ny in
[Yy])
su-to-root -c "dpkg -i ../${pkgname}_${pkgver}-1_${hostarch}.deb;apt-get install --no-install-recommends -f"
printf "Would you like to delete the deb now? [n/Y]"; read yn
case $yn in
[Nn])
printf "skipped\n";;
*)
rm -f "../${pkgname}_${pkgver}-1_${hostarch}.deb";;
esac;;
*)
printf "skipped\n";;
esac
fi
if [ ! -z "$basedir" ]; then
if [ -d "$basedir" ]; then
rm -rvf "$basedir"
fi
fi
printf "\n\n\ndone\n\n\n"
sleep 5
Last edited by sixsixfive (2015-10-16 21:31:27)
Offline
Duhh ... thanks.
I now breeze thru ./configure. But I'm now getting a compile error thusly:
In file included from /usr/include/xfce4/libxfcegui4/libxfcegui4.h:46:0,
from eyes.c:36:
/usr/include/xfce4/libxfcegui4/xfce-appmenuitem.h:73:56: error: unknown type name ‘XfceDesktopEntry’
make[2]: *** [xfce4_eyes_plugin-eyes.o] Error 1
I tried backing down to an earlier tarball (4.4.0) on the hypothesis that the Debian Wheezy version of xfce4-panel - 4.8.6-4 - is too old. I suspect that is the case, but I get the same error even when I try 4.3.99.1.
xfce-appmenuitem.h includes another pair of headers, neither of which refers to XfceDesktopEntry. So it looks like I need to find out where 'XfceDesktopEntry' is defined. Am I possibly missing another -dev package?
Thanks,
Offline
xfce-appmenuitem.h includes another pair of headers, neither of which refers to XfceDesktopEntry. So it looks like I need to find out where 'XfceDesktopEntry' is defined. Am I possibly missing another -dev package?
XfceDesktopEntry was a part of libxfce4util but it was deprecated for the 4.9 version of the package. Meaning you need to use 4.8 if you want access to it. I see that wheezy has 4.8.2-1 of this package, but since thats a debian package version, its hard to tell whether the deprecation is included in that package. However, based on the error message that you are getting, I'm guessing that the answer is yes.
Please remember to mark your thread [SOLVED] to make it easier for others to find
--- How To Ask For Help | FAQ | Developer Wiki | Community | Contribute ---
Offline
Hi Toz,
Thanks for the information.
Digging a little more, I find 'XfceDesktopEntry' is defined in:
/usr/include/xfce4/libxfce4util/xfce-desktopentry.h
at line 37. The file is part of the package 'libxfce4util-dev', which I have installed at 4.8.2-1 in Wheezy.
I've tried ./configure both with and without --prefix=/usr. Both fail the 'make' step saying XfceDesktopEntry is an unknown type name. I see that XfceDesktopEntry is under a conditional in xfce-desktopentry.h:
#if defined(LIBXFCE4UTIL_COMPILATION) || !defined(XFCE_DISABLE_DEPRECATED)
I can't see that LIBXFCE4UTIL_COMPILATION is defined anywhere, and XFCE_DISABLE_DEPRECATED is defined in the configure script. So maybe arranging for XFCE_DISABLE_DEPRECATED to be undefined would do the trick? Or, is there a tarball of xfce4-eyes-plugin available that leaves XFCE_DISABLE_DEPRECATED undefined?
What do you think? Thanks,
Offline
Success!
After figuring out what 'deprecated' means, I tried building revision 4.4.4 of the xeyes tarball, and sure enough, ./configure did not complain about missing packages. However, the make stage failed due to a permissions problem I probably introduced while recovering from a disastrous attempt to upgrade to Jessie. After fixing the permissions problem, I proceeded without error messages through all stages of the build process, including 'make install'. However, xfce4 could not find the eyes plugin when I attempted to add a new item to the panel. That was fixed by running
./configure --prefix=/usr
then 'make' followed by 'make install' (as root).
So I now have a pair of eyes aiding my failing eyesight in finding the tiny cursor as it wanders across the vast expanses of my display.
My life is now complete.
Offline
Pages: 1
[ Generated in 0.010 seconds, 9 queries executed - Memory usage: 577.87 KiB (Peak: 594.71 KiB) ]