Failed to load PageSpeed

#1
This is the error I am getting:
Failed to load module [modpagespeed], error: /usr/local/lsws//modules/modpagespeed.so: undefined symbol: _ZN12net_instaweb14MessageHandler28ParseMessageDumpIntoMessagesEN4base16BasicStringPieceINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEPSt6vectorIS9_SaIS9_EE

Ubuntu Server 16.04.1 i686
OLS 1.4.22

How I installed PageSpeed:
cd /openlitespeed_download/src/modules/pagespeed
sudo ./dlpsol.sh
sudo make
cp modpagespeed.so /usr/local/lsws/modules

server configuration > modules > add
module name > modpagespeed
paramaters >
pagespeed on
pagespeed FileCachePath /tmp/lshttpd/pagespeed
pagespeed RewriteLevel CoreFilters

Please and thank you for your support.
 

lsfoo

Administrator
#2
Hi AEDELGOD,

Could you provide the steps for how you installed OLS? We will try to reproduce the problem in our lab.

Kevin
 
#3
Hi,

I installed from source exactly as instructed on the install help page.

I extracted the tgz then sudo ./configure and sudo make && make install

Thank you for looking into this
 

lsfoo

Administrator
#4
Hey there,

We are able to reproduce this issue in our lab. I'll let you know of any progress.

Cheers,
Kevin
 

lsfoo

Administrator
#6
As I mentioned in the other thread, there is not much time left to debug this today. Just know that we are still working on debugging this issue.
 

lsfoo

Administrator
#8
If you are comfortable applying diff patches, here are the two files that need to be patched. Once the patches are applied, you will need to re-configure and re-compile OLS and re-make the pagespeed module.

We don't know when the next release will be. If you're uncomfortable with applying diff patches, just look for the files that are changed (for example, /configure is ols-1.4.23/configure) and remove the lines with a - next to them, and add the lines with a + next to them.

Let me know if this works for you,
Kevin

Code:
diff --git a/configure b/configure
index 8f828f7..57c7dbb 100755
@@ -15740,8 +15740,6 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to compile mod_lua module" >&5
$as_echo_n "checking whether to compile mod_lua module... " >&6; }
-CFLAGS="$CFLAGS -D_GLIBCXX_USE_CXX11_ABI=0"
-CXXFLAGS="$CXXFLAGS -D_GLIBCXX_USE_CXX11_ABI=0"
# Check whether --with-lua was given.
@@ -15835,8 +15833,8 @@ fi
echo "Lua inlcude = $LUA_INCLUDES, need_lua = $need_lua"
-CFLAGS="$CFLAGS -fstack-protector $(getconf LFS_CFLAGS) "
-CXXFLAGS="$CXXFLAGS -fstack-protector $(getconf LFS_CFLAGS) "
+CFLAGS="$CFLAGS -D_GLIBCXX_USE_CXX11_ABI=0 -fstack-protector $(getconf LFS_CFLAGS) "
+CXXFLAGS="$CXXFLAGS -D_GLIBCXX_USE_CXX11_ABI=0 -fstack-protector $(getconf LFS_CFLAGS) "
if test "$OSNAME" = Darwin ; then
     usedynossl=yes
@@ -17751,7 +17749,7 @@ if test "$OSNAME" = Darwin ; then
     RT_LIB_OPTION=
fi
-LDFLAGS="$LDFLAGS $PCRE_LDFLAGS"
+LDFLAGS="$LDFLAGS $PCRE_LDFLAGS -D_GLIBCXX_USE_CXX11_ABI=0"
echo "Final LDFLAGS='$LDFLAGS'"



diff --git a/src/modules/pagespeed/Makefile b/src/modules/pagespeed/Makefile
index 900778c..52187b0 100644
@@ -21,7 +21,7 @@ else
      PSOLPATH = $(shell pwd)/psol/lib/Release/linux/ia32/
      CFLAGS= -fPIC -g -O2 -Wall -c -D_REENTRANT $(LFSFLAGS) -march=$(MACHINE_TYPE)
  endif
- LDFLAGS= -fPIC -g -O2 -Wall $(LFSFLAGS) -shared
+ LDFLAGS= -fPIC -g -O2 -Wall $(LFSFLAGS) -D_GLIBCXX_USE_CXX11_ABI=0 -shared
endif
INCLUDEFILES =-I. -I../.. -I.. -I../../util -I../../../include \
@@ -55,10 +55,10 @@ TARGET  = modpagespeed.so
all: $(TARGET)
$(TARGET): $(OBJECTS)
- $(CC)  $(OBJECTS) $(PSOLPATH)pagespeed_automatic.a $(INCLUDEFILES) -o $@  $(LDFLAGS)
+ $(CC) $(OBJECTS) $(PSOLPATH)pagespeed_automatic.a $(INCLUDEFILES) -o $@  $(LDFLAGS)
.cpp.o:
- $(CC)  $(INCLUDEFILES) $(CFLAGS)  $< -o $@
+ $(CC)  $(INCLUDEFILES) $(CFLAGS)  -D_GLIBCXX_USE_CXX11_ABI=0  $< -o $@
        
clean:
  rm *.o ../../util/*.o
 
#9
I only have a production server with OLS. I will just wait for the next update, I'm patient. :) I don't necessarily need PageSpeed.
 
Top