GNOME Bugzilla – Bug 169264
gnome-panel-2.9.92 fails to compile on Solaris 8
Last modified: 2015-03-24 13:00:49 UTC
Distribution/Version: 5.8 $ configure --prefix=/usr ... $ gmake the make fails with the following errors: panel-run-dialog.c: In function `fill_files_from': panel-run-dialog.c:1126: error: structure has no member named `d_type' panel-run-dialog.c:1126: error: `DT_DIR' undeclared (first use in this function) panel-run-dialog.c:1126: error: (Each undeclared identifier is reported only once panel-run-dialog.c:1126: error: for each function it appears in.) panel-run-dialog.c:1127: error: structure has no member named `d_type' panel-run-dialog.c:1127: error: `DT_LNK' undeclared (first use in this function) the /usr/include/dirent.h on this system is smaller than on linux I guess, so the solution is to use lstat() system call to determine if the file is a directory or link the following patch for panel-run-dialog.c seems to solve the problem: 38,39d37 < #include <sys/param.h> < #include <sys/stat.h> 1108,1110d1105 < #if defined(solaris) < struct stat *s; < #endif 1131,1135d1125 < #if defined(solaris) < lstat(file, s); < if (s->st_mode == S_IFDIR || < (s->st_mode == S_IFLNK && < #else 1138d1127 < #endif and adding #define solaris 1 somewhere, say in config.h I know that config.h is generated but I am not that familiar with "configure" script to be able to change it I'm sure someone here can pick it up and intergrate it properly
Created attachment 38287 [details] [review] Good patch
David: thanks for your patch. Could you try the patch I attached and see if it fixes the problem? Thanks
I committed the patch to HEAD. This will be in 2.10.1.
Looks good to me, thak you