trinity-users@lists.pearsoncomputing.net

Message: previous - next
Month: January 2012

Re: [trinity-users] Looking for linux/inotify.h - not found

From: "Timothy Pearson" <kb9vqf@...>
Date: Tue, 10 Jan 2012 13:04:05 -0600
>> > I'm building amarok 3.5.13. I
>> receive this message:
>> >
>> > Looking for linux/inotify.h - not found
>> >
>> > The header file does exist at
>> /usr/include/linux.inotify.h.
>> >
>> > Any ideas for the message?
>> >
>> > Darrell
>>
>> Most distros use sys/inotify.h instead (glibc builtin
>> IIRC).  I would
>> consider the incomplete inotify checks in Amarok a bug and
>> update them
>> from the tdelibs inotify checks I recently added.
>
> Fortunately nothing complicated was needed. I changed linux/inotify.h to
> sys/inotify.h and the cmake scripts then found the header file. I don't
> know why the scripts could not find linux/inotify.h.
>
> Here is the patch, unless you want me to submit through bugzilla:
>
> ===============================================
> diff -urN amarok/ConfigureChecks.cmake amarok.new/ConfigureChecks.cmake
> --- amarok/ConfigureChecks.cmake  2011-05-03 00:45:53.000000000 -0500
> +++ amarok.new/ConfigureChecks.cmake  2012-01-10 01:32:02.000000000 -0600
> @@ -21,7 +21,7 @@
>
>  check_include_file( stdint.h HAVE_STDINT_H )
>  check_include_file( systems.h HAVE_SYSTEMS_H )
> -check_include_file( linux/inotify.h HAVE_INOTIFY )
> +check_include_file( sys/inotify.h HAVE_INOTIFY )
>
>  check_function_exists( statvfs HAVE_STATVFS )
>
> diff -urN amarok/amarok/configure.in.in amarok.new/amarok/configure.in.in
> --- amarok/amarok/configure.in.in 2011-08-21 16:54:15.000000000 -0500
> +++ amarok.new/amarok/configure.in.in 2012-01-10 01:31:51.000000000 -0600
> @@ -366,7 +366,7 @@
>  # BEGIN INOTIFY CHECK
>  ###############################################################################
>
> -AC_CHECK_HEADERS(linux/inotify.h)
> +AC_CHECK_HEADERS(sys/inotify.h)
>
>  if test x"$ac_cv_header_linux_inotify_h" = x"yes"; then
>      AC_DEFINE(HAVE_INOTIFY, 1, [have inotify])
> diff -urN amarok/amarok/src/collectiondb.cpp
> amarok.new/amarok/src/collectiondb.cpp
> --- amarok/amarok/src/collectiondb.cpp  2011-08-17 15:59:49.000000000
> -0500
> +++ amarok.new/amarok/src/collectiondb.cpp  2012-01-10 01:31:53.000000000
> -0600
> @@ -86,7 +86,7 @@
>  #undef HAVE_INOTIFY  // NOTE Disabled for now, due to stability issues
>
>  #ifdef HAVE_INOTIFY
> -    #include <linux/inotify.h>
> +    #include <sys/inotify.h>
>      #include "inotify/inotify-syscalls.h"
>  #endif
>
> diff -urN amarok/config.h.in amarok.new/config.h.in
> --- amarok/config.h.in  2010-08-11 22:24:39.000000000 -0500
> +++ amarok.new/config.h.in  2012-01-10 01:31:58.000000000 -0600
> @@ -94,7 +94,7 @@
>  /* Define if you have libz */
>  #undef HAVE_LIBZ
>
> -/* Define to 1 if you have the <linux/inotify.h> header file. */
> +/* Define to 1 if you have the <sys/inotify.h> header file. */
>  #undef HAVE_LINUX_INOTIFY_H
>
>  /* Define to 1 if you have the <memory.h> header file. */
> diff -urN amarok/configure.in amarok.new/configure.in
> --- amarok/configure.in 2011-08-21 16:54:15.000000000 -0500
> +++ amarok.new/configure.in 2012-01-10 01:31:58.000000000 -0600
> @@ -446,7 +446,7 @@
>  # BEGIN INOTIFY CHECK
>  ###############################################################################
>
> -AC_CHECK_HEADERS(linux/inotify.h)
> +AC_CHECK_HEADERS(sys/inotify.h)
>
>  if test x"$ac_cv_header_linux_inotify_h" = x"yes"; then
>      AC_DEFINE(HAVE_INOTIFY, 1, [have inotify])
> ===============================================
>
>
> Darrell

I fixed it in GIT hash 899586d.  For reference, the inotify.h file can
commonly exist in one of two places; the check that is in tdelibs (and now
in Amarok) looks both places before giving up.

Tim