Ticket #4 (closed enhancement: fixed)

Opened 7 months ago

Last modified 3 weeks ago

Check for libc version?

Reported by: ivan@… Owned by: seb
Priority: minor Keywords: libc version inotify support
Cc:

Description

Debian stable (Etch) carries version 2.3.6 of GNU libc. It is unable to use pyinotify 0.8:

>>> import pyinotify
INFO: Maybe it could speed-up a little bit if you had psyco installed (not required).
>>> wm = pyinotify.WatchManager()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "pyinotify.py", line 1259, in __init__
    self._fd = LIBC.inotify_init() # inotify's init, file descriptor
  File "ctypes/__init__.py", line 325, in __getattr__
  File "ctypes/__init__.py", line 330, in __getitem__
AttributeError: python2.5: undefined symbol: inotify_init

The functions are actually not defined there

$ strings /lib/libc-2.3.6.so | grep inotify
(nothing)

though the kernel has inotify support:

$ uname -r
2.6.18-6-powerpc
$ grep inotify_init /boot/System.map-2.6.18-6-powerpc
c00a8b7c T inotify_init
c00a8d04 T inotify_init_watch
c00a9470 T sys_inotify_init
...

The whole thing runs OK under an Ubuntu release using a newer version of libc:

$ strings /lib/libc-2.6.1.so | grep inotify
inotify_add_watch
inotify_init
inotify_rm_watch

So, what's the minimum version of libc required? Is there any chance of circumventing this problem? If not, it'd be nice to have the required version documented.

Attachments

Change History

Changed 7 months ago by seb

  • owner set to seb
  • status changed from new to assigned

You're right it should be documented and an explicit requirement should be fixed, though I don't know myself the precise version of glibc which started to support inotify.

Changed 7 months ago by seb

glibc 2.4 ??

Changed 4 weeks ago by dato

Yes, the Debian and Ubuntu packages of glibc say that it was 2.4 that introduced the inotify_* functions. (This information is contained in the DEBIAN/symbols file of libc6 >= 2.8 both in Debian and Ubuntu.)

HTH,

Changed 3 weeks ago by seb

  • status changed from assigned to closed
  • resolution set to fixed

Add/Change #4 (Check for libc version?)

Author



Change Properties
<Author field>
Action
as closed
Next status will be 'reopened'
 
Note: See TracTickets for help on using tickets.