解决openwrt ipk missing dependencies libpthread librt

2023-11-08


新版本的trunk有在ipk打包的过程中的bug,他不能自动识别SDK中已经变异的动态链接库,比如libpthread,libboost这些。


解决方案是修改与pakage里同级的makefile的内容:

可以修改如下:

主要是添加DEPENDS与拷贝动态链接库到安装目录。找了很久,很多国外的论坛才,找到的思路。


##############################################
# OpenWrt Makefile for Scada_Em program
#
#
# Most of the variables used here are defined in
# the include directives below. We just need to
# specify a basic description of the package,
# where to build our program, where to find
# the source files, and where to install the
# compiled program on the router.
#
# Be very careful of spacing in this file.
# Indents should be tabs, not spaces, and
# there should be no trailing whitespace in
# lines that are not commented.
#
##############################################

include $(TOPDIR)/rules.mk

# Name and release number of this package
PKG_NAME:=Scada_Em
PKG_RELEASE:=1


# This specifies the directory where we're going to build the program. 
# The root build directory, $(BUILD_DIR), is by default the build_mipsel
# directory in your OpenWrt SDK directory
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)


include $(INCLUDE_DIR)/package.mk

# Specify package information for this program.
# The variables defined here should be self explanatory.
# If you are running Kamikaze, delete the DESCRIPTION
# variable below and uncomment the Kamikaze define
# directive for the description below
define Package/Scada_Em
	SECTION:=utils
	CATEGORY:=Utilities
	TITLE:=Scada_Em -- prints a snarky message
	DEPENDS:=+libpthread +librt
endef

# Uncomment portion below for Kamikaze and delete DESCRIPTION variable above
define Package/Scada_Em/description
	If you can't figure out what this program does, you're probably
	brain-dead and need immediate medical attention.
endef



# Specify what needs to be done to prepare for building the package.
# In our case, we need to copy the source files to the build directory.
# This is NOT the default.  The default uses the PKG_SOURCE_URL and the
# PKG_SOURCE which is not defined here to download the source from the web.
# In order to just build a simple program that we have just written, it is
# much easier to do it this way.
define Build/Prepare
	mkdir -p $(PKG_BUILD_DIR)
	$(CP) ./src/* $(PKG_BUILD_DIR)/
endef


# We do not need to define Build/Configure or Build/Compile directives
# The defaults are appropriate for compiling a simple program such as this one


# Specify where and how to install the program. Since we only have one file,
# the Scada_Em executable, install it by copying it to the /bin directory on
# the router. The $(1) variable represents the root directory on the router running
# OpenWrt. The $(INSTALL_DIR) variable contains a command to prepare the install
# directory if it does not already exist.  Likewise $(INSTALL_BIN) contains the
# command to copy the binary file from its current location (in our case the build
# directory) to the install directory.
#define Package/Scada_Em/install
#	$(INSTALL_DIR) $(1)/bin
#	$(INSTALL_BIN) $(PKG_BUILD_DIR)/Scada_Em $(1)/bin/
#
#	$(INSTALL_DIR) $(1)/usr/lib
#endef

define Package/Scada_Em/install
	$(INSTALL_DIR) $(1)/bin
	$(CP) /home/zchx/3rdLib_mipsel/lib{boost_system,boost_thread,stdc++}.so.* $(1)/bin/
	$(INSTALL_BIN) $(PKG_BUILD_DIR)/Scada_Em $(1)/bin/
endef

# This line executes the necessary commands to compile our program.
# The above define directives specify all the information needed, but this
# line calls BuildPackage which in turn actually uses this information to
# build a package.
$(eval $(call BuildPackage,Scada_Em))


如果你遇到类似的问题,可以联系我。









本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解决openwrt ipk missing dependencies libpthread librt 的相关文章

  • Flutter中神奇的Builder组件

    经常遇到of这样的方法 却怎么都不可用 google之后找到了正确答案 原答案地址 https stackoverflow com questions 52502498 get current tab of defaulttabcontro
  • WPS以及它的两种方式PIN与PBC的理解

    WPS Wi Fi Protected Setup PBC Push ButtonConfiguration 这个是不需要密码的方式 PIN Personal Information Number 这个是要用密码的方式通常用在电子设备的互通
  • vue2 使用 Sortable 库进行拖拽操作

    一 vue 项目使用 文档地址 https www itxst com sortablejs neuinffi html 1 安装依赖 npm i S vuedraggable 2 vue 文件引入组件 import draggable f
  • Verilog抽象和语言功能

    Verilog模型的不同级别抽象 1 系统级 system level 2 算法级 algorithm level 3 RTL级 register transfer level 以上三种属于行为描述 只有 3 才与逻辑电路有明确的对应关系
  • Java 多线程编程学习笔记(7月16号)

    文章目录 作者信息 前言 一 什么是线程 1 1 进程和线程 1 2 并发和并行 1 3 上下文切换 Context Switch 二 创建线程的三种方式 2 1 概述 2 2 继承Thread类 2 3 实现Runnable接口 2 4
  • 你还在跟客户尬聊?这4个话题帮你打开话茬!

    外贸人员了解到 跟进国外客户的过程漫长而无趣 需要具备耐心和必要技巧 才能获得回报 在跟进客户时 很多人容易紧张 因为害怕触及客户底线而放缓沟通节奏 同时缺乏可以与客户交流的话题 导致跟丢客户的风险增加 因为绝大部分海外客户一年下单几次 所
  • 【C++】流操作的基础

    include stdafx h include
  • Vue3 isRef

    isRef 检查一个对象是否为 ref 包装过的对象 实例
  • Mysql之查看数据库表锁、行锁信息

    测试环境数据库突然连接不上 经过排查因为磁盘空间不足导致Mysql服务无法使用 排查过程中没有直接定位到磁盘空间不足问题 查看了当前数据库连接情况 表锁 行锁等 查看当前线程处理情况 如果不使用full关键字 信息字段中只会显示每个语句的前
  • 微信小程序分享图片给微信好友(如二维码)

    目录 前言 一 使用哪种api 二 对图片的处理需要转化为临时路径 三 Windows端兼容性问题 前言 最近在公司开发一个微信小程序项目 用到的uniapp技术 在分享图片时 查看了uniapp的技术文档 写的还是很粗糙的 说得不太清楚
  • c++ 父类子类继承关于是复制还是共用解析

    假如 父类里面private 有一个int num 子类去继承父类以后 想要访问继承的这个num的话 不能直接访问 因为继承的时候 从逻辑上来说 是复制关系 从内存上讲 其实是共用关系 网上一个人的回答 我感觉继承从逻辑上看是复制 你比如子
  • 前端三剑客 - - HTML、CSS、JavaScript

    我是目录 1 HTML 2 CSS 3 JavaScript 1 HTML 1 简介 html 属于 xml 的一种 遵循 xml 格式 html是网页文件 可以通过html提供页面元素 dom元素 html整体结构是一个树形结构 也叫do
  • 【已解决】Keil5点击Debug Setting软件崩溃解决方法

    MDK5 38中 点击Debug Setting软件退解决方法 Nucleo板自带的ST Link 在MDK中点击Debug Setting 软件崩溃 采用删除与工程文件同名的 UVOPTX 问题依旧 应该是买到盗版的硬件了 采用旧版ST
  • Java 面试之前端相关

    前言 这篇文章包括一些前端题目 包括js jquery vue等等 正文 1 javascript与Java的不同 Java代码必须编译才能执行 而JavaScript不需编译 只需由浏览器解释执行 Java多运行于服务器 而JavaScr
  • 尊重原创,我保证这篇文章为原创作品!

    最近确实太忙 目前在研发一款新产品 博客更新有些慢 不过自己还是会坚持来这里写笔记 对自己的要求 每月至少5篇
  • CCF-CSP 202206-3 角色授权 C++满分题解

    题目链接 计算机软件能力认证考试系统 思路见注释 include
  • Mycat+分库分表

    目录 分库分表 垂直分表 垂直分库 水平分库 水平分表 mycat实操场景 mycat配置 mysql读写分离配置 38条消息 mycat 安装与配置 羽之大公公的博客 CSDN博客 mycat 分库分表 众所周知 单表1000w 库500

随机推荐

  • void*(指针)的类型转换-专讲

    指针是一个特殊的变量 它里面存储的数值被解释成为内存里的一个地址 所以不管你存储的是int指针 float指针 long指针 对于存储指针的内存来说都是分配同样大小的内存的 这也为使用void指针可以存储任意类型的指针打下了基础 但是注意在
  • vivado之初步学习同步FIFO-first word fall through类型Common Clock RAM(1)

    一 设置页面 二 查看波形图 上测试代码 timescale 1ns 1ps module fifo study simulation input sysclk reg 7 0 din 0 reg wr en 0 wire almost f
  • C语言打印各种图案合集

    1 C语言打印菱形图案 题目描述 输入一个正整数 n 并输出一个菱形 这个菱形有 2n 1 行 第一行有 2 个字母 A 之后的 n 1 行每行字母 A 的数量会递增 2 个 后面的 n 1 行至 2n 1 行 每行字母 A 的数量会递减
  • 看点:response对象,setContentType(String type)方法的使用示例。

    说明 setContentType String type 方法 指的是响应设置内容类型头 参数type可取text html text plain application x msexcel application msword等值 示例
  • 使用Python,OpenCV,本地二进制模式(LBP)进行人脸识别

    使用Python OpenCV与本地二进制模式 LBP 进行人脸识别 1 效果图 2 原理及步骤 2 1 原理 2 2 步骤 3 源码 参考 在深度学习和暹罗网络之前 面部识别算法依赖于特征提取和机器学习 这篇博客将介绍如何使用本地二进制模
  • 【blender基础】常用基础功能记录

    blender常用基础功能记录 1 游标与选中项的吸附功能 1 1 选中项 gt 游标 1 2 选中项 gt 游标 保持偏移 1 3 选中项 gt 活动项 1 4 选中项 gt 栅格点 1 5 游标 gt 栅格点 1 6 游标 gt 世界原
  • linux-Team-网卡绑定

    简介 在 linux 中 Rhel7 之前都是使用 bond 机制来实现多网卡绑定同一个 IP地址 来对网络提供访问 并按不同的模式来负载均衡或者轮回接替管理处理数据 而到Rhel7 之后 提供了一种强大的工具 nmcli工具命令 使用此工
  • 如何导出无水印_短视频如何去水印,短视频去水印原理解析

    大家平时在收集视频素材时候 可能会看见某某短视频平台一个非常中意的作品 但是保存到本地之后 切有LOGO水印感觉非常失望 因为有了水印 可能对我们2次编辑和调用会带来比较多的麻烦 如果直接用视频编辑软件进行马赛克模糊处理 又会对视频本身质量
  • JS正则表达式验证是否为11位有效手机号码

    最近在做注册登陆页面 都要涉及到验证11位有效手机号码 这里贴出代码 希望能帮到有这个开发需求的朋友 function isPoneAvailable poneInput var myreg 1 3 4 5 7 8 0 9 9 if myr
  • 一个vue项目同时兼容pc和移动端

    介绍 公司要求vue开发的项目 既有移动端又有pc端 但是移动端和pc端展示的内容不一样 同一个组件样式也不一样 移动端展示内容比pc端少 那这个时候在一个项目种怎么做的 解决方式 路由写两份 一份移动端的 一份pc端的 这两份路由地址相同
  • 使用vscode找不到Python常见包的问题

    首先明白一个概念 Python会在以下路径中搜索它想要寻找的模块 1 程序所在的文件夹 2 标准库的安装路径 3 操作系统环境变量PYTHONPATH所包含的路径 将自定义库的路径添加到Python的库路径中去 有如下两种方法 1 动态的添
  • spring 控制反转和依赖注入的简单理解

    最近在学习springboot的时候发现我对spring不能抽象说出意思 证明当时并没理解spring只是限于使用 对于刚踏入这行的毕业生这是不行的 为了养成良好的习惯 坚持将工作中的问题总结发成博客供自己观看哈哈 现在来看一个例子 创建了
  • 用Electron将web网页程序包装成桌面应用

    用Electron将web网页程序包装成桌面应用 前提 web 端页面 真的太容易一不小心关掉了 或者 标签页比较多的时候不太容易找到 所以决定快速包装一个 认识electron electron快速入门 搭建electron项目 第一步
  • MySQL数据库:SQL语句

    MySql数据库系列阅读 MySQL数据库 MySQL数据库 SQL语句 MySQL数据库 完整性约束 MySQL数据库备份与还原 MySQL数据库 编码 1 SQL概述 1 1 什么是SQL SQL Structured Query La
  • educoder 数据库

    查询CS系学生选择的课程 列出学号 课程号 成绩 select sno cno grade from Sc where Sno in select Sno from Student where Sdept CS 查询没有选C06 课程号 课
  • node连接mysql报错:ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested

    NodeJs 代码 const mysql require mysql const db mysql createPool host 127 0 0 1 user root password database dbtest1 db quer
  • uni-app微信分享 自定义分享链接在iOS中不生效的问题处理

    最近使用uni app开发了一个微信小程序使用的功能 需要用到分享给微信好友的功能 如果不做如下设置的话 本身微信默认的分享只是当前页面 分享 initShare let this this var linkUrl this GLOBAL
  • 飞机大战游戏微信小程序源码

    目录 软件介绍 微信飞机大战游戏特色 源码链接 软件介绍 微信飞机大战游戏是一款十分好玩有趣的射击类型手游 游戏的操作简单玩家很容易上手 玩法也十分的有趣 具有一定的挑战性 游戏中还会不时的出现各种让你意想不到的惊喜哦 别再犹豫 一起来感受
  • Java 4-1&2、全局异常处理

    全局异常处理 注 使用Mybatis自带的异常处理 简单异常处理 用到的注解 ControllerAdvice Spring3 2提供的新注解 Controller增强器 可对controller层中被 RequestMapping 注解了
  • 解决openwrt ipk missing dependencies libpthread librt

    新版本的trunk有在ipk打包的过程中的bug 他不能自动识别SDK中已经变异的动态链接库 比如libpthread libboost这些 解决方案是修改与pakage里同级的makefile的内容 可以修改如下 主要是添加DEPENDS