Subject | Re: VS: centos, php, firebird |
---|---|
Author | Gary Benner |
Post date | 2008-06-30T22:37:26Z |
--- In firebird-php@yahoogroups.com, Milan Babuskov <milanb@...>
wrote
which installs PHP-5.1.6.
From the FAQ Milan referenced:
1. install php-devel package (needed for phpize. If you already have
phpize command, you don't need it)
2. get the php source code for the exact version as you are running
3. unpack the source and go to ext/interbase directory
4. run: phpize
5. run: ./configure --with-interbase=shared,/opt/firebird
6. run: make
7. this will create interbase.so module (most probably in .libs
subdirectory)
All is OK until we get to #5.
The configure comes up with an error:
checking for InterBase support... yes, shared
checking for isc_detach_database in -lfbclient... no
checking for isc_detach_database in -lgds... no
checking for isc_detach_database in -lib_util... no
configure: error: libgds, libib_util or libfbclient not found! Check
config.log for more information.
Of course the files are there, but somehow not being found or accessed
correctly.
I've included the part of config.log below that is relevant.
This problem seems to have been noted in many places on the net for
some time, but with no solutions.
kind regards
Gary
======================== config.log snippet ====================
/opt/firebird/lib/libfbclient.so: undefined reference to
`_Unwind_GetRegionStart'
/opt/firebird/lib/libfbclient.so: undefined reference to `_Unwind_SetGR'
/opt/firebird/lib/libfbclient.so: undefined reference to `_Unwind_GetIP'
collect2: ld returned 1 exit status
configure:3365: $? = 1
configure: failed program was:
| /* confdefs.h. */
|
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| /* end confdefs.h. */
|
| /* Override any gcc2 internal prototype to avoid an error. */
| #ifdef __cplusplus
| extern "C"
| #endif
| /* We use char because int might match the return type of a gcc2
| builtin and then its argument prototype would still apply. */
| char isc_detach_database ();
| int
| main ()
| {
| isc_detach_database ();
| ;
| return 0;
| }
configure:3391: result: no
configure:3508: checking for isc_detach_database in -lgds
configure:3538: gcc -o conftest -g -O2 -Wl,-rpath,/opt/firebird/lib
-L/opt/firebird/lib conftest.c -lgds >&5
/opt/firebird/lib/libgds.so: undefined reference to
`_Unwind_RaiseException'
/opt/firebird/lib/libgds.so: undefined reference to
`_Unwind_GetLanguageSpecificData'
/opt/firebird/lib/libgds.so: undefined reference to `_Unwind_Resume'
/opt/firebird/lib/libgds.so: undefined reference to
`_Unwind_DeleteException'
/opt/firebird/lib/libgds.so: undefined reference to
`_Unwind_GetTextRelBase'
/opt/firebird/lib/libgds.so: undefined reference to `_Unwind_SetIP'
/opt/firebird/lib/libgds.so: undefined reference to
`_Unwind_GetDataRelBase'
/opt/firebird/lib/libgds.so: undefined reference to
`_Unwind_GetRegionStart'
/opt/firebird/lib/libgds.so: undefined reference to `_Unwind_SetGR'
/opt/firebird/lib/libgds.so: undefined reference to `_Unwind_GetIP'
collect2: ld returned 1 exit status
configure:3544: $? = 1
configure: failed program was:
| /* confdefs.h. */
|
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| /* end confdefs.h. */
|
| /* Override any gcc2 internal prototype to avoid an error. */
| #ifdef __cplusplus
| extern "C"
| #endif
| /* We use char because int might match the return type of a gcc2
| builtin and then its argument prototype would still apply. */
| char isc_detach_database ();
| int
| main ()
| {
| isc_detach_database ();
| ;
| return 0;
| }
configure:3570: result: no
configure:3687: checking for isc_detach_database in -lib_util
configure:3717: gcc -o conftest -g -O2 -Wl,-rpath,/opt/firebird/lib
-L/opt/firebird/lib conftest.c -lib_util >&5
/tmp/cc2nSgdN.o: In function `main':
/usr/local/php-5.1.6/ext/interbase/conftest.c:20: undefined reference
to `isc_detach_database'
collect2: ld returned 1 exit status
configure:3723: $? = 1
configure: failed program was:
| /* confdefs.h. */
|
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| /* end confdefs.h. */
|
| /* Override any gcc2 internal prototype to avoid an error. */
| #ifdef __cplusplus
| extern "C"
| #endif
| /* We use char because int might match the return type of a gcc2
| builtin and then its argument prototype would still apply. */
| char isc_detach_database ();
| int
| main ()
| {
| isc_detach_database ();
| ;
| return 0;
| }
configure:3570: result: no
configure:3687: checking for isc_detach_database in -lib_util
configure:3717: gcc -o conftest -g -O2 -Wl,-rpath,/opt/firebird/lib
-L/opt/firebird/lib conftest.c -lib_util >&5
/tmp/cc2nSgdN.o: In function `main':
/usr/local/php-5.1.6/ext/interbase/conftest.c:20: undefined reference
to `isc_detach_database'
collect2: ld returned 1 exit status
configure:3723: $? = 1
configure: failed program was:
| /* confdefs.h. */
|
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| /* end confdefs.h. */
|
| /* Override any gcc2 internal prototype to avoid an error. */
| #ifdef __cplusplus
| extern "C"
| #endif
| /* We use char because int might match the return type of a gcc2
| builtin and then its argument prototype would still apply. */
| char isc_detach_database ();
| int
| main ()
| {
| isc_detach_database ();
| ;
| return 0;
| }
configure:3749: result: no
configure:3765: error: libgds, libib_util or libfbclient not found!
Check config.log for more information.
wrote
> You shouldn't worry as compiling is rather trivial:I am trying to get PHP working with a Firebird Database on Centos 5
>
> http://www.firebirdfaq.org/faq191/
>
> If you run into any problems while doing it, feel free to ask here.
>
which installs PHP-5.1.6.
From the FAQ Milan referenced:
1. install php-devel package (needed for phpize. If you already have
phpize command, you don't need it)
2. get the php source code for the exact version as you are running
3. unpack the source and go to ext/interbase directory
4. run: phpize
5. run: ./configure --with-interbase=shared,/opt/firebird
6. run: make
7. this will create interbase.so module (most probably in .libs
subdirectory)
All is OK until we get to #5.
The configure comes up with an error:
checking for InterBase support... yes, shared
checking for isc_detach_database in -lfbclient... no
checking for isc_detach_database in -lgds... no
checking for isc_detach_database in -lib_util... no
configure: error: libgds, libib_util or libfbclient not found! Check
config.log for more information.
Of course the files are there, but somehow not being found or accessed
correctly.
I've included the part of config.log below that is relevant.
This problem seems to have been noted in many places on the net for
some time, but with no solutions.
kind regards
Gary
======================== config.log snippet ====================
/opt/firebird/lib/libfbclient.so: undefined reference to
`_Unwind_GetRegionStart'
/opt/firebird/lib/libfbclient.so: undefined reference to `_Unwind_SetGR'
/opt/firebird/lib/libfbclient.so: undefined reference to `_Unwind_GetIP'
collect2: ld returned 1 exit status
configure:3365: $? = 1
configure: failed program was:
| /* confdefs.h. */
|
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| /* end confdefs.h. */
|
| /* Override any gcc2 internal prototype to avoid an error. */
| #ifdef __cplusplus
| extern "C"
| #endif
| /* We use char because int might match the return type of a gcc2
| builtin and then its argument prototype would still apply. */
| char isc_detach_database ();
| int
| main ()
| {
| isc_detach_database ();
| ;
| return 0;
| }
configure:3391: result: no
configure:3508: checking for isc_detach_database in -lgds
configure:3538: gcc -o conftest -g -O2 -Wl,-rpath,/opt/firebird/lib
-L/opt/firebird/lib conftest.c -lgds >&5
/opt/firebird/lib/libgds.so: undefined reference to
`_Unwind_RaiseException'
/opt/firebird/lib/libgds.so: undefined reference to
`_Unwind_GetLanguageSpecificData'
/opt/firebird/lib/libgds.so: undefined reference to `_Unwind_Resume'
/opt/firebird/lib/libgds.so: undefined reference to
`_Unwind_DeleteException'
/opt/firebird/lib/libgds.so: undefined reference to
`_Unwind_GetTextRelBase'
/opt/firebird/lib/libgds.so: undefined reference to `_Unwind_SetIP'
/opt/firebird/lib/libgds.so: undefined reference to
`_Unwind_GetDataRelBase'
/opt/firebird/lib/libgds.so: undefined reference to
`_Unwind_GetRegionStart'
/opt/firebird/lib/libgds.so: undefined reference to `_Unwind_SetGR'
/opt/firebird/lib/libgds.so: undefined reference to `_Unwind_GetIP'
collect2: ld returned 1 exit status
configure:3544: $? = 1
configure: failed program was:
| /* confdefs.h. */
|
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| /* end confdefs.h. */
|
| /* Override any gcc2 internal prototype to avoid an error. */
| #ifdef __cplusplus
| extern "C"
| #endif
| /* We use char because int might match the return type of a gcc2
| builtin and then its argument prototype would still apply. */
| char isc_detach_database ();
| int
| main ()
| {
| isc_detach_database ();
| ;
| return 0;
| }
configure:3570: result: no
configure:3687: checking for isc_detach_database in -lib_util
configure:3717: gcc -o conftest -g -O2 -Wl,-rpath,/opt/firebird/lib
-L/opt/firebird/lib conftest.c -lib_util >&5
/tmp/cc2nSgdN.o: In function `main':
/usr/local/php-5.1.6/ext/interbase/conftest.c:20: undefined reference
to `isc_detach_database'
collect2: ld returned 1 exit status
configure:3723: $? = 1
configure: failed program was:
| /* confdefs.h. */
|
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| /* end confdefs.h. */
|
| /* Override any gcc2 internal prototype to avoid an error. */
| #ifdef __cplusplus
| extern "C"
| #endif
| /* We use char because int might match the return type of a gcc2
| builtin and then its argument prototype would still apply. */
| char isc_detach_database ();
| int
| main ()
| {
| isc_detach_database ();
| ;
| return 0;
| }
configure:3570: result: no
configure:3687: checking for isc_detach_database in -lib_util
configure:3717: gcc -o conftest -g -O2 -Wl,-rpath,/opt/firebird/lib
-L/opt/firebird/lib conftest.c -lib_util >&5
/tmp/cc2nSgdN.o: In function `main':
/usr/local/php-5.1.6/ext/interbase/conftest.c:20: undefined reference
to `isc_detach_database'
collect2: ld returned 1 exit status
configure:3723: $? = 1
configure: failed program was:
| /* confdefs.h. */
|
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| /* end confdefs.h. */
|
| /* Override any gcc2 internal prototype to avoid an error. */
| #ifdef __cplusplus
| extern "C"
| #endif
| /* We use char because int might match the return type of a gcc2
| builtin and then its argument prototype would still apply. */
| char isc_detach_database ();
| int
| main ()
| {
| isc_detach_database ();
| ;
| return 0;
| }
configure:3749: result: no
configure:3765: error: libgds, libib_util or libfbclient not found!
Check config.log for more information.