Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 36083 - udev doesn't compile with sysfsutil-0.4.0 but compiles well with version 0.3.0
Summary: udev doesn't compile with sysfsutil-0.4.0 but compiles well with version 0.3.0
Status: RESOLVED DUPLICATE of bug 36327
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo's Team for Core System packages
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-12-18 14:24 UTC by Simone Gotti (RETIRED)
Modified: 2005-07-17 13:06 UTC (History)
3 users (show)

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


Attachments
patch for sysfs_open_class_device_path change (udev-009-sysfs-0.4.0.patch,4.55 KB, patch)
2003-12-21 00:07 UTC, j.
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Simone Gotti (RETIRED) gentoo-dev 2003-12-18 14:24:19 UTC
Emerging udev after having installed sysfsutils-0.4.0 give a compilation error. Udev compiles well only with sysfsutils

Reproducible: Always
Steps to Reproduce:
1.emerge -u sysfsutils
2.emerge -u udev
3.

Actual Results:  
gcc --static  -o udev  udev.o udev_config.o udev-add.o udev-remove.o udevdb.o 
logging.o namedev.o 
namedev_parse.o /var/tmp/portage/udev-009/work/udev-009/libsysfs/sysfs_bus.o /var/tmp/portage/udev-009/work/udev-009/libsysfs/sysfs_class.o /var/tmp/portage/udev-009/work/udev-009/libsysfs/sysfs_device.o /var/tmp/portage/udev-009/work/udev-009/libsysfs/sysfs_dir.o /var/tmp/portage/udev-009/work/udev-009/libsysfs/sysfs_driver.o /var/tmp/portage/udev-009/work/udev-009/libsysfs/sysfs_utils.o /var/tmp/portage/udev-009/work/udev-009/libsysfs/dlist.o 
tdb/tdb.o tdb/spinlock.o -lc 
udev-add.o(.text+0x4e0): In function `create_node': 
: warning: Using 'getgrnam' in statically linked applications requires at 
runtime the shared libraries from the glibc version used for linking 
udev-add.o(.text+0x531): In function `create_node': 
: warning: Using 'getpwnam' in statically linked applications requires at 
runtime the shared libraries from the glibc version used for linking 
strip -s --remove-section=.note --remove-section=.comment udev 
extras/scsi_id 
make[1]: Entering directory 
`/var/tmp/portage/udev-009/work/udev-009/extras/scsi_id' 
gcc -mcpu=athlon-xp -O3 -pipe -pipe -Wall -Wshadow -Wstrict-prototypes 
-Wmissing-prototypes -Wmissing-declarations  -fomit-frame-pointer 
-D_GNU_SOURCE -I/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/include 
-I/var/tmp/portage/udev-009/work/udev-009/libsysfs -DSCSI_ID_VERSION=\"0.2\"  
-Wall   -c -o scsi_id.o scsi_id.c 
scsi_id.c: In function `get_major_minor': 
scsi_id.c:161: error: too few arguments to function `sysfs_open_class_device' 
scsi_id.c: In function `scsi_id': 
scsi_id.c:711: error: too few arguments to function `sysfs_open_class_device' 
make[1]: *** [scsi_id.o] Error 1 
make[1]: Leaving directory 
`/var/tmp/portage/udev-009/work/udev-009/extras/scsi_id' 
make: *** [all] Error 2 
 

Expected Results:  
Udev doesn't work with sysfsutils-0.4.0 because some functions have changed 
their declaration with this version. You have to use sysfsutils-0.3.0. 

I suggest to add this dipendencies in the ude-009 ebuild 
 
Bye!
Comment 1 Roman Kreisel 2003-12-19 05:01:05 UTC
I can confirm this bug, just downgraded sysfsutils and now udevs compiled fine. With sysfsutils 0.4.0 it showed the same errors as shown above
Comment 2 Simon Cooper 2003-12-19 09:35:10 UTC
again confirmed, any reason why compiling udev again sysfsutils-0.3.0 and then compiling sysfsutils-0.4.0 shouldn't work?
Comment 3 jack_mort 2003-12-19 15:02:32 UTC
I confirm alos this here... Strange thing...
Comment 4 SpanKY gentoo-dev 2003-12-19 15:32:08 UTC
from the sysfs homepage:
All sysfs_open_xxx() calls that take the absolute path as argument are now prefixed with "_path". eg., the earlier sysfs_open_device() is now sysfs_open_device_path().
Comment 5 Simon Cooper 2003-12-20 14:54:27 UTC
its probably better to sed this rather than a patch, a sed line would be able to do every instance in the source tree with one command, but a patch would need to specify each one seperately. Unfortunately I dont know anything about sed, but I'll try and mug up on it tomorrow if no one else does it...
Comment 6 j. 2003-12-21 00:07:39 UTC
Created attachment 22513 [details, diff]
patch for sysfs_open_class_device_path change

just did a quick search/replace with rpl:
rpl -R 'sysfs_open_class_device' 'sysfs_open_class_device_path' *
someone might ought to take a look at
/usr/portage/sys-fs/udev/files/udev-009-scsi_id-new-sysfs.patch too. there's
some bits at the beginning and end that are neither diff nor patch.
Comment 7 Simon Cooper 2003-12-21 04:50:03 UTC
the patch works fine, as does compiling udev against 0.3.0 then compiling sysfsutils-0.4.0
Comment 8 SpanKY gentoo-dev 2003-12-22 21:58:28 UTC
those bits that are neither diff nor patch are ok

patch allows for that kind of free form text ... in this case we can see the patch was taken from the linux kernel mailing list
Comment 9 SpanKY gentoo-dev 2003-12-23 12:42:32 UTC
udev 010 has been released and fixes this

*** This bug has been marked as a duplicate of 36327 ***
Comment 10 Martin Schlemmer (RETIRED) gentoo-dev 2003-12-24 14:54:16 UTC
The problem is actually that it do not set the include path correct for
scsi_id to use the included libsysfs headers ...  We do not compile against
external libsysfs for now, as they are not in sync, and breaks too much - when
the api stabilize in future, we will use the external libsysfs again.