Xfce Forum

Sub domains
 

You are not logged in.

#1 2015-10-16 17:16:15

bbatten
Member
Registered: 2015-10-04
Posts: 14

[Solved] Eyes For Wheezy

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

#2 2015-10-16 21:20:49

sixsixfive
Member
From: behind you
Registered: 2012-04-08
Posts: 579
Website

Re: [Solved] Eyes For Wheezy

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

#3 2015-10-17 23:49:14

bbatten
Member
Registered: 2015-10-04
Posts: 14

Re: [Solved] Eyes For Wheezy

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

#4 2015-10-18 00:35:40

ToZ
Administrator
From: Canada
Registered: 2011-06-02
Posts: 10,948

Re: [Solved] Eyes For Wheezy

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

#5 2015-10-18 16:51:30

bbatten
Member
Registered: 2015-10-04
Posts: 14

Re: [Solved] Eyes For Wheezy

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

#6 2015-10-28 16:35:02

bbatten
Member
Registered: 2015-10-04
Posts: 14

Re: [Solved] Eyes For Wheezy

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

Board footer

Powered by FluxBB