Re: LibGTop 1.1.4 "Earthquake" (Developer's Snapshot) has been released



Drazen Kacar <dave@srce.hr> writes:

> Martin Baulig wrote:
> > Drazen Kacar <dave@srce.hr> writes:
> > 
> > Oh, that's not why I wrote "is currently broken" (you won't be able to compile
> > the sysdeps/solaris directory since the API has changed);
> 
> I suppose I can take care of that in a day or two. But it's pretty much
> impossible if other things won't compile or link.
> 
> > Either --without-gnome is broken or it's some strange gnome-libs/support
> > problem - when you run configure in libgtop, does it try to check for
> > snprintf etc. and what is in config.log ?
> 
> configure doesn't check for snprintf(); it checks for vsnprintf() and config.h
> has `#define HAVE_VSNPRINTF 1';  it checks for realpath() and config.h
> has `#define HAVE_REALPATH 1'. However, I'm paranoid about the following:
> 
> > > "./gnomesupport.h", line 32: warning: dubious tag declaration: struct direct
> > > "./gnomesupport.h", line 33: warning: dubious tag in function prototype: struct direct
> 
> scandir() uses struct dirent as an argument and there's just one
> `#define dirent direct' at the beginning of the file, but struct direct is
> not declared anywhere.

Hmm ... looking at support/gnomesupport.awk this seems to happen when it
fails to detect <dirent.h>:

====
  if (!def["HAVE_SCANDIR"] || def["NEED_DECLARATION_SCANDIR"]) {
    print "#include <sys/types.h>";

    if (def["HAVE_DIRENT_H"]) {
      print "#include <dirent.h>";
      print "#define NAMLEN(dirent) strlen((dirent)->d_name)";
    } else {
      print "#define dirent direct";
      print "#define NAMLEN(dirent) (dirent)->d_namlen";
      
      if (def["HAVE_SYS_NDIR_H"])
	print "#include <sys/ndir.h>";
      if (def["HAVE_SYS_DIR_H"])
	print "#include <sys/dir.h>";
      if (def["HAVE_NDIR_H"])
	print "#include <ndir.h>";
    }
  }
====

> > > "/usr/include/varargs.h", line 70: warning: macro redefined: va_start
> > > "/usr/include/varargs.h", line 87: warning: macro redefined: va_end
> 
> And these two are too familiar...
> 
> gnomesupport.h unnecessary declares the following: memmove(), mkstemp(),
> maybe scandir() and alphasort(), strtok_r(), strtod(), strtol(), vsnprintf(),
> snprintf() and realpath(). Except for scandir() and alphasort() all of
> them are in libc. scandir() and alphasort() are in /usr/ucblib/libucb which
> probably shouldn't be used, because Gnome build methods are not capable of
> using it correctly.

Hmm, maybe it's --without-gnome which is broken here - do you get the same
problems when you use it without --without-gnome (but this means that you
need at least ORBit, imlib and gnome-libs/support ...) ?

-- 
Martin Baulig - martin@home-of-linux.org - http://www.home-of-linux.org



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]