`
baiguomeng
  • 浏览: 998749 次
文章分类
社区版块
存档分类
最新评论

Cross-compiling Apache httpd 2.2.19 for uclibc

 
阅读更多

Cross-compiling Apache httpd 2.2.19 for uclibc

1. 下载 Apache httpd 2.2.19
http://httpd.apache.org/download.cgi

2. 编译本机版本

由于httpd需要编译工具生成中间代码, 所有先编译本机版本产生工具.
# ./configure --host=i686-pc-linux-uclibc /
--with-included-apr /
--with-mpm=worker /
--enable-static-ab /
--enable-cgi /
--enable-cgid
# cp srclib/pcre/dftables /tmp/tools
# cp server/gen_test_char /tmp/tools

3. 交叉编译 for uclibc
将交叉编译工具路径加入到PATH

# ./configure --host=i686-pc-linux-uclibc /
--with-included-apr /
--with-mpm=worker /
--enable-static-ab /
--enable-cgi /
--enable-cgid /
LDFLAGS="-L/mnt/clfs/lib -L/mnt/clfs/usr/lib" LIBS=-lpthread /
AR=i686-pc-linux-uclibc-ar /
AS=i686-pc-linux-uclibc-as /
CC=i686-pc-linux-uclibc-gcc /
CXX=i686-pc-linux-uclibc-gcc /
RANLIB=i686-pc-linux-uclibc-ranlib /
STRIP=i686-pc-linux-uclibc-strip /
F77=none/
ac_cv_c_alignment=need /
ac_cv_c_endian=little /
ac_cv_int_type_size_t=yes /
ac_cv_int_type_int32_t=yes /
ac_cv_int_type_uint32_t=yes /
ac_cv_lib_rt_fdatasync=no /
ac_cv_sizeof_char=1 /
ac_cv_sizeof_char_p=4 /
ac_cv_sizeof_int=4 /
ac_cv_sizeof_long=4 /
ac_cv_sizeof_long_int=4 /
ac_cv_sizeof_long_long=8 /
ac_cv_sizeof_long_long_int=8 /
ac_cv_sizeof_off_t=4 /
ac_cv_sizeof_pid_t=4 /
ac_cv_sizeof_short=2 /
ac_cv_sizeof_size_t=4 /
ac_cv_sizeof_ssize_t=4 /
ac_cv_sizeof_struct_iovec=8 /
ac_cv_file__dev_zero=yes /
ac_cv_func_setpgrp_void=yes /
apr_cv_process_shared_works=yes /
apr_cv_mutex_robust_shared=yes /
apr_cv_tcp_nodelay_with_cork=yes /
ap_cv_void_ptr_lt_long=no /
ap_void_ptr_lt_long=no /
ac_cv_func_memcmp_working=yes /
ac_cv_func_mkstemp64=yes /
ac_cv_func_mmap64=yes /
ac_cv_func_mmap_fixed_mapped=yes /
ac_cv_func_pthread_attr_setguardsize=yes /
ac_cv_func_pthread_key_delete=yes /
ac_cv_func_pthread_rwlock_init=yes /
ac_cv_func_pthread_yield=yes /
ac_cv_func_readdir64_r=yes /
ac_cv_func_sem_open=yes /
ac_cv_func_sendfile64=yes /
ac_cv_func_sendfilev64=no /
ac_cv_header_libpq_fe_h=no /
ac_cv_header_sql_h=no /
ac_cv_negative_eai=yes /
ac_cv_o_nonblock_inherited=no /
ac_cv_struct_rlimit=yes /
apr_cv_typematch_ssize_t_int=yes /
apr_cv_typematch_ssize_t_long=yes /
apr_cv_typematch_size_t_unsigned_int=yes /
apr_cv_typematch_size_t_unsigned_long=yes

在编译完srclib/pcre/dftables 时会出现一个dftables生成chartables.c文件错误的信息.
这时候需手动生成
# cd srclib/pcre/
# /tmp/tools/dftables chartables.c
# cd ../../
# make
在编译server目录时会再次提示gen_test_char生成test_char.h的错误信息
# cd /server
# /tmp/tools/gen_test_char > test_char.h
# cd ../
# make
编译完成.

4. 安装
# make DESTDIR=/tmp/httpd install

分享到:
评论

相关推荐

    Hosek-Compiling cross-toolchains with CMake and runtimes build.pdf

    #### 跨平台工具链(Cross-Toolchain) 跨平台工具链是指用于编译针对不同架构或操作系统的代码的工具集。通常,开发人员需要为不同的目标平台创建可执行文件,这时就需要使用到跨平台工具链。在文档中提到,...

    编译原理期末复习_principle-of-compiling.zip

    编译原理期末复习_principle-of-compiling

    mpv-i686-cross-compiling-MinGW32-Doc:Win32 的交叉编译 MPV 播放器(文档 + 版本)-开源

    该项目旨在在纯 Linux-32 位系统上设置 MinGW-w64 工具链以交叉编译 MPV 播放器。 文档可在 https://github.com/rboxeur/mpv-i686-cross-compiling-MinGW32-Doc/blob/master/index.rst 下载一些 mpv 版本

    cross-compiling-cpp-ethereum

    交叉编译C ++以太坊客户端 ... -DCMAKE_TOOLCHAIN_FILE=cpp-ethereum-cross-compile.cmake make -j4 资源: Crosstool-ng- ://crosstool-ng.org/-帮助构建gcc工具链 交叉编译的树莓派- -关于使用的crosstool-NG的

    gcc_4.2.0_cross_arm.zip_ cross-4.2.0-eabi_arm-linux-gnueabi4.2_c

    This document describes the steps required for creating a cross compiling tool-chain for ARM (EABI) Linux OS. It was made with Samsung LCD TV in mind but has been applied since on other HW (NAS box ...

    opencv移植到arm, 包含cmake包

    点击Configure,保持generator为Unix Makefiles,选择Specify options for cross-compiling,点击Next, Operating System填写arm-linux C Compilers填写/usr/local/arm-4.6.1//bin/arm-none-linux-gnueabi-gcc C++ ...

    webpack-compiling-stats-plugin:Webpack插件输出编译统计信息

    Webpack编译统计信息插件Webpack插件输出编译统计信息安装通过npm: $ npm install webpack-compiling-stats-plugin --save-dev 通过纱: $ yarn add -D webpack-compiling-stats-plugin用法const ...

    C&C++-compiling process (C++编译器解析)

    C++编译过程详解 C++编程语言的编译过程是一项复杂的系统工程,涉及多个阶段,从源代码到可执行程序的转化过程中,编译器起着至关重要的作用。本资料详细介绍了C++的编译过程,包括预处理、编译、汇编和链接四个...

    fundamentals-of-compiling.rar_Fundamentals

    《编译原理》是计算机科学领域的一门基础课程,它主要研究如何将高级程序设计语言转换为机器可执行的指令。这门课程对于理解计算机系统的内部运作至关重要,尤其对于那些致力于软件开发、系统编程或者想要深入研究...

    JorenB-quantum-compiling.zip

    《量子编译技术详解——基于MATLAB的实现》 量子计算作为新兴的计算范式,其潜力在于利用量子力学现象实现高效的信息处理。然而,量子计算机的编程与传统计算机截然不同,涉及到量子比特(qubits)的操控、量子门的...

    adv-c-cpp-compiling.rar

    《深入理解C/C++编译、链接与共享库》是一本专为提升程序员在Linux和Windows环境下编程技能的书籍。该书重点探讨了C和C++编程中的核心环节——编译、链接以及共享库的使用,这对于任何希望深入理解软件构建过程的...

    Learning.Embedded.Linux.using.the.Yocto.Project.1784397393

    This book offers readers an idea of what embedded Linux software and hardware architecture looks like, cross-compiling, and also presents information about the bootloader and how it can be built for a...

    Arm板Apache+PHP环境搭建

    configure: error: cannot check for file existence when cross compiling的错误。 2. 需要添加ac_cv_func_setpgrp_void=yes选项,以避免出现checking whether setpgrp takes no argument... configure: error: ...

    SSE-Compiling-Course, 同济软院编译原理课程Repository @2014.zip

    《同济软院编译原理课程Repository @2014》是同济大学软件学院针对编译原理这一重要计算机科学领域的课程所建立的开源资源库。这个资源库为学习者提供了一个深入理解编译器设计与实现的平台,涵盖了从语言语法分析到...

    Google-Docs-Java-Compiling-Check:一个 Google Docs 插件,用于验证文档中存在的 Java 代码的语法和编译错误

    Google-Docs-Java-Compiling-Check 一个 Google Docs 插件,用于验证文档中存在的 Java 代码的语法和编译错误 按照的说明安装此附加组件,但不要复制粘贴该网站上指向的代码,而是使用此存储库中的文件。 如何使用...

    django-compiling-loader:Django的编译模板加载器

    Django的编译加载器 模板加载器,可将Django模板编译为Python字节码以提高性能。 该软件包公开了compiling_loader...安装django-compiling-loader Python软件包,并将TEMPLATE_LOADERS设置设置为以下值: TEMPLATE_L

    Cross-Platform Development in C++

    在《Cross-Platform Development in C++: Building Mac OS X, Linux, and Windows Applications》这本书中,作者Syd Logan详细讲解了如何使用C++进行跨平台开发,涵盖了构建能在多个操作系统上运行的应用程序所需的...

    CROSS-LIB:CROSS LIB-通用的8位库以及使用该库构建的一些游戏

    交叉库跨库和使用它的游戏(例如,Cross Chase,Cross Shoot,Cross Bomber) 通过Fabrizio Caruso( )目标Cross-Lib ,一种复古的硬件抽象层,用于为数百个大多数8位系统(控制台,计算机,科学计算器,手持式...

    perl-cross:配置和交叉编译perl

    "perl-cross"项目是为了在一种操作系统上构建Perl解释器,以便在另一种不同的操作系统或硬件平台上运行,也就是所谓的交叉编译。这对于嵌入式设备或者不常见的操作系统来说尤其有用。本文将详细介绍如何配置和交叉...

Global site tag (gtag.js) - Google Analytics