I am trying to install the PHP xdiff extension on Debian with Apache 2 and PHP Version 5.4.44, but I can't get it working.
I tried the following
pecl install xdiff
But I got errors:
[…]
checking for PHP prefix... /usr
checking for PHP includes... -I/usr/include/php5 -I/usr/include/php5/main -I/usr/include/php5/TSRM -I/usr/include/php5/Zend -I/usr/include/php5/ext -I/usr/include/php5/ext/date/lib
checking for PHP extension directory... /usr/lib/php5/20100525
checking for PHP installed headers prefix... /usr/include/php5
checking if debug is enabled... no
checking if zts is enabled... no
checking for re2c... no
configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.
checking for gawk... no
checking for nawk... nawk
checking if nawk is broken... no
checking for xdiff support... yes, shared
checking for xdiff files in default path... not found
configure: error: Please reinstall the libxdiff distribution
ERROR: `/tmp/pear/temp/xdiff/configure --with-xdiff' failed
After that I installed re2c
with
apt-get install re2c
Now I get:
checking for re2c... re2c
checking for re2c version... 0.13.5 (ok)
checking for gawk... no
checking for nawk... nawk
checking if nawk is broken... no
checking for xdiff support... yes, shared
checking for xdiff files in default path... not found
configure: error: Please reinstall the libxdiff distribution
ERROR: `/tmp/pear/temp/xdiff/configure --with-xdiff' failed
I gues I have to install libxdiff
but how do I do it?
[UPDATE]
As I can't find any sources I could compile by my self, I tried to convert Fedorer's rpm-package with alian
.
apt-get install alian
wget ftp://ftp.muug.mb.ca/mirror/fedora/linux/releases/20/Everything/x86_64/os/Packages/l/libxdiff-1.0-3.fc20.x86_64.rpm
alian libxdiff-1.0-3.fc20.x86_64.rpm
dpkg -i libxdiff-1.0-3.fc20.x86_64.deb
Although the install process did not throw any errors, trying to install xdiff
with pecl
I got the same error as mentioned above.
[UPDATE 2] I tried to compile as follows:
curl -O http://www.xmailserver.org/libxdiff-0.23.tar.gz
tar -xzf libxdiff-0.23.tar.gz
cd libxdiff-0.23/
./configure
make
make install
But I get errors:
make all-recursive
make[1]: Entering directory '/home/user/libxdiff-0.23'
Making all in .
make[2]: Entering directory '/home/user/libxdiff-0.23'
make[2]: Leaving directory '/home/user/libxdiff-0.23'
Making all in xdiff
make[2]: Entering directory '/home/user/libxdiff-0.23/xdiff'
if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -MT xdiffi.lo -MD -MP -MF ".deps/xdiffi.Tpo" -c -o xdiffi.lo xdiffi.c; \
then mv -f ".deps/xdiffi.Tpo" ".deps/xdiffi.Plo"; else rm -f ".deps/xdiffi.Tpo"; exit 1; fi
mkdir .libs
gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -MT xdiffi.lo -MD -MP -MF .deps/xdiffi.Tpo -c xdiffi.c -fPIC -DPIC -o .libs/xdiffi.o
gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -MT xdiffi.lo -MD -MP -MF .deps/xdiffi.Tpo -c xdiffi.c -o xdiffi.o >/dev/null 2>&1
if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -MT xprepare.lo -MD -MP -MF ".deps/xprepare.Tpo" -c -o xprepare.lo xprepare.c; \
then mv -f ".deps/xprepare.Tpo" ".deps/xprepare.Plo"; else rm -f ".deps/xprepare.Tpo"; exit 1; fi
gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -MT xprepare.lo -MD -MP -MF .deps/xprepare.Tpo -c xprepare.c -fPIC -DPIC -o .libs/xprepare.o
gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -MT xprepare.lo -MD -MP -MF .deps/xprepare.Tpo -c xprepare.c -o xprepare.o >/dev/null 2>&1
if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -MT xpatchi.lo -MD -MP -MF ".deps/xpatchi.Tpo" -c -o xpatchi.lo xpatchi.c; \
then mv -f ".deps/xpatchi.Tpo" ".deps/xpatchi.Plo"; else rm -f ".deps/xpatchi.Tpo"; exit 1; fi
gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -MT xpatchi.lo -MD -MP -MF .deps/xpatchi.Tpo -c xpatchi.c -fPIC -DPIC -o .libs/xpatchi.o
gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -MT xpatchi.lo -MD -MP -MF .deps/xpatchi.Tpo -c xpatchi.c -o xpatchi.o >/dev/null 2>&1
if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -MT xmerge3.lo -MD -MP -MF ".deps/xmerge3.Tpo" -c -o xmerge3.lo xmerge3.c; \
then mv -f ".deps/xmerge3.Tpo" ".deps/xmerge3.Plo"; else rm -f ".deps/xmerge3.Tpo"; exit 1; fi
gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -MT xmerge3.lo -MD -MP -MF .deps/xmerge3.Tpo -c xmerge3.c -fPIC -DPIC -o .libs/xmerge3.o
gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -MT xmerge3.lo -MD -MP -MF .deps/xmerge3.Tpo -c xmerge3.c -o xmerge3.o >/dev/null 2>&1
if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -MT xemit.lo -MD -MP -MF ".deps/xemit.Tpo" -c -o xemit.lo xemit.c; \
then mv -f ".deps/xemit.Tpo" ".deps/xemit.Plo"; else rm -f ".deps/xemit.Tpo"; exit 1; fi
gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -MT xemit.lo -MD -MP -MF .deps/xemit.Tpo -c xemit.c -fPIC -DPIC -o .libs/xemit.o
gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -MT xemit.lo -MD -MP -MF .deps/xemit.Tpo -c xemit.c -o xemit.o >/dev/null 2>&1
if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -MT xmissing.lo -MD -MP -MF ".deps/xmissing.Tpo" -c -o xmissing.lo xmissing.c; \
then mv -f ".deps/xmissing.Tpo" ".deps/xmissing.Plo"; else rm -f ".deps/xmissing.Tpo"; exit 1; fi
gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -MT xmissing.lo -MD -MP -MF .deps/xmissing.Tpo -c xmissing.c -fPIC -DPIC -o .libs/xmissing.o
gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -MT xmissing.lo -MD -MP -MF .deps/xmissing.Tpo -c xmissing.c -o xmissing.o >/dev/null 2>&1
if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -MT xutils.lo -MD -MP -MF ".deps/xutils.Tpo" -c -o xutils.lo xutils.c; \
then mv -f ".deps/xutils.Tpo" ".deps/xutils.Plo"; else rm -f ".deps/xutils.Tpo"; exit 1; fi
gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -MT xutils.lo -MD -MP -MF .deps/xutils.Tpo -c xutils.c -fPIC -DPIC -o .libs/xutils.o
gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -MT xutils.lo -MD -MP -MF .deps/xutils.Tpo -c xutils.c -o xutils.o >/dev/null 2>&1
if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -MT xadler32.lo -MD -MP -MF ".deps/xadler32.Tpo" -c -o xadler32.lo xadler32.c; \
then mv -f ".deps/xadler32.Tpo" ".deps/xadler32.Plo"; else rm -f ".deps/xadler32.Tpo"; exit 1; fi
gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -MT xadler32.lo -MD -MP -MF .deps/xadler32.Tpo -c xadler32.c -fPIC -DPIC -o .libs/xadler32.o
gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -MT xadler32.lo -MD -MP -MF .deps/xadler32.Tpo -c xadler32.c -o xadler32.o >/dev/null 2>&1
if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -MT xbdiff.lo -MD -MP -MF ".deps/xbdiff.Tpo" -c -o xbdiff.lo xbdiff.c; \
then mv -f ".deps/xbdiff.Tpo" ".deps/xbdiff.Plo"; else rm -f ".deps/xbdiff.Tpo"; exit 1; fi
gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -MT xbdiff.lo -MD -MP -MF .deps/xbdiff.Tpo -c xbdiff.c -fPIC -DPIC -o .libs/xbdiff.o
gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -MT xbdiff.lo -MD -MP -MF .deps/xbdiff.Tpo -c xbdiff.c -o xbdiff.o >/dev/null 2>&1
if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -MT xbpatchi.lo -MD -MP -MF ".deps/xbpatchi.Tpo" -c -o xbpatchi.lo xbpatchi.c; \
then mv -f ".deps/xbpatchi.Tpo" ".deps/xbpatchi.Plo"; else rm -f ".deps/xbpatchi.Tpo"; exit 1; fi
gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -MT xbpatchi.lo -MD -MP -MF .deps/xbpatchi.Tpo -c xbpatchi.c -fPIC -DPIC -o .libs/xbpatchi.o
gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -MT xbpatchi.lo -MD -MP -MF .deps/xbpatchi.Tpo -c xbpatchi.c -o xbpatchi.o >/dev/null 2>&1
if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -MT xversion.lo -MD -MP -MF ".deps/xversion.Tpo" -c -o xversion.lo xversion.c; \
then mv -f ".deps/xversion.Tpo" ".deps/xversion.Plo"; else rm -f ".deps/xversion.Tpo"; exit 1; fi
gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -MT xversion.lo -MD -MP -MF .deps/xversion.Tpo -c xversion.c -fPIC -DPIC -o .libs/xversion.o
gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -MT xversion.lo -MD -MP -MF .deps/xversion.Tpo -c xversion.c -o xversion.o >/dev/null 2>&1
if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -MT xalloc.lo -MD -MP -MF ".deps/xalloc.Tpo" -c -o xalloc.lo xalloc.c; \
then mv -f ".deps/xalloc.Tpo" ".deps/xalloc.Plo"; else rm -f ".deps/xalloc.Tpo"; exit 1; fi
gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -MT xalloc.lo -MD -MP -MF .deps/xalloc.Tpo -c xalloc.c -fPIC -DPIC -o .libs/xalloc.o
gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -MT xalloc.lo -MD -MP -MF .deps/xalloc.Tpo -c xalloc.c -o xalloc.o >/dev/null 2>&1
if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -MT xrabdiff.lo -MD -MP -MF ".deps/xrabdiff.Tpo" -c -o xrabdiff.lo xrabdiff.c; \
then mv -f ".deps/xrabdiff.Tpo" ".deps/xrabdiff.Plo"; else rm -f ".deps/xrabdiff.Tpo"; exit 1; fi
gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -MT xrabdiff.lo -MD -MP -MF .deps/xrabdiff.Tpo -c xrabdiff.c -fPIC -DPIC -o .libs/xrabdiff.o
gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -MT xrabdiff.lo -MD -MP -MF .deps/xrabdiff.Tpo -c xrabdiff.c -o xrabdiff.o >/dev/null 2>&1
/bin/bash ../libtool --tag=CC --mode=link gcc -g -O2 -o libxdiff.la -rpath /usr/local/lib xdiffi.lo xprepare.lo xpatchi.lo xmerge3.lo xemit.lo xmissing.lo xutils.lo xadler32.lo xbdiff.lo xbpatchi.lo xversion.lo xalloc.lo xrabdiff.lo
gcc -shared .libs/xdiffi.o .libs/xprepare.o .libs/xpatchi.o .libs/xmerge3.o .libs/xemit.o .libs/xmissing.o .libs/xutils.o .libs/xadler32.o .libs/xbdiff.o .libs/xbpatchi.o .libs/xversion.o .libs/xalloc.o .libs/xrabdiff.o -Wl,-soname -Wl,libxdiff.so.0 -o .libs/libxdiff.so.0.0.0
(cd .libs && rm -f libxdiff.so.0 && ln -s libxdiff.so.0.0.0 libxdiff.so.0)
(cd .libs && rm -f libxdiff.so && ln -s libxdiff.so.0.0.0 libxdiff.so)
ar cru .libs/libxdiff.a xdiffi.o xprepare.o xpatchi.o xmerge3.o xemit.o xmissing.o xutils.o xadler32.o xbdiff.o xbpatchi.o xversion.o xalloc.o xrabdiff.o
ranlib .libs/libxdiff.a
creating libxdiff.la
(cd .libs && rm -f libxdiff.la && ln -s ../libxdiff.la libxdiff.la)
make[2]: Leaving directory '/home/user/libxdiff-0.23/xdiff'
Making all in test
make[2]: Entering directory '/home/user/libxdiff-0.23/test'
if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../xdiff -g -O2 -MT xdiff_test.o -MD -MP -MF ".deps/xdiff_test.Tpo" -c -o xdiff_test.o xdiff_test.c; \
then mv -f ".deps/xdiff_test.Tpo" ".deps/xdiff_test.Po"; else rm -f ".deps/xdiff_test.Tpo"; exit 1; fi
if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../xdiff -g -O2 -MT xtestutils.o -MD -MP -MF ".deps/xtestutils.Tpo" -c -o xtestutils.o xtestutils.c; \
then mv -f ".deps/xtestutils.Tpo" ".deps/xtestutils.Po"; else rm -f ".deps/xtestutils.Tpo"; exit 1; fi
/bin/bash ../libtool --tag=CC --mode=link gcc -g -O2 -o xdiff_test xdiff_test.o xtestutils.o ../xdiff/.libs/libxdiff.a
mkdir .libs
gcc -g -O2 -o xdiff_test xdiff_test.o xtestutils.o ../xdiff/.libs/libxdiff.a
if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../xdiff -g -O2 -MT xregression.o -MD -MP -MF ".deps/xregression.Tpo" -c -o xregression.o xregression.c; \
then mv -f ".deps/xregression.Tpo" ".deps/xregression.Po"; else rm -f ".deps/xregression.Tpo"; exit 1; fi
/bin/bash ../libtool --tag=CC --mode=link gcc -g -O2 -o xregression xregression.o xtestutils.o ../xdiff/.libs/libxdiff.a
gcc -g -O2 -o xregression xregression.o xtestutils.o ../xdiff/.libs/libxdiff.a
make[2]: Leaving directory '/home/user/libxdiff-0.23/test'
Making all in tools
make[2]: Entering directory '/home/user/libxdiff-0.23/tools'
if gcc -DHAVE_CONFIG_H -I. -I. -I.. -DXRAB_WORD_TYPE=int -DXRAB_WORD_PFMT=\"0x%x\" -g -O2 -MT xrabin32-xrabin.o -MD -MP -MF ".deps/xrabin32-xrabin.Tpo" -c -o xrabin32-xrabin.o `test -f 'xrabin.c' || echo './'`xrabin.c; \
then mv -f ".deps/xrabin32-xrabin.Tpo" ".deps/xrabin32-xrabin.Po"; else rm -f ".deps/xrabin32-xrabin.Tpo"; exit 1; fi
xrabin.c: In function ‘main’:
xrabin.c:242:4: warning: format ‘%u’ expects argument of type ‘unsigned int’, but argument 4 has type ‘long unsigned int’ [-Wformat=]
degree, XPLYW_BITS);
^
xrabin.c:255:2: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘long unsigned int’ [-Wformat=]
fprintf(stdout, "#if defined(XRABPLY_TYPE%d)\n\n", XPLYW_BITS);
^
xrabin.c:256:2: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘long unsigned int’ [-Wformat=]
fprintf(stdout, "#if !defined(XV%d)\n", XPLYW_BITS);
^
xrabin.c:257:2: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘long unsigned int’ [-Wformat=]
fprintf(stdout, "#define XV%d(v) ((xply_word) v ## ULL)\n", XPLYW_BITS);
^
xrabin.c:260:3: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘long unsigned int’ [-Wformat=]
XPLYW_BITS, ply);
^
xrabin.c:263:2: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘long unsigned int’ [-Wformat=]
fprintf(stdout, "typedef unsigned XRABPLY_TYPE%d xply_word;\n\n", XPLYW_BITS);
^
xrabin.c:274:3: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘long unsigned int’ [-Wformat=]
fprintf(stdout, "XV%d(" XRAB_WORD_PFMT ")", XPLYW_BITS, t[i]);
^
xrabin.c:288:3: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘long unsigned int’ [-Wformat=]
fprintf(stdout, "XV%d(" XRAB_WORD_PFMT ")", XPLYW_BITS, u[i]);
^
xrabin.c:292:2: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘long unsigned int’ [-Wformat=]
fprintf(stdout, "#endif /* if defined(XRABPLY_TYPE%d) */\n\n", XPLYW_BITS);
^
/bin/bash ../libtool --tag=CC --mode=link gcc -g -O2 -o xrabin32 xrabin32-xrabin.o
mkdir .libs
gcc -g -O2 -o xrabin32 xrabin32-xrabin.o
if gcc -DHAVE_CONFIG_H -I. -I. -I.. -DXRAB_WORD_TYPE="long long" -DXRAB_WORD_PFMT=\"0x%llx\" -g -O2 -MT xrabin64-xrabin.o -MD -MP -MF ".deps/xrabin64-xrabin.Tpo" -c -o xrabin64-xrabin.o `test -f 'xrabin.c' || echo './'`xrabin.c; \
then mv -f ".deps/xrabin64-xrabin.Tpo" ".deps/xrabin64-xrabin.Po"; else rm -f ".deps/xrabin64-xrabin.Tpo"; exit 1; fi
xrabin.c: In function ‘main’:
xrabin.c:242:4: warning: format ‘%u’ expects argument of type ‘unsigned int’, but argument 4 has type ‘long unsigned int’ [-Wformat=]
degree, XPLYW_BITS);
^
xrabin.c:255:2: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘long unsigned int’ [-Wformat=]
fprintf(stdout, "#if defined(XRABPLY_TYPE%d)\n\n", XPLYW_BITS);
^
xrabin.c:256:2: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘long unsigned int’ [-Wformat=]
fprintf(stdout, "#if !defined(XV%d)\n", XPLYW_BITS);
^
xrabin.c:257:2: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘long unsigned int’ [-Wformat=]
fprintf(stdout, "#define XV%d(v) ((xply_word) v ## ULL)\n", XPLYW_BITS);
^
xrabin.c:260:3: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘long unsigned int’ [-Wformat=]
XPLYW_BITS, ply);
^
xrabin.c:263:2: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘long unsigned int’ [-Wformat=]
fprintf(stdout, "typedef unsigned XRABPLY_TYPE%d xply_word;\n\n", XPLYW_BITS);
^
xrabin.c:274:3: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘long unsigned int’ [-Wformat=]
fprintf(stdout, "XV%d(" XRAB_WORD_PFMT ")", XPLYW_BITS, t[i]);
^
xrabin.c:288:3: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘long unsigned int’ [-Wformat=]
fprintf(stdout, "XV%d(" XRAB_WORD_PFMT ")", XPLYW_BITS, u[i]);
^
xrabin.c:292:2: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘long unsigned int’ [-Wformat=]
fprintf(stdout, "#endif /* if defined(XRABPLY_TYPE%d) */\n\n", XPLYW_BITS);
^
/bin/bash ../libtool --tag=CC --mode=link gcc -g -O2 -o xrabin64 xrabin64-xrabin.o
gcc -g -O2 -o xrabin64 xrabin64-xrabin.o
make[2]: Leaving directory '/home/user/libxdiff-0.23/tools'
Making all in man
make[2]: Entering directory '/home/user/libxdiff-0.23/man'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/user/libxdiff-0.23/man'
make[1]: Leaving directory '/home/user/libxdiff-0.23'