Hi! On Sun, 2010-07-18 at 16:59:18 +0200, Christoph Egger wrote: > Two things to note. First, the "old" taskmanager mostly worked on > kbsd (probably using the /proc emulation present in kbsd. And secondly > it doesn't build on the kfreebsd route, failing as below.
> # source='app-manager.c' object='xfce4_taskmanager-app-manager.o' > libtool=no > gcc -DHAVE_CONFIG_H -I. -I.. -I.. -DG_LOG_DOMAIN=\"xfce4-taskmanager\" > -DPACKAGE_LOCALE_DIR=\"/usr/share/locale\" -DNDEBUG -pthread > -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 > -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ > -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 > -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/cairo > -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 > -pthread -I/usr/include/libwnck-1.0 -I/usr/include/pango-1.0 > -I/usr/include/cairo -I/usr/include/startup-notification-1.0 > -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/gtk-2.0 > -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 > -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 > -I/usr/include/gio-unix-2.0/ -g -O2 -g -Wall -O2 -c -o > xfce4_taskmanager-app-manager.o `test -f 'app-manager.c' || echo > './'`app-manager.c > \ > # source='task-manager-freebsd.c' > object='xfce4_taskmanager-task-manager-freebsd.o' libtool=no > gcc -DHAVE_CONFIG_H -I. -I.. -I.. -DG_LOG_DOMAIN=\"xfce4-taskmanager\" > -DPACKAGE_LOCALE_DIR=\"/usr/share/locale\" -DNDEBUG -pthread > -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 > -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ > -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 > -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/cairo > -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 > -pthread -I/usr/include/libwnck-1.0 -I/usr/include/pango-1.0 > -I/usr/include/cairo -I/usr/include/startup-notification-1.0 > -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/gtk-2.0 > -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 > -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 > -I/usr/include/gio-unix-2.0/ -g -O2 -g -Wall -O2 -c -o > xfce4_taskmanager-task-manager-freebsd.o `test -f 'task-manager-freebsd.c' || > echo './'`task-manager-freebsd.c > task-manager-freebsd.c:11:17: error: kvm.h: No such file or directory > task-manager-freebsd.c: In function ‘get_memory_usage’: > task-manager-freebsd.c:49: error: ‘kvm_t’ undeclared (first use in this > function) > task-manager-freebsd.c:49: error: (Each undeclared identifier is reported > only once > task-manager-freebsd.c:49: error: for each function it appears in.) > task-manager-freebsd.c:49: error: ‘kd’ undeclared (first use in this function) > task-manager-freebsd.c:50: error: storage size of ‘kswap’ isn’t known > task-manager-freebsd.c:52: warning: implicit declaration of function > ‘kvm_openfiles’ > task-manager-freebsd.c:55: warning: implicit declaration of function > ‘kvm_getswapinfo’ > task-manager-freebsd.c:59: warning: implicit declaration of function > ‘kvm_close’ > task-manager-freebsd.c:50: warning: unused variable ‘kswap’ > task-manager-freebsd.c: At top level: > task-manager-freebsd.c:102: error: expected ‘)’ before ‘*’ token > task-manager-freebsd.c: In function ‘get_task_list’: > task-manager-freebsd.c:197: error: ‘kvm_t’ undeclared (first use in this > function) > task-manager-freebsd.c:197: error: ‘kd’ undeclared (first use in this > function) > task-manager-freebsd.c:205: warning: implicit declaration of function > ‘kvm_getprocs’ > task-manager-freebsd.c:213: warning: implicit declaration of function > ‘get_task_details’ > task-manager-freebsd.c: In function ‘pid_is_sleeping’: > task-manager-freebsd.c:225: error: ‘kvm_t’ undeclared (first use in this > function) > task-manager-freebsd.c:225: error: ‘kd’ undeclared (first use in this > function) > make[4]: *** [xfce4_taskmanager-task-manager-freebsd.o] Error 1 This just requires (at least) a Build-Depends on libkvm-dev for kfreebsd-any. Take into account, though I've not checked, the source code might contain the typical assumptions of Linux ~= GNU/*, and thus confusing kernel interfaces with the userland ones. So if the code is truly kernel dependant (and only needs a way to retrieve process information), then the above missing Build-Depends would be the correct fix. If otherwise the code assumes that Linux implies a GNU userland, then it might require more fixes. For starters there's other libc implementations being used with Linux (uClibc, dietlibc, Newlib) and not all of them support all GNU extensions. In case it's really appropriate to add to the linux-* case the GNU userland, we usually match against '*-gnu*' which catches all GNU variants. thanks, guillem -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org