On Monday 11 February 2008 7:59:40 pm Sergey Jin' Bostandzhyan wrote: > Hi, > > On Mon, Feb 11, 2008 at 06:54:10PM -0500, Andres Mejia wrote: > > > Well, if you are sure that the target machines *do have inotify > > > support* the only thing that could help is the config.log output of the > > > failed configure process. > > > > The best thing toward logs are located at > > http://buildd.debian.org/pkg.cgi?pkg=mediatomb . > > That's the stdout of configure, what I am looking for is the config.log > file that is created by configure during the process, but this is not there > because everything is purged after the build. Any idea if we can get it? > > > > Then it should work; we do check the headers and then we run some small > > > test code which is calling inotify_init(). If the inotify_init() > > > function returns -1 (error) we will compile without inotify support; > > > however - if the --enable-inotify parameter was specified configure > > > will abort because it can not do what the user wanted. > > > > > > So the question: is inotify really working on those systems? > > > > I'm finding this behavior strange. Ubuntu accepted mediatomb into their > > archive, yet now the powerpc architecture goes past the inotify check > > just fine, but the i386 and amd64 architectures do not. Take a look at > > https://launchpad.net/ubuntu/+source/mediatomb/0.10.0.dfsg1-1/ > > This is indeed very strange, it must be somehow related to the setup of > the particular machine. What I see is that the default inotify header is > not working, then we are retrying with our own and then it is failing. > > However, without seeing the config.log file I can not say anything... > > > I know for the case of the i386, I've been able to successfully build > > packages using pbuilder. > > Yes, I know, Leo has also been using pbuilder to create our custom .deb > packages and we did not have any problems with inotify. > > Is the exact environment that those machines are using available somewhere? > Can we reproduce the problem somehow? > > > Also, it looks like the Ubuntu buildd machines are giving a different > > error, for architectures that run the inotify check sucessfully. > > Indeed, it seems that the build runs through but there is something wrong > with the package, can't say much there either - I have no experience with > .deb packages. > > Kind regards, > Jin
I've investigated this some more and found that the inotify-tools package fails the test to see if sys/inotify.h actually works for the powerpc and ia64 architectures as well, yet the build continues for that package, unlike in mediatomb. Here's the difference between the two packages' configure.ac *****mediatomb's configure.ac***** dnl The check below was inspired by configure.ac from the inotify tools dnl package, see the "Acknowledgements" section in our README file for more dnl information. CXXFLAGS="$CXXFLAGS $INOTIFY_CXXFLAGS" AC_MSG_CHECKING([whether sys/inotify.h works]) AC_RUN_IFELSE( AC_LANG_PROGRAM([[#include <sys/inotify.h>]], [[return (-1 == inotify_init());]] ), [ AC_MSG_RESULT([yes]); AC_DEFINE([SYS_INOTIFY_H_OK],[1],[sys/inotify.h exists and works correctly])], [ AC_MSG_RESULT([no, using own inotify headers]) AC_MSG_CHECKING([whether inotify-nosys.h works]) AC_RUN_IFELSE( AC_LANG_PROGRAM([[#include "src/inotify-nosys.h"]], [[return (-1 == inotify_init());]] ), [ AC_MSG_RESULT([yes]); INOTIFY_OK=yes ], [ AC_MSG_RESULT([no, disabling inotify support]) INOTIFY_OK=missing ]) ]) fi *****inotify-tools configure.ac***** # Checks for header files. AC_CHECK_HEADERS([sys/inotify.h mcheck.h]) AC_LANG(C) AC_MSG_CHECKING([whether sys/inotify.h actually works]) AC_RUN_IFELSE( AC_LANG_PROGRAM([[#include <sys/inotify.h>]], [[return (-1 == inotify_init());]] ), [AC_MSG_RESULT([yup]); AC_DEFINE([SYS_INOTIFY_H_EXISTS_AND_WORKS],[1], [sys/inotify.h exists and works correctly])], [AC_MSG_RESULT([nope, using own inotify headers])] ) Perhaps I'm wrong about what kernel each buildd machine is using. This would explain why this check fails on these architectures, but I can't find a straight answer. Sven, do you know the answer to this? The buildd machines use sbuild, which uses debootstrap for creating the chroot environment, so I'm sure at least the latest version of linux-libc-dev is installed. In case some buildd machines don't support inotify, the check to see if inotify works should be left out. -- Regards, Andres -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]