PHP client library for Jedox 5.1 (compile from sourceforge)

      PHP client library for Jedox 5.1 (compile from sourceforge)

      Hello, I am trying to compile PHP client library for Jedox 5.1 from sourceforge.com - sourceforge.net/p/palo/code/HE…lap/client_libraries/5.1/

      Compile process was finished without errors and I have a libphp_jedox_palo.so after that, but when I added this extension to PHP I have an error:

      Source Code

      1. PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/libphp_jedox_palo.so' - /usr/lib64/php/modules/libphp_jedox_palo.so: undefined symbol: _ZN5jedox4palo4Cube9RulesMoveERKSt6vectorIjSaIjEEdd in Unknown on line 0


      OS is Fedora 18 (Linux), PHP version is 5.4.23.

      Can you help me with this error?

      For example, PHP client library for Jedox 5.0 from sourceforge was compiled without errors and working well after added extension to PHP. What is wrong with 5.1?

      UPDATED:
      I forgot compile libpalo_ng before compile PHP client library and now I do not have an error, may be this will help anybody :)

      Post was edited 5 times, last by “palophp” ().

      Unfortunately, in my experience, building libpalo_ng requires you to update the Jedox build files which are a bit outdated. I've made some notes on how to do this below, but you don't come right, then let me know and I'll build an RPM for fedora 18 using koji for you. If you opt to go the pre-build RPM route you'll need to let me know which architecture you using 32-bit or 64-bit intel or ARM.

      There are 3 topics which we need to address:
      1. the build process relies on boost, but ships with an old version to the boost macro. In my experience this needs to be updated. You can get the updated macro here: raw.githubusercontent.com/tsun…master/build-aux/boost.m4
      This file needs to replace ax_boost.m4 in ~/libpalo_ng/source/m4/ax_boost.m4
      A simple copy and paste of the updated version from Firefox into gedit should work.

      2. The file confgure.ac is now old and on newer versions of Fedora results in an error. The following changes are required in ~/libpalo_ng/source/configure.ac: After the line:
      AC_PROG_INSTALL
      Delete the line:
      AC_PROG_LIBTOOL
      And then add the following line in the same location:
      LT_INIT
      Again you should be able to make this change using gedit or similar.

      3. The the build process itself needs to back-track a bit to re-generate some of the intermediate files that appear to have been generated on an older version of Debian. In particular, the following sequence works for me:
      cd ~/libpalo_ng
      sudo yum install libtool
      sudo yum install icu
      sudo yum install libicu-devel
      sudo yum install boost-devel
      sudo yum install openssl-devel
      autoreconf
      #The next command assumes you using 64-bit fedora. If you using 32-bit, then drop the 64 i.e. just /usr/lib
      ./configure --disable-static --libdir=/usr/lib64
      make
      sudo make install

      4. The libpalo_ng.so files should now be in /usr/lib64.

      I've been meaning to create an PRM for the palo php client for a while, but not being a PHP user myself, am a bit unsure of how to check if it works. If you've got some spare time, I'd appreciate you input.