After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 333497 - gamin 0.17 does not build on SUSE 10.0 (kernel 2.6.13)
gamin 0.17 does not build on SUSE 10.0 (kernel 2.6.13)
Status: RESOLVED WONTFIX
Product: gamin
Classification: Other
Component: general
unspecified
Other Linux
: Normal normal
: ---
Assigned To: Gamin Maintainer(s)
Gamin Maintainer(s)
gnome[unmaintained]
: 333533 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2006-03-05 15:48 UTC by matthias.andree
Modified: 2018-07-01 08:46 UTC
See Also:
GNOME target: ---
GNOME version: 2.13/2.14



Description matthias.andree 2006-03-05 15:48:02 UTC
Please describe the problem:
gamin 0.17 does not build unless --disable-inotify is used on SUSE Linux 10.0
(kernel 2.6.13):

Making all in server
gam_inotify.c: In function 'mask_to_gam_event':
gam_inotify.c:259: error: 'IN_MOVE_SELF' undeclared (first use in this function)
gam_inotify.c:259: error: (Each undeclared identifier is reported only once
gam_inotify.c:259: error: for each function it appears in.)
gam_inotify.c: In function 'gam_inotify_mask_to_gam_file_event':
gam_inotify.c:295: error: 'IN_MOVE_SELF' undeclared (first use in this function)
gam_inotify.c: In function 'gam_inotify_mask_to_gam_dir_event':
gam_inotify.c:325: error: 'IN_MOVE_SELF' undeclared (first use in this function)
gam_inotify.c: In function 'gam_inotify_process_event':
gam_inotify.c:551: error: 'IN_MOVE_SELF' undeclared (first use in this function)
gam_inotify.c: In function 'gam_inotify_add_subscription':
gam_inotify.c:824: error: 'IN_MOVE_SELF' undeclared (first use in this function)
gam_inotify.c: In function 'gam_inotify_nolonger_missing':
gam_inotify.c:1193: error: 'IN_MOVE_SELF' undeclared (first use in this function)
gam_inotify.c: In function 'gam_inotify_nolonger_link':
gam_inotify.c:1299: error: 'IN_MOVE_SELF' undeclared (first use in this function)


Steps to reproduce:
1. grab gamin 0.17
2. unpack
3. ./configure && make


Actual results:
the build aborts

Expected results:
a proper gamin build (OK, given the many bugs I've seen in gamin's short life, I
don't actually expect anything, only that this insanity of dropping nonstable
unusable software into GNOME stops)

Does this happen every time?
yes

Other information:
Comment 1 Daniel Veillard 2006-03-05 20:35:13 UTC
"dropping nonstable unusable software into GNOME stops"

  gamin is not part of GNOME releases. Use FAM if you don't
like it. And if your kernel headers are broken or not the same
as the one shipped in upstream, go blame your distro, thank you.

Daniel
Comment 2 matthias.andree 2006-03-05 21:17:38 UTC
The kernel headers /usr/src/linux/include/linux/inotify.h are fine, but gamin isn't using them, but is using the glibc headers /usr/include/linux/inotify.h instead, which appear to be older than kernel headers. This is standard and canonical behavior for up-to-date Linux distributions though, according to frequent linux-kernel@vger.kernel.org replies/recommendations.

Either gamin needs to check if IN_MOVE_SELF is actually present or make efforts to grab the kernel headers rather than the glibc-headers.

You can see here glibc-headers lacks the macro, but kernel headers define it:

$ for i in $(locate linux/inotify.h) ; do echo $i: ; grep IN_MOVE_SELF $i ; done
/usr/include/linux/inotify.h:
/usr/src/linux-2.6.13-15.8/include/linux/inotify.h:
#define IN_MOVE_SELF            0x00000800      /* Self was moved */
                         IN_MOVE_SELF)

$ rpm -qf /usr/include/linux/inotify.h
glibc-devel-2.3.5-40

WRT stability and usability: 1. Gamin isn't stable. May I ask you to help making this quite clear in the documentation and requesting that GNOME and other distributors stop using Gamin until it's feature-complete, debugged and stable? Thank you.

2. Gamin isn't solid either. I stopped using it when gamin 0.1.5 plus SUSE patches either hung, or crashed applications, or went into 100% CPU loops. I don't know which interface it was using at the time, and I doubt you're interested in details for an obsolete version. (kernel-space UDP-based NFSv3 and autofs were involved)

Good speed with future gamin development.
Comment 3 matthias.andree 2006-03-05 21:47:42 UTC
apparently -I/usr/src/linux/include early on the compiler command for server/gam_inotify.c helps to get the stuff compiled, the flood tests ("make check") however fail:

