环境: 龙芯2F + 中标5 (kernel-2.6.27.6)+ gcc-4.2.3
软件包:udev
下载地址:
软件包libacl1-dev
下载地址:http://packages.debian.org/lenny/libacl1-dev
软件包:gperf
下载地址:
软件包:gettext
下载地址:ftp://ftp.gnu.org/pub/gnu/gettext/
软件包:attr
下载地址:
软件包:libusb
下载地址:
软件包:libusb-0.1.12
软件包:usbutils
下载地址:
Udev-145
$ tar xf udev-145.tar.gz
$ cd udev-145
$ ./configure
出错信息:
checking for gperf... no
configure: error: gperf is needed
参考解决方法:
安装gperf-3.0.4
$ ./configure
出错信息:
checking for LIBUSB... configure: error: Package requirements (libusb >= 0.1.12) were not met:
No package 'libusb' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables LIBUSB_CFLAGS
and LIBUSB_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
参考解决方法:
安装:libusb
$ export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
$ cd /usr/local/lib/pkgconfig
$ sudo mv libusb-1.0.pc libusb.pc //如果不修改则出同样的错误,还是找不到libusb
$ cd -
$ ./configure
出错信息:
checking for USBUTILS... configure: error: Package requirements (usbutils >= 0.82) were not met:
No package 'usbutils' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables USBUTILS_CFLAGS
and USBUTILS_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
参考解决方法:
安装usbutils
$ export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
$ ./configure --prefix=/home/cs2c/mylib/udev/
下面是提示信息:
udev 145
========
prefix: /home/cs2c/mylib/udev
sysconfdir: ${prefix}/etc
sbindir: ${exec_prefix}/sbin
libdir: ${exec_prefix}/lib
rootlibdir: ${exec_prefix}/lib
libexecdir: ${exec_prefix}/libexec
datarootdir: ${prefix}/share
mandir: ${datarootdir}/man
includedir: ${prefix}/include
logging: yes
debug: no
selinux: no
compiler: gcc
cflags: -g -O2
ldflags:
extras: yes
gintrospection: no
usb.ids: /usr/share/usb.ids
pci.ids: /usr/share/pci.ids
xsltproc: /usr/bin/xsltproc
gperf: /usr/local/bin/gperf
$ make
出错信息:
udevd.c:36:26: 错误:sys/signalfd.h:没有那个文件或目录
udevd.c: 在函数‘main’中:
udevd.c:1051: 错误:‘fdsi’的存储大小未知
udevd.c:1054: 错误:‘sizeof’不能用于不完全的类型‘struct signalfd_siginfo’
udevd.c:1055: 错误:‘sizeof’不能用于不完全的类型‘struct signalfd_siginfo’
make[2]: *** [udevd.o] 错误 1
make[2]: Leaving directory `/home/cs2c/work/nc/udev-145/udev'
make[1]: *** [all-recursive] 错误 1
make[1]: Leaving directory `/home/cs2c/work/nc/udev-145'
make: *** [all] 错误 2
参考解决方法:
从X86的电脑(/usr/include/sys/signalfd.h)上复制过来放到(/usr/include/sys/) 目录下
signalfd.h.zip 出错信息:
gcc: /usr/lib/libacl.so: No such file or directory
make[3]: *** [udev-acl] 错误 1
make[3]: Leaving directory `/home/cs2c/work/nc/udev-145/extras/udev-acl'
make[2]: *** [all-recursive] 错误 1
make[2]: Leaving directory `/home/cs2c/work/nc/udev-145/extras'
make[1]: *** [all-recursive] 错误 1
make[1]: Leaving directory `/home/cs2c/work/nc/udev-145'
make: *** [all] 错误 2
参考解决方法:
$ sudo find / -name libacl*
$ cd /usr/lib
$ sudo cp /lib/libacl.so.1.1.0 .
$ sudo ln -s libacl.so.1.1.0 libacl.so.1
$ make
$ make install
usbutils-0.84
$ tar xf usbutils-0.84.tar.gz
$ cd usbutils-0.84
$ ./configure
出错信息:
checking for LIBUSB... configure: error: Package requirements (libusb >= 0.1.12) were not met:
No package 'libusb' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables LIBUSB_CFLAGS
and LIBUSB_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
参考解决方法:
安装:libusb
$ export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
$ make
出错信息:
lsusb.c:36:17: 错误:usb.h:没有那个文件或目录
参考解决方法:
用libusb-0.1.1.12替换libusb-1.0
$ make
$ sudo make install
libusb-0.1.1.12
$ tar xf libusb-0.1.12.tar.gz
$ cd libusb-0.1.12 && sudo su
# ./configure && make && make install
libusb-1.0.2
$ tar xf libusb-1.0.2.tar.gz
$ cd libusb-1.0.2
$ ./configure && make
$ sudo make install
gperf-3.0.4
$ tar xf gperf-3.0.4
$ cd gperf-3.0.4
$ ./configure
出错信息:
checking for acl_init in -lacl... no
configure: error: libacl not found
参考解决方法:
安装acl-2.2.47
$ ./configugre && make
$ sudo make install
acl-2.2.47
$ tar xf acl-2.2.47
$ cd acl-2.2.47
$ ./configure
出错信息:
checking for msgfmt... no
FATAL ERROR: msgfmt does not seem to be installed.
acl cannot be built without a working gettext installation.
参考解决方法:
安装:gettext-0.17
$ ./configure
出错信息:
checking attr/xattr.h usability... no
checking attr/xattr.h presence... no
checking for attr/xattr.h... no
FATAL ERROR: attr/xattr.h does not exist.
Install the extended attributes (attr) development package.
Alternatively, run "make install-dev" from the attr source.
参考解决方法:
安装:attr
$ ./configure
$ make
出错信息:
gcc: /usr/lib/libattr.so: No such file or directory
gmake[1]: *** [libacl.la] 错误 1
make: *** [default] 错误 2
参考解决方法:
$ sudo su && cd /usr
# find ./ -name libattr.so
# cp /lib/libattr.so.1* /usr/lib
# cd /usr/lib
# rm libattr.so.1
# ln -s libattr.so.1.1.0 libattr.so.1
# make
# make install-dev
gettext-0.17
$ tar xf gettext-0.17.tar.gz
$ cd gettext-0.17
$ ./configure && make
$ sudo make install
attr-2.4.43
$ tar xf attr-2.4.43.tar.gz
$ cd attr-2.4.43
$ ./configure && make
$ sudo make install-dev
2011-1-21