Recently, many netizens have fed back the installation problem of Robbe in 64bit system.
1. Do not know how to compile Robbe.
2. Compiled, but the following error occurred:
Lazy symbol binding Failed:symbol not found: _friso_new_from_ifile
Referenced from:/usr/lib/php/extensions/no-debug-non-zts-20090626/robbe.so
Expected In:flat namespace
Here's a unified solution:
Robbe Internal provides a robbe.so file, but it is compiled on the 32bit system, for the 64bit system must not be.
1. Compile and install Friso:
(1). Change Friso makefile, fflags =-o2-wall to Fflags =-o2-wall-fpic, that is, add-fpic option.
(2). Make
(3). sudo make install
Friso is installed successfully,
2. Compile and install Robbe:
CD-To-Robbe source directory
(1). Phpize (if there is no phpize, sudo apt-get install the tool first Php5-dev)
(2)../configure
(3). Change Makefile
Here is the focus, many netizens are because there is no change to this file, resulting in the Friso function can not find the error. To introduce the Friso shared file in the following target, unify the-LFRISO option before the-o option, and change the following:
164 lines of Makefile
Robbe.lo:/c/php_ext/robbe/robbe.c
$ (LIBTOOL)--mode=compile $ (CC)-I.-i/c/php_ext/robbe $ (common_flags) $ (Cflags_clean) $ (extra_cflags)-c/c/php_ext/ Robbe/robbe.c-lfriso-o Robbe.lo
168 lines of Makefile
./robbe.la: $ (Shared_objects_robbe) $ (robbe_shared_dependencies)
$ (LIBTOOL)--mode=link $ (CC) $ (common_flags) $ (Cflags_clean) $ (extra_cflags) $ (ldflags)-lfriso-o $@-export-dynamic-av Oid-version-prefer-pic-module-rpath $ (Phplibdir) $ (extra_ldflags) $ (Shared_objects_robbe) $ (ROBBE_SHARED_LIBADD)
Unify before the-o option plus-lfriso
(4). Make
(5). sudo make install
(6). Add robbe.so in php.ini, and remember to configure Robbe Oh!
(7). Restart the PHP hosting environment
Happy Robbe.