dnotify8.py
-- dnotify8.py
Error: monitor got 2 events insteads of 3
...
flood.py
-- flood.py
Got callback: /tmp/gamin-0.1.7/python/tests/temp_dir/a, 8
Got callback: /tmp/gamin-0.1.7/python/tests/temp_dir/a, 9
Got callback: /tmp/gamin-0.1.7/python/tests/temp_dir/a, 1
Got callback: /tmp/gamin-0.1.7/python/tests/temp_dir/a, 1
Got callback: /tmp/gamin-0.1.7/python/tests/temp_dir/a, 1
Got callback: /tmp/gamin-0.1.7/python/tests/temp_dir/a, 1
Got callback: /tmp/gamin-0.1.7/python/tests/temp_dir/a, 1
Got callback: /tmp/gamin-0.1.7/python/tests/temp_dir/a, 1
Got callback: /tmp/gamin-0.1.7/python/tests/temp_dir/a, 1
Got callback: /tmp/gamin-0.1.7/python/tests/temp_dir/a, 1
Got callback: /tmp/gamin-0.1.7/python/tests/temp_dir/a, 1
Got callback: /tmp/gamin-0.1.7/python/tests/temp_dir/a, 1
Got callback: /tmp/gamin-0.1.7/python/tests/temp_dir/a, 1
Got callback: /tmp/gamin-0.1.7/python/tests/temp_dir/a, 1
Got callback: /tmp/gamin-0.1.7/python/tests/temp_dir/a, 1
Got callback: /tmp/gamin-0.1.7/python/tests/temp_dir/a, 1
Got callback: /tmp/gamin-0.1.7/python/tests/temp_dir/a, 1
Got callback: /tmp/gamin-0.1.7/python/tests/temp_dir/a, 1
Got callback: /tmp/gamin-0.1.7/python/tests/temp_dir/a, 1
Got callback: /tmp/gamin-0.1.7/python/tests/temp_dir/a, 1
Got callback: /tmp/gamin-0.1.7/python/tests/temp_dir/a, 1
Got callback: /tmp/gamin-0.1.7/python/tests/temp_dir/a, 1
Got callback: /tmp/gamin-0.1.7/python/tests/temp_dir/a, 1
Got callback: /tmp/gamin-0.1.7/python/tests/temp_dir/a, 1
Got callback: /tmp/gamin-0.1.7/python/tests/temp_dir/a, 1
Got callback: /tmp/gamin-0.1.7/python/tests/temp_dir/a, 1
Got callback: /tmp/gamin-0.1.7/python/tests/temp_dir/a, 1
Got callback: /tmp/gamin-0.1.7/python/tests/temp_dir/a, 1
Got callback: /tmp/gamin-0.1.7/python/tests/temp_dir/a, 1
Got callback: /tmp/gamin-0.1.7/python/tests/temp_dir/a, 7
Error: event flow didn't worked properly, gor 29 events
flood2.py
-- flood2.py
Error: event flow didn't worked properly, gor 30 events
flood3.py
-- flood3.py
Error: event flow didn't worked properly, got 28 events
flood4.py
-- flood4.py
Error: event flow didn't worked properly, gor 152 events

I'm not sure if this is related to the problem at hand.
Comment 4 Daniel Veillard 2006-03-05 22:07:46 UTC
No. The people (from Novell) who worked on  the inotify part of the
code broke the regression tests. They say it work fine anyway.

Daniel
Comment 5 matthias.andree 2006-03-05 22:17:47 UTC
Re comment #4: if they say so -- I'm not using gamin in production here.
I'd thought I'd report the problems I'd seen nonetheless.
Comment 6 Karsten Bräckelmann 2007-02-19 17:48:37 UTC
*** Bug 333533 has been marked as a duplicate of this bug. ***
Comment 7 Karsten Bräckelmann 2007-02-19 17:49:30 UTC
Does this issue still persist with gamin 0.1.8? There have been some fixes re inotify.
Comment 8 André Klapper 2018-07-01 08:46:56 UTC
gamin is not under active development anymore and has not seen code changes for many years.
Its codebase has been archived: https://gitlab.gnome.org/Archive/gamin/commits/master

Closing this report as WONTFIX as part of Bugzilla Housekeeping to reflect reality. Please feel free to reopen this ticket (or rather transfer the project to GNOME Gitlab, as GNOME Bugzilla is deprecated) if anyone takes the responsibility for active development again.