从源代码编译php-7为目标' libphp7.la'提供了配方。失败

时间:2015-12-21 11:22:26

标签: php build-process libtool php-7

我使用以下配置从源代码编译PHP-7.0.1:

$ ./configure -q \
--prefix=/opt/php/php-7.0 \
--bindir=/opt/php/php-7.0/bin --sbindir=/opt/php/php-7.0/bin \
--with-apxs2=/usr/bin/apxs \
--enable-zip --enable-pdo \
--with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd \
--enable-calendar --enable-mysqlnd-compression-support \
--enable-embedded-mysqli --enable-mbregex \
--enable-bcmath --with-xsl \
--enable-sockets --with-tidy \
--enable-cli --enable-pcntl --with-mcrypt \
--with-gd --enable-gd-native-ttf --with-pear \
--enable-shared

以上成功完成。后来,我运行make && make test给出了以下错误:

  

libtool:link:`ext / xmlwriter / php_xmlwriter.lo'不是一个有效的libtool   对象

     

Makefile:146:目标' libphp7.la'失败了:***   [libphp7.la]错误1

Makefile中的第145-147行是:

libphp$(PHP_MAJOR_VERSION).la: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS)
    $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -rpath $(phptempdir) $(EXTRA_LDFLAGS) $(LDFLAGS) $(PHP_RPATHS) $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@
    -@$(LIBTOOL) --silent --mode=install cp $@ $(phptempdir)/$@ >/dev/null 2>&1

这可能是什么问题?

修改

ext/xmlwriter/php_xmlwriter.lo的内容:

pic_object='.libs/php_xmlwriter.o'

# Name of the non-PIC object.
non_pic_object=none

EDIT-2

整个输出,包括./configure命令,可在hastebin按要求in comments获取。未禁用xmlwriter时的输出与以前相同:

┌─[hjpotter92]─(php-7.0.1)─[12:48 pm] 
└──% make >> ~/out 
libtool: link: `ext/xmlwriter/php_xmlwriter.lo' is not a valid libtool object
make: *** [libphp7.la] Error 1

1 个答案:

答案 0 :(得分:0)

我遇到了完全相同的问题,我要做的只是解决它:

make clean

然后:

make

即使我的软件包第一次被解压缩并./configure,运行“ make clean”也确实有很大的不同。

工作正常!