QNX 7.1 交叉编译 cron

概述

cron 是 Linux 系统上一个非常有用的工具,它可以让你在特定的时间或间隔自动运行指定的任务,你可以使用它来自动执行日志转储、备份、发送邮件通知等。

cron 最初是运行在 BSD 4.23 SysV 系统上,目前在 Linux 系统运行的是开源的 cron 实现,其作者为 Pau Vixie,最后的版本是 1993 年发布的 Vixie Cron V3.0,所以 cron 源码已经有非常长的时间未作任何变动了。

不过每个发行版本(比如说 Debian 或者 Redhat)会继续维护 cron 的源码,可以通过下文所介绍的方法获取 cron 源码。

获取源码

使用 apt-get 获取(推荐)

使用 apt-get source 命令下载 cron 源码:

mkdir cron
cd cron
apt-get source cron

技巧:
将 Ubuntu 的软件源配置成阿里云可大大节省软件包下载时间
参考:Ubuntu 修改 apt 源为阿里云源

上述命令执行后会将 cron 的原始代码包及 debian 的补丁包一起下载下来,合并到 cron-3.0pl1 文件夹,最终可以在合并后的文件夹中进行编译:

uidq2691@hzhebserver01:~/projects/linux/cron$ ls
cron-3.0pl1                           cron_3.0pl1-136ubuntu1.dsc
cron_3.0pl1-136ubuntu1.debian.tar.xz  cron_3.0pl1.orig.tar.gz

使用 git 获取

上文提到,每个发行版本会继续维护 cron 的源码,在 Debin 系统中使用的是 Git 版本控制系统来进行维护。可以使用下面命令拉取最新源码:

git clone https://salsa.debian.org/debian/cron.git

修改 Makefile 文件

  1. 修改 58 行,添加 -lregex 链接正则表达式 libregex.so 库

    LIBS       = $(PAM_LIBS) $(SELINUX_LIBS) $(AUDIT_LIBS) -lregex
    
  2. 修改 68 行,添加编译所需的宏定义。

    COMPAT        =  -DPOSIX -D_QNX_SOURCE -D_QNX_ -D__GLIBC__ -DMAXNAMLEN=255
    
  3. 修改 83 行,添加 LDFLAGS 配置:

    LDFLAGS        = -Vgcc/8.3.0,gcc_ntoaarch64le
    
  4. 修改 87 行,添加 CFLAGS 配置:

    CFLAGS      +=    $(INCLUDE) $(COMPAT) $(DEFS) -Vgcc/8.3.0,gcc_ntoaarch64le
    

配置 QNX 编译环境

  1. 假如 QNX 7.1 SDP 的路径为 /work/sdk/qnx710,使用 source 命令让 qnx 环境变量生效:

    source /work/sdk/qnx710/qnxsdp-env.sh
    
  2. qcc 添加到 $PATH 环境变量:

    export PATH=$PATH:$QNX_HOST/usr/bin
    
  3. 配置 CC 环境变量的值,默认为 gcc,需要修改成 qcc:

    export CC=qcc
    
  4. 执行 make 命令进行编译:

    make
    
  5. 最后会在当前目录中生成 croncrontab 两个进程。

QNX 7.1 交叉编译 cron相关推荐

  1. 交叉编译 Crypto++

    交叉编译 Crypto++ 概述 Crypto++ 是一个免费开源的 C++ 密码学库,由 Wei Dai(美籍华裔)首次开发,当前由 Crypto++ 项目团队维护,源代码在 github 上进行托 ...

  2. 用TensorRT针对AArch64用户的交叉编译示例

    用TensorRT针对AArch64用户的交叉编译示例 以下介绍如何在x86_64linux下为AArch64 QNX和Linux平台交叉编译TensorRT示例. 2.1. Prerequisite ...

  3. 树莓派linux编译不了动态库,linux系统下的树莓派与Qt 5.12.3源码的交叉编译

    {写在前面:按照这个方法,基本可以成功在linux系统下交叉编译Qt5.12.3,其他版本的源码也编译} 我的环境:Linux Mint 19.1;树莓派 3;Qt源码5.12.3 当两个系统全部安装 ...

  4. Gin实践 番外 Golang交叉编译

    Golang交叉编译 项目地址:https://github.com/EDDYCJY/go... (快上车,支持一波) 原文地址:https://segmentfault.com/a/11... 前言 ...

  5. [QNX Hypervisor 2.2用户手册]12.2 术语(二)

    专栏目录​​​​​​​ IOMMU - 输入输出内存管理单元 输入输出内存管理单元(Input/Output 内存管理单元).一个内存管理单元(MMU)将支持的DMA I/O总线连接到主存.就像传统的 ...

  6. 交叉编译Qt5.9.6

    准备 主机平台:Ubuntu 16.04 LTS(x64)     目标平台:ARM40-A5D3     Qt版本:Qt5.9.6     tslib github     sqlite3     ...

  7. ubuntu下qnx7.0交叉编译qt5.9.7源码

    在CSDN上查阅了大部分qnx7.0平台编译qt源码的博客,都没有详细给出具体过程和报错处理方式,导致博主在编译时遇到诸多问题,耗时两周才成功编译qnx下aarch64架构版本的qt库,尝试过诸多版本 ...

  8. Powerlink总线协议在QNX系统上的移植

    一.硬件平台  通讯主站选用安装QNX系统的工控机,交叉编译工具选用QNX Momentics IDE,QNX Momentics IDE软件是基于WINDOWS系统下的QNX交叉开发环境,使用户可以 ...

  9. QNX7.1 交叉编译开源库

    1.下载QNX7.1 SDK并解压 ITL:~/work/tiqnx710$ ls -l 总用量 16 drwxrwxr-x 4 xxx4096 1月 28 13:38 host -rwxrwxr-x ...

  10. Golang的交叉编译问题

    参考:Golang交叉编译各个平台的二进制文件 - Go语言中文网 - Golang中文社区 (studygolang.com).也谈Go的可移植性 | Tony Bai 今天准备将一个在Mac上开发 ...

最新文章

  1. CC讲坛-大脑疾病背后的秘密-许执恒
  2. mvd没什么每次参数双都多一个逗号_学服装设计后,家里多了哪些奇怪又可爱的宝藏物品?...
  3. RxDownload2 文件下载太慢分析
  4. linux用m4重定向,liunx重定向控制台消息
  5. Linux 安装、卸载JDK
  6. html移除click事件绑定,带你了解JQuery中绑定事件(bind())和移除事件(unbind())...
  7. poj 2777 Count Color(线段树区区+染色问题)
  8. Mybatis源码本地化构建Demo
  9. java gc 例子_Java GC.drawImage方法代码示例
  10. ASP.NET MVC下使用AngularJs语言(一):Hello your name
  11. Spark的Master、Worker、Executor以及task等概念
  12. 实验二+018+李滨
  13. python网络爬虫实战——实时抓取西刺免费代理ip
  14. 软件测试——全链路压测原理
  15. python小程序实现 --- 乌龟吃鱼(练习点——面向对象的特性:继承,多态,封装)
  16. 科技小科普】物联网的八大核心技术
  17. 微信小程序:小程序开发者注册步骤
  18. 好心情:跌落凡间的星星天使,爱终将弥补一切
  19. OpenHarmony(鸿蒙)操作系统
  20. Stata:时变Granger因果检验

热门文章

  1. YouTube IFrame Player API 的使用
  2. 河北易县八佛洼辽三彩罗汉造像
  3. 外卖小程序源码java后台_扫码点餐系统小程序源码搭建开发
  4. 以太坊之dapp例子
  5. html 语音朗读,网页通用,语音朗读功能实现教程
  6. tc7102路由器虚拟服务器,国内电信推首款WiFi 6+路由器TC7102,5G和WiFi 6成黄金搭档-贤集网...
  7. Linux Regulator Framework(2) - regulator driver
  8. 走出情绪内耗:理性情绪行为疗法
  9. Vulcan 基于Meteor的APollO框架 , grapesjs 用于可视化生成Html 页面
  10. 网站建设-网站设计怎么样做的更好?