Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 237028 - mercurial requires glibc > 2.4
Summary: mercurial requires glibc > 2.4
Status: RESOLVED WORKSFORME
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Krzysztof Pawlik (RETIRED)
URL: http://www.selenic.com/mercurial/bts/...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-09-08 04:34 UTC by Owen Mann
Modified: 2009-01-08 22:08 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Owen Mann 2008-09-08 04:34:20 UTC
In man 7 inotify, it states:
"As at glibc 2.4, the definitions for IN_DONT_FOLLOW, IN_MASK_ADD, and IN_ONLYDIR are missing from <sys/inotify.h>."

These definitions are required to build the inotify extension.

Some options to fix this are:
1) require >=glibc-2.6
2) edit _inotify.c and change the include line for inotify.h
from: #include <sys/inotify.h>
to: #include <linux/inotify.h>
(taken from http://www.selenic.com/mercurial/wiki/index.cgi/UnixInstall#head-f9d80dcf82f8c7033b70e180bdb112dfac70bb61 )
3) make the inotify extention optional, or disable it for glibc-2.4 systems

Reproducible: Always

Steps to Reproduce:
1. emerge mercurial with glibc-2.4
Actual Results:  
[...]
building 'hgext.inotify.linux._inotify' extension
creating build/temp.linux-i686-2.4/hgext
creating build/temp.linux-i686-2.4/hgext/inotify
creating build/temp.linux-i686-2.4/hgext/inotify/linux
i686-pc-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -O2 -march=athlon-xp -pipe -fomit-frame-pointer -fPIC -I/usr/include/python2.4 -c hgext/inotify/linux/_inotify.c -o build/temp.linux-i686-2.4/hgext/inotify/linux/_inotify.o
hgext/inotify/linux/_inotify.c:172: error: 'IN_ONLYDIR' undeclared here (not in a function)
hgext/inotify/linux/_inotify.c:173: error: 'IN_DONT_FOLLOW' undeclared here (not in a function)
hgext/inotify/linux/_inotify.c:174: error: 'IN_MASK_ADD' undeclared here (not in a function)
hgext/inotify/linux/_inotify.c: In function 'define_consts':
hgext/inotify/linux/_inotify.c:266: warning: passing argument 3 of 'define_const' makes integer from pointer without a cast
hgext/inotify/linux/_inotify.c:267: warning: passing argument 3 of 'define_const' makes integer from pointer without a cast
hgext/inotify/linux/_inotify.c:268: warning: passing argument 3 of 'define_const' makes integer from pointer without a cast
error: command 'i686-pc-linux-gnu-gcc' failed with exit status 1


Expected Results:  
successful build

emerge --info
Portage 2.1.4.4 (default-linux/x86/2007.0/desktop, gcc-4.1.2, glibc-2.4-r3, 2.6.22-gentoo-r2-2 i686)
=================================================================
System uname: 2.6.22-gentoo-r2-2 i686 AMD Athlon(TM) XP 2000+
Timestamp of tree: Sun, 07 Sep 2008 09:06:01 +0000
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.4 [disabled]
app-shells/bash:     3.2_p33
dev-lang/python:     2.4.4-r4
dev-python/pycrypto: 2.0.1-r6
dev-util/ccache:     2.4-r7
dev-util/confcache:  0.4.2-r1
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r1
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1
sys-devel/binutils:  2.16.1-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.22-r2
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=athlon-xp -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo"
CXXFLAGS="-O2 -march=athlon-xp -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks metadata-transfer noinfo parallel-fetch sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://mirror.datapipe.net/gentoo http://adelie.polymtl.ca/ http://gentoo.mirrors.tds.net/gentoo http://open-systems.ufl.edu/mirrors/gentoo"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://portage/gentoo-portage"
USE="3dnow apache2 bash-completion bitmap-fonts bzip2 cli glibc-omitfp mad mmx multislot multitarget ncurses nptl nptlonly pcre readline reflection samba session spl udev x86 zlib" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" USERLAND="GNU"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Wormo (RETIRED) gentoo-dev 2008-09-08 06:37:08 UTC
Thanks for the report, assigning to maintainer
Comment 2 Andrew Church 2008-09-21 06:39:36 UTC
mercurial works fine with glibc-2.5-r4; there's no need to require >=2.6.
Comment 3 Dirkjan Ochtman (RETIRED) gentoo-dev 2008-12-03 10:04:46 UTC
I think this has been fixed in Mercurial 1.1.
Comment 4 Krzysztof Pawlik (RETIRED) gentoo-dev 2009-01-08 22:08:06 UTC
(In reply to comment #3)
> I think this has been fixed in Mercurial 1.1.

Closing bug then.