Home  >  Article  >  Backend Development  >  Regarding the compilation and installation issues of robbe on 64-bit linux

Regarding the compilation and installation issues of robbe on 64-bit linux

伊谢尔伦
伊谢尔伦Original
2016-11-29 11:10:121327browse

Recently, many netizens have reported problems with the installation of robbe on 64bit systems.

1. I don’t know how to compile robbe.

2. I compiled it, 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

A unified solution is given here:

Robbe provides one internally robbe.so file, but it is compiled on a 32bit system, and it will definitely not work on a 64bit system.

1. Compile and install friso:

(1). Change the Makefile of friso, FFLAGS = -O2 -Wall change For FFLAGS = -O2 -Wall -fPIC, that is, add the -fPIC option.

(2). make

(3). sudo make install

friso, the installation is successful,

2. Compile and install robbe:

cd to robbe’s source code directory

(1). phpize (if there is no phpize, first sudo apt-get install php5-dev to install the tool)

(2). ./configure

(3). Change the Makefile
Here is the key point. Many netizens have failed to find the function of friso because they did not change this file. Introduce the friso shared file in the following goals, and add the -lfriso option before the -o option. Change as follows:

//Line 164 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

//Line 168 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 -avoid-version -prefer-pic -module -rpath $(phplibdir) $(EXTRA_LDFLAGS) $(shared_objects_robbe) $(ROBBE_SHARED_LIBADD)

//Add -lfriso

(4). make

(5). sudo make install

(6). Add robbe.so in php.ini, remember to configure robbe!

(7). Restart the php hosting environment

happy robbe.


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn