嵌入式linux开发,交叉编译tslib时报错:libtoolize: $pkgltdldir not a directory: `/home/xteda/am335xt3/linux-devkit/
2023-09-14 09:09:33 时间
一、问题描述。
Ubuntu下对tslib源码进行交叉编译出现报错,如下:
ms@ubuntu:~/.../tslib$ ./tslib.sh
libtoolize: $pkgltdldir not a directory: `/home/xteda/am335xt3/linux-devkit/share/libtool'
autoreconf: libtoolize failed with exit status: 1
./tslib.sh: 6: ./tslib.sh: ./configure: not found
make: *** No targets specified and no makefile found. Stop.
make: Nothing to be done for `install'.
ms@ubuntu:~/.../tslib$
二、问题分析。
交叉编译器不匹配问题。编译内核的时候搞用了一个编译器,编译qt的时候又用了另一个交叉编译工具,存在两套编译工具。一个是TI官方提供的编译器 cross-tools-am335x-4.5.3.tar.bz2,用于编译Uboot和Kernel;另一个是专用于编译Qt库的编译器 arm-2009q3.tar.bz2,如果您编译Qt程序或者是Qt库文件,建议使用专门应用于Qt编译的编译器 arm-2009q3.tar.bz2。
三、解决方案。
1、方案一(网上搜寻,未验证):在系统目录中创建 ti-sdk-am335x-evm 文件夹,将linux-devkit 放到这个文件夹中。
mkdir ti-sdk-am335x-evm
cp -rf ./linux-devkit ti-sdk-am335x-evm/
./configure CC=arm-linux-gcc-4.3.5 --build=i686-pc-linux --target=arm-linux --prefix=/opt/tslib-1.3 --host=arm-linux ac_cv_func_malloc_0_nonnull=yes --enable-inputapi=yes
CC=arm-linux-gcc-4.3.5 ./configure --prefix=/opt/tslib-1.3 --host=arm-linux ac_cv_func_malloc_0_nonnull=yes
修改./config.h 将文件中的 #define malloc rpl_malloc 这句话屏蔽。
gedit ./config.h
make
make install
2、方案二:更换交叉编译工具,使用arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2,问题得到解决,编译成功。(此交叉编译工具支持c++11)
附:
--host:指定目标机的平台类型。一般格式为CPU类型-操作系统名称。比如,目标机的CPU为arm,操作系统为linux,可以写为--host=arm-linux。
--prefix:这是安装路径的前缀,即编译结果放置的位置。默认值是/usr或者/usr/local,交叉编译时不能使用默认值,否则它会覆盖你本机的文件,所以要指定一个路径。比如,可以指定为--prefix=/work/cross/rootfs/usr。
相关文章
- Linux下文件上传大小限制(linux上传文件限制)
- 揭秘Linux系统里的日志文件(linux系统日志文件)
- 设置嵌入式Linux系统时区快速设置指南(嵌入式linux时区)
- 探索嵌入式Linux开发之路(嵌入式linux开发)
- 探索嵌入式Linux系统开发之路(嵌入式linux系统开发)
- 构建开源未来:自制 Linux 发行版(开发linux发行版)
- Linux嵌入式开发面试必备题型(linux嵌入式面试题)
- Linux专业开发笔记本指南(linux开发笔记本推荐)
- 交换Linux 脏页系统交换技术简介(linux脏页)
- 解析Linux的中断处理机制(linux的中断处理)
- 深度探索Linux环境下的开发语言(linux环境开发语言)
- 嵌入式Linux开发实践:实现梦想(嵌入式linux项目实践)
- 保障系统安全:掌握Linux操作系统安全性(linux操作系统安全性)
- 使用Linux脚本函数简化开发流程(linux脚本函数)
- 开发Linux系统的程序空间之旅(linux程序空间)
- Linux应用快速开发之道(linux应用开发)
- 管理嵌入式Linux系统中的进程管理(嵌入式linux进程)
- Linux组件开发:实现技术之美(linux组件开发)
- Linux终端Vi:强大的文本编辑利器(linux终端vi)
- 概念Linux分支概览:探索它的强大之处(linux的分支)
- 总结Linux驱动开发面试经验总结(linux驱动开发面试)
- 安装 Linux,快速启用 Enca (linux安装enca)
- Linux发行版:探索开发的未来(linux发行版开发)
- Linux分支:从核心到桌面(linux的分支)
- Linux的分支:开源的未来之路(linux的分支)
- 与应用探索Linux分支及其应用之路(linux的分支)
- Linux生成UUID:全球唯一标识符(linux生成uuid)
- 选择合适的Linux进行开发的指南(哪个linux适合开发)
- 开发开发STM32:Linux系统快速入门(linux系统stm32)
- Linux系统下如何制作启动盘(linux制作启动盘)
- 深入嵌入式Linux:探索图形界面的奥秘(嵌入式linux图形界面)
- 「解决Linux服务器字符集乱码问题」(linux服务器字符集)
- Linux下开发PCI驱动:提升系统性能(linux的pci驱动)