Advertisement

在ubuntu下移植开源项目时候遇到的问题

阅读量:

./configure --build=i686-linux --host=arm-marvell-linux-gnueabi --prefix=/home/allen/workplaces/usb_modeswitch/usbmode/libusb/libusb-1.0.9/install

make

make install

2 .export PKG_CONFIG_PATH=/home/allen/workplaces/usb_modeswitch/usbmode/libusb/libusb-1.0.9/install/lib/pkgconfig:$PKG_CONFIG_PATH

3../configure --build=i686-linux --host=arm-marvell-linux-gnueabi --prefix=/home/allen/workplaces/usb_modeswitch/usbmode/libusb/libusb-compat-0.1.4/libusb-1.0.18/install

make

make install

allen@allen-Inspiron-7420:~/workplaces/usb_modeswitch/usbmode/libusb/libusb-compat-0.1.4/libusb-1.0.18$ sudo apt-get install libudev-dev

Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
libudev0
The following NEW packages will be installed:
libudev-dev
The following packages will be upgraded:
libudev0
1 upgraded, 1 newly installed, 0 to remove and 383 not upgraded.
Need to get 91.4 kB of archives.
After this operation, 525 kB of additional disk space will be used.
Do you want to continue [Y/n]? y
Err http://cn.archive.ubuntu.com/ubuntu/ precise-updates/main libudev0 amd64 175-0ubuntu9.4
404 Not Found
Err http://cn.archive.ubuntu.com/ubuntu/ precise-updates/main libudev-dev amd64 175-0ubuntu9.4
404 Not Found
Failed to fetch http://cn.archive.ubuntu.com/ubuntu/pool/main/u/udev/libudev0_175-0ubuntu9.4_amd64.deb 404 Not Found
Failed to fetch http://cn.archive.ubuntu.com/ubuntu/pool/main/u/udev/libudev-dev_175-0ubuntu9.4_amd64.deb 404 Not Found

E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

这时候需要更新源 apt-get update

configure: error: "udev support requested but libudev not installed"
allen@allen-Inspiron-7420:~/workplaces/usb_modeswitch/usbmode/libusb/libusb-compat-0.1.4/libusb-1.0.18$ ./configure --build=i686-linux --host=arm-marvell-linux-gnueabi --prefix=/home/allen/workplaces/usb_modeswitch/usbmode/libusb/libusb-compat-0.1.4/libusb-1.0.18/install

改为:

./configure --build=i686-linux --host=arm-marvell-linux-gnueabi --prefix=/home/allen/workplaces/usb_modeswitch/usbmode/libusb/libusb-compat-0.1.4/libusb-1.0.18/install --disable-udev

编译通过

总结:

注意:

Download

The latest release version is 2.1.1. The tar archive contains only the source. Older versionsused libusb-0.1.12 but since version 2.0.0 only libusb-1.x is supported.
Important: you need the data package as well !!

意思是说,2.0以上的版本紧紧支持libusb-1.x,,,这是很重要的一点,刚开始就是看别人的移植,但别人的移植都是低于2。0版本的,所以套路就不一样了,被迷惑了很久。

1.用git拿下

git clone git://git.libusb.org/libusb.git

./autogen.sh

mkdir install

./configure --build=i686-linux --host=arm-marvell-linux-gnueabi --prefix=/home/allen/workplaces/usb_modeswitch/usbmode/libusb/install

make

make install

export PKG_CONFIG_PATH=/home/allen/workplaces/usb_modeswitch/usbmode/libusb/install/lib/pkgconfig:$PKG_CONFIG_PATH

echo $PKG_CONFIG_PATH 其实,在usb-modeswitch-2。0以上版本,这些可以不用做

git clone git://git.libusb.org/libusb-compat-0.1.git

./autogen.sh

mkdir install

./configure --build=i686-linux --host=arm-marvell-linux-gnueabi --prefix=/home/allen/workplaces/usb_modeswitch/usbmode/libusb-compat-0.1/install

make

make install 其实,在usb-modeswitch-2。0以上版本,这些可以不用做

cd usb-modeswitch-2.1.1/

修改Makefile

#STRIP = arm-marvell-linux-gnueabi-strip
CC =arm-marvell-linux-gnueabi-gcc
INCLUDEDIR = /home/allen/workplaces/usb_modeswitch/usbmode/libusb/install/include/libusb-1.0
#LIBDIR = /home/allen/workplaces/usb_modeswitch/usbmode/libusb/install/lib
LIBDIR=/home/allen/workplaces/usb_modeswitch/usbmode/lib

INCLUDEDIR1 = /home/allen/workplaces/usb_modeswitch/usbmode/libusb-compat-0.1/install/include
LIBDIR1 = /home/allen/workplaces/usb_modeswitch/usbmode/libusb-compat-0.1/install/lib

(PROG): (OBJS) usb_modeswitch.h
(CC) (CFLAGS) -I (INCLUDEDIR) -L /home/allen/workplaces/usb_modeswitch/usbmode/libusb/install/lib/ -lusb-1.0 -o (PROG) $(OBJS)

make 即可生成usb_modeswitch可执行档

哎,被别人误导好久!!

参照 device_reference.txt,修改成为自己的 device_reference.txt

在usb转串口驱动里面option.c里面添加pid vid

运行./usb_modeswitch -W -c device_reference.txt ,可看到3g模块自动转换成为ttyUSB0 ttyUSB1 ttyUSB2

全部评论 (0)

还没有任何评论哟~