Summary: | sys-fs/evms fails on uclibc without UCLIBC_HAS_SYS_SIGLIST=y | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Aurélien Francillon <aurelien.francillon> |
Component: | [OLD] Core system | Assignee: | Tiziano Müller (RETIRED) <dev-zero> |
Status: | RESOLVED WONTFIX | ||
Severity: | normal | ||
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 372423 | ||
Attachments: | evms-2.5.5-no_sys_siglist.patch |
Description
Aurélien Francillon
2007-02-04 00:51:15 UTC
Please reopen with the error you get, thanks.
Hi,
error when building against a non sys_siglist enabled uclibc:
...
i686-pc-linux-uclibc-gcc -I../include -I../intl -DPACKAGE=\"evms\" -DLOCALEDIR=\"/usr/share/locale\" -DMAJOR_VERSION=2 -DMINOR_VERSION=5 -DPATCH_LEVEL=5 -DVERSION=\"2.5.5\" -DDATE=\"02/04/07\" -DPluginDirectory=\"/lib/evms/2.5.5\" -Wall -fPIC -fno-strict-aliasing -march=pentium3 -O2 -pipe -fomit-frame-pointer -msse -mmmx -c dm-targets.c -o dm-targets.o
dm-targets.c: In function `load_dm_target_module':
dm-targets.c:399: error: `sys_siglist' undeclared (first use in this function)
dm-targets.c:399: error: (Each undeclared identifier is reported only once
dm-targets.c:399: error: for each function it appears in.)
make[1]: *** [dm-targets.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory `/var/tmp/portage/evms-2.5.5-r5/work/evms-2.5.5/engine'
make: *** [all] Error 1
if evms is build against sys_siglist enabled uclibc, and uclibc is rebuilt/updated with default config
> evmsn
evmsn: symbol 'sys_siglist': can't resolve symbol in lib '/lib/libevms-2.5.so.0'.
a simple fix for this bug is to add :
sed -i -e "s:# UCLIBC_HAS_SYS_SIGLIST.*:UCLIBC_HAS_SYS_SIGLIST=y:" .config
in src_unpack function of uclibc ebuild
thanks,
Aurélien
Created attachment 109134 [details, diff] evms-2.5.5-no_sys_siglist.patch A better fix is to get rid of the sys_siglist call in evms/engine/dm-targets.c and replace it by a call to strsignal. Uclibc devs seems to recommend that way according to /usr/include/signals.h > #ifdef __UCLIBC_HAS_SYS_SIGLIST__ > /* Names of the signals. This variable exists only for compatibility. > Use `strsignal' instead (see <string.h>). */ It builds with warnings if not built with " -D_GNU_SOURCE" Aurelien yep ... certainly nothing uClibc specific here; the glibc folks say you should stop using sys_siglist[] too (In reply to comment #4) > yep ... certainly nothing uClibc specific here; the glibc folks say you should > stop using sys_siglist[] too Hi, just to notify that the patch applies to 2.5.5-r10 as well, any chance to get it into next revision of evms-patches-2.5.5-1.tbz2 ? or should it be sent upstream ? thanks Aurélien sys-fs/evms has been removed from portage tree |