I noticed today that while Mac OS 10.6 (specifically, 10.6.2) comes with automake and autoconf, the versions are a little bit dated. Normally I wouldn’t care, but I ran into an issue when trying to generate a portable distribution using those tools on my mac, and then configure, compile, and install the result on a linux box. What I discovered is that the version of autoconf and automake on OSX can generate a “configure” file which doesn’t work as expected on linux (at least one with gcc 4.3) — specifically, the step “checking for working mktime…” can hang and eventually return “no”, when that is not the correct result. Apparently you need at least autoconf 2.62 in order to avoid this bug.
I figured as long as I was updating autoconf i’d update automake, m4, and libtool as well. Here’s the quick script (as always, I assume you prefer the installation prefix /usr/local as i do). It’s nothing too fancy, but the sequence of the installs is important:
curl -O http://mirrors.kernel.org/gnu/m4/m4-1.4.13.tar.gz
tar -xzvf m4-1.4.13.tar.gz
cd m4-1.4.13
./configure --prefix=/usr/local
make
sudo make install
cd ..
curl -O http://mirrors.kernel.org/gnu/autoconf/autoconf-2.65.tar.gz
tar -xzvf autoconf-2.65.tar.gz
cd autoconf-2.65
./configure --prefix=/usr/local # ironic, isn't it?
make
sudo make install
cd ..
# here you might want to restart your terminal session, to ensure the new autoconf is picked up and used in the rest of the script
curl -O http://mirrors.kernel.org/gnu/automake/automake-1.11.tar.gz
tar xzvf automake-1.11.tar.gz
cd automake-1.11
./configure --prefix=/usr/local
make
sudo make install
cd ..
curl -O http://mirrors.kernel.org/gnu/libtool/libtool-2.2.6b.tar.gz
tar xzvf libtool-2.2.6b.tar.gz
cd libtool-2.2.6b
./configure --prefix=/usr/local
make
sudo make install
and now, (assuming you have /usr/local in your path), when you use autotools your distribution should be correctly portable (at least in regards to this mktime bug).
- 浏览: 290129 次
- 性别:
- 来自: 兰州
最新评论
-
洋葱pp奥特曼:
求大神再发一次资源,万分感激!!小弟邮箱:173992660@ ...
使用JQuery-Week-Calendar做日程 -
xbliu564:
请问版本号
fusionchart 破解文件SWF -
xue_lang:
看了半天,有点坑爹的赶脚,哎
状态模式(State) -
teacup_madman:
我只能说。这个程序可以去掉的地方太多了。这个真的是State模 ...
状态模式(State) -
冬日的阳光:
TrafficLight这个类的change方法可以改一下,如 ...
状态模式(State)
相关推荐
3. **跨平台兼容性**:automake和autoconf的组合使得项目能在各种操作系统上编译,包括Unix、Linux、Mac OS X甚至Windows(通过MinGW)。 4. **测试集成**:automake支持集成测试框架,如CTest或CTestScript,使得...
1. 兼容性:autoconf 2.62支持广泛的系统和编译器,包括Unix-like系统、Linux、FreeBSD、Mac OS X等,甚至对一些较旧的或者非主流的平台也有良好的支持。 2. 自动检测:通过.m4宏库,autoconf可以检测系统中的各种...
6. **兼容性**: `automake` 可以在各种 Unix-like 操作系统上运行,包括 Linux、FreeBSD、Mac OS X 等。 在解压 `automake-1.12.6.tar.gz` 后,通常会得到一个名为 `automake-1.12.6` 的目录,其中包括以下内容: ...
在 Mac OS X 系统下,由于其跨平台的特性,FFmpeg 可以方便地进行编译和使用。本主题主要关注在 Mac 上构建 FFmpeg 库文件及其头文件的过程,这对于开发多媒体应用或进行相关系统集成至关重要。 首先,我们需要了解...
在安装nginx过程中,若遇到“mcrypt.h not found”的错误提示,意味着需要先安装mcrypt库。按照错误提示,下载并安装libmcrypt库,然后重新尝试安装nginx。 7. 安装PHP7 最后,安装PHP7。以下是编译安装PHP7的步骤...
- **autoconf和automake**:libtool常与autoconf和automake一起使用,它们共同构成GNU软件构建系统的一部分,简化大型项目的构建过程。 - **pkg-config**:libtool可以配合pkg-config工具,方便地查询库的版本信息...
建造要求JDK 阿帕奇蚂蚁OpenSlide> = 3.4.0在Linux或Mac OS X上构建 ./configuremakemake install(如果从Git存储库构建,则首先需要安装autoconf,automake,libtool和pkg-config并运行autoreconf -i 。)Windows与...
$ autoreconf$ automake --add-missing$ autoreconf$ ./configure$ make如何在Mac OS上构建我使用Macports安装Boost。 $ export LIBRARY_PATH=$LIBRARY_PATH:/opt/local/lib$ export LD_LIBRARY_PATH=$LD_LIBRARY_...
此存储库的目标是使在全新的OS X安装上构建...安装autoconf和automake 安装Xamarin.Mac和Mono开发套件 克隆mono / monodevelop仓库 配置和构建monodevelop,包括OS X应用程序捆绑包 本身打开主要的MonoDevelop工作区
Autotools是一组用于构建源代码的工具,包括Autoconf、Automake和Libtool等。它们通过生成Makefile.in和configure脚本,使得源代码可以适应不同的编译环境。Autotools通常用于跨平台的开源项目,以确保软件在各种...
该库是用C语言编写的,旨在在Linux,Mac OS X,FreeBSD和QNX和Windows上运行。安装您只需要安装automake,autoconf,libtool和C编译器(gcc或clang)来编译库,并安装asciidoc和xml来生成文档(可选)。 要安装,只...
sudo apt-get install autoconf automake libtool curl make g++ unzip ``` 然后,下载protobuf的源代码包`protobuf-3.15.8`并解压: ```bash wget ...
3. **依赖安装**:确保系统已经安装了必要的依赖,如Xcode开发者工具,它包含了编译所需的GCC或Clang编译器,以及autoconf、automake、libtool等构建工具。 4. **配置**:运行`./configure`脚本,这个脚本会检查...
NTFS-3G是一款开源的NTFS文件系统驱动程序,它不仅提供了对NTFS文件系统的完整读写支持,还具有跨平台兼容性,可以在多种操作系统中使用,包括Linux、Mac OS X和各种Unix系统。 安装NTFS-3G的步骤大致如下: 1. **...
同时,还需要配置好Homebrew(一个包管理器)来安装编译ijkplayer所需的依赖库,如autoconf、automake、libtool等。 四、编译流程 1. 获取源码:从ijkplayer的GitHub仓库下载源码。 2. 配置环境:确保安装了Xcode,...
1. 安装 eAccelerator 需要支持的平台,包括 Linux, FreeBSD, OpenBSD, Mac OS X, Solaris, AIX en HP-UX。 2. 系统要求包括 php4 或 php5,autoconf,automake,libtool,m4 等。 3. 安装 eAccelerator 需要下载...
opencore-amr-js Javascript中...env.shsudo apt-get install nodejs-legacy安装automake和autoconf工具: sudo apt-get install libtool automake autoconf 在项目源代码树的js目录下运行make 。在Mac OS X下构建安装
- **跨平台**:支持多种操作系统,如Linux、Windows、Mac OS等。 - **API简洁**:提供简洁的C语言接口,方便开发者集成到自己的项目中。 ### 2. 源文件获取 libmad的源代码通常以tar.gz或tbz2格式发布,如你提供的...