linux编译

linux下源码编译curl报错.

六月ゝ 毕业季﹏ 提交于 2020-03-01 06:12:51
说明: 由于现网的php不带curl功能, 需要编译生成一个libcurl.so给php生成curl.so模块用. 并且需要支持 openssl . 编译的过程并不顺利, 这里做下记录备忘. 使用如下configure命令生成配置文件. ssl是提前编译好的 openssl . ./configure --prefix=/home/nemo/progs/curl --with-ssl=/home/nemo/progs/ssl 问题1编译报错: Making all in src make[1]: Entering directory `/data/home/nemo/libs/curl-7.27.0/src' make all-am make[2]: Entering directory `/data/home/nemo/libs/curl-7.27.0/src' /bin/sh ../libtool --tag=CC --mode=link gcc -g0 -O2 -Wno-system-headers -L/home/nemo/progs/ssl/lib -o curl hugehelp.o tool_binmode.o tool_bname.o tool_cb_dbg.o tool_cb_hdr.o tool_cb_prg.o tool_cb_rea.o tool_cb

ubuntu编译内核提示lzop错误

那年仲夏 提交于 2020-03-01 03:26:31
ubuntu编译内核提示 lzop 错误 /bin/sh: 1: lzop: not found build@build-machine:/work/embedfire/code/ebf_6ull_linux$ make ARCH=arm -j4 CROSS_COMPILE=arm-linux-gnueabihf- CHK include/config/kernel.release CHK include/generated/uapi/linux/version.h CHK include/generated/utsrelease.h make[1]: 'include/generated/mach-types.h' is up to date. CHK include/generated/bounds.h CHK include/generated/asm-offsets.h CALL scripts/checksyscalls.sh CHK include/generated/compile.h CHK kernel/config_data.h Kernel: arch/arm/boot/Image is ready Building modules, stage 2. LZO arch/arm/boot/compressed/piggy.lzo /bin/sh: 1:

UPX为APK加壳中.init段相关问题

穿精又带淫゛_ 提交于 2020-03-01 02:41:56
感谢UPX的维护者们.最近在读UPX源码,目的是为.so文件加壳玩. 在此之前阅读了大部分我能搜到的中文相关内容.很多语焉不详,所以综合了一下,编译出了Linux下的版本. 本文简单说明了以下内容: 为什么一些.so在新版编译的UPX中压缩无法通过. .init段的一些简单探索 编译UPX 你可以参考这里,step by step. Android NDK UPX加固 作者:fallrain 无法编译的一点情况 UPX最新版d9e7cb4b5485用VS编译会报错-无法识别的导出符号.另外还有一些问题,动态结构体数组不能直接声明.需要动态申请.这都是小问题,根据报错信息很容易解决.真正的关键在于对于加壳.so动态链接库会提示无法识别的文件格式.当前我还没有在windows平台编译成功最新版. 编译的小科普 源代码如果跨平台,通过不同的编译选项可以编译成不同平台的程序. 功能不变. 无法加壳 我编译成功UPX的Linux版后,发现加壳Android上的.so动态链接库文件会报 “未知文件格式” .在使用一定数量的不同类型.so后.认为要么UPX压缩.so的传言为虚,要么我们的.so文件统统有问题. .init 多篇网文反复提到UPX只能压缩具有该”区段”的内容. UPX区分格式的方法 压缩可执行程序肯定不能像压缩软件那样直接一套通用算法就能搞定,得针对不同格式做出相应安排,

在Linux CentOS 6.6上安装Python 2.7.9

纵然是瞬间 提交于 2020-03-01 02:02:26
编译CoreCLR需要Clang 3.5,而CentOS上安装的是Clang 3.4.2(yum repos中最新版也是这个),只能自己手工编译LLVM的源代码进行安装。 (注:CentOS的版本是6.6) 一、安装libstdc++4.7 (注:如果是CentOS 7.0,不需要这步) wget http://people.centos.org/tru/devtools-2/devtools-2.repo -O /etc/yum.repos.d/devtools-2.repo yum install devtoolset-2-gcc devtoolset-2-binutils devtoolset-2-gcc-c++ ln -s /opt/rh/devtoolset-2/root/usr/bin/* /usr/local/bin/ 如果不安装,在configure配置编译选项时会出现下面的错误提示: We detected a missing feature in the standard C++ library that was known to be missing in libstdc++4.6 and implemented in libstdc++4.7. There are numerous C++11 problems with 4.6's library, and

Android文件系统编译出错记录

笑着哭i 提交于 2020-03-01 01:28:39
错误1: 注意:external/protobuf/java/src/main/java/com/google/protobuf/GeneratedMessageLite.java 使用了未经检查或不安全的操作。 注意:要了解详细信息,请使用 -Xlint:unchecked 重新编译。 注意:external/protobuf/java/src/main/java/com/google/protobuf/micro/CodedInputStreamMicro.java 使用了未经检查或不安全的操作。 注意:要了解详细信息,请使用 -Xlint:unchecked 重新编译。 Generated: (out/target/product/generic/android-info.txt) host C: acp <= build/tools/acp/acp.c host C++: libhost <= build/libs/host/pseudolocalize.cpp host C: libhost <= build/libs/host/CopyFile.c <命令行>:0:0: 警告: “_FORTIFY_SOURCE”重定义 [默认启用] <built-in>:0:0: 附注: 这是先前定义的位置 <命令行>:0:0: 警告: “_FORTIFY_SOURCE”重定义

Visual Studio Code 如何编写运行 C、C++ 程序?

时光怂恿深爱的人放手 提交于 2020-02-29 04:55:16
0. 前言 VS Code 是微软发布一款跨平台的源代码编辑器,其拥有强大的功能和丰富的扩展,使之能适合编写许多语言。 本文面向初学者(但不是纯小白),分享一点我配置C/C++的经验。 本文所有内容均可从VS Code的官方文档: C++ programming with Visual Studio Code 以及各个扩展的文档中获得,并且他们还会进行更新。 我的环境:64位Windows 10。VS Code的配置文件在Linux下应该也是通用的,但需要修改路径等部位配置。 1. 环境的准备 VS Code的官网和下载、安装最新的版本。VS Code只是一个编辑器,并不是IDE(集成开发环境)。不含编译器(和许多其它功能),所以编译器要自己安装好。如果想用其他工具链或单纯用官方扩展。 然后下载安装MinGW-w64,其实MinGW和MinGW-w64只是名字像,它们是两个不同的项目。为了方便,本文中的MinGW指的其实都是MinGW-w64。MinGW本身已经很久没有更新了,故 不推荐 。下载以下两个程序(都要): LLVM Download Page 在此页面下载Clang。选Pre-Built Binaries中的Clang for Windows (64-bit), 不需要下.sig文件 MinGW-w64 - for 32 and 64 bit Windows

iperf-2.0.5移植到IMX6DQRM的linux-3.0.35

久未见 提交于 2020-02-28 15:30:43
首先导出交叉编译链的路径: export PATH=$PATH:/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/ 切换到iperf-2.0.5的主目录,执行: ./configure --host=arm-none-linux-gnueabi 以上和交叉编译工具链配套。 再执行: make 编译出src/iperf 这个src/iperf是需要开发板上有动态链接库,然而我的开发板文件系统没有动态库,因此需要静态编译 编译静态编译iperf 修改src/Makefile,增加-static iperf_LDFLAGS = -static -O2 -pthread -DHAVE_CONFIG_H 最终生成src/iperf直接可以在开发板上运行。 iperf -s //接收端 iperf -c 192.168.0.10 -i 1 //发送端 来源: CSDN 作者: dongdong12345678900 链接: https://blog.csdn.net/dongdong12345678900/article/details/104551764

CentOS7内核升级

房东的猫 提交于 2020-02-28 13:32:16
CentOS7默认的内核版本是3.10,内核版本太低就会导致安装基于内核新特性的软件包,如bcc-tools软件包。 <!--more--> ### 方法比较 内核升级可以选用基于内核软件包的编译方式也可以选择用yum进行升级,前者运行时间长,并且需要消耗大量的磁盘空间,这一点对于个人学习下使用的云服务器来说很不友好,如果你剩余磁盘已经不够20G,很可能会导致编译终止。第二种方式使用yum安装,安装速度十分快捷,15分钟内就可以得到一个全新内核的linux服务器,所以个人使用更推荐后者。当然在磁盘不紧张的情况下,也可以选用前者练练手,但找kernel-devel包又会让人很头疼。 ### 编译方式升级内核 首先去[linux内核官方网站](https://www.kernel.org)下载你想升级的内核版本,这里有三个主要的版本,mainline即为现在开发的主线版本,stable为稳定版本,longterm为长期支持版本。其中longterm是最为稳妥的选择。这里以4.14.170版本为列,并且假定为root用户,如果当前用户不是root用户可以`su -`切换到root用户或者在关键命令前加上`sudo` 安装开发软件包 ``` yum groupinstall -y "Development tools" ``` 下载安装包至服务器 ``` mkdir

更新linux内核5.5.6的过程。

时间秒杀一切 提交于 2020-02-28 08:54:49
引用自https://linux.cn/article-9665-1.html 曾经有一段时间,升级 Linux 内核让很多用户打心里有所畏惧。在那个时候,升级内核包含了很多步骤,也需要很多时间。现在,内核的安装可以轻易地通过像 apt 这样的包管理器来处理。通过添加特定的仓库,你能很轻易地安装实验版本的或者指定版本的内核(比如针对音频产品的实时内核)。 考虑一下,既然升级内核如此容易,为什么你不愿意自行编译一个呢?这里列举一些可能的原因: 你想要简单了解编译内核的过程 你需要启用或者禁用内核中特定的选项,因为它们没有出现在标准选项里 你想要启用标准内核中可能没有添加的硬件支持 你使用的发行版需要你编译内核 你是一个学生,而编译内核是你的任务 不管出于什么原因,懂得如何编译内核是非常有用的,而且可以被视作一个通行权。当我第一次编译一个新的 Linux 内核(那是很久以前了),然后尝试从它启动,我从中(系统马上就崩溃了,然后不断地尝试和失败)感受到一种特定的兴奋。 既然这样,让我们来实验一下编译内核的过程。我将使用 Ubuntu 16.04 Server 来进行演示。在运行了一次常规的 sudo apt upgrade 之后,当前安装的内核版本是 4.4.0-121 。我想要升级内核版本到 4.17 , 让我们小心地开始吧。 有一个警告:强烈建议你在虚拟机里实验这个过程。基于虚拟机

Linux下通过源码编译安装程序

非 Y 不嫁゛ 提交于 2020-02-28 08:54:20
转自:https://www.linuxidc.com/Linux/2015-03/114689.htm 本文简单的记录了下,在Linux下如何通过源码安装程序,以及相关的知识。(大神勿喷^_^) 一、程序的组成部分 Linux下程序大都是由以下几部分组成: 二进制文件:也就是可以运行的程序文件 库文件:就是通常我们见到的lib目录下的文件 配置文件:这个不必多说,都知道 帮助文档:通常是我们在Linux下用man命令查看的命令的文档 二、Linux下程序的存放目录 Linux程序的存放目录大致有三个地方: /etc, /bin, /sbin, /lib :系统启动就需要用到的程序,这些目录不能挂载额外的分区,必须在根文件系统的分区上 /usr/bin,/usr/sbin,/usr/lib:操作系统核心功能,可以单独分区 /usr/local/bin,/usr/local/sbin,/usr/local/lib,/usr/local/etc,/usr/local/man:这个用于安装第三方程序,分别对应了二进制文件、库文件、配置文件、帮助文档的目录 通常来说我们安装程序就安装在 /usr/local目录下  三、编译安装源程序 1、使用如下命令查看当前是否安装了gcc编译器,没有可以先用yum安装gcc gcc --version #查看是否安装gcc 2、解压源码包,例如: