c-rack / squid-ecap-gzip

SQUID eCAP GZIP Adapter
GNU General Public License v2.0
20 stars 8 forks source link

Does not compile and work with libecap-0.2.0 + squid-3.2.3 #6

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Does not work with libecap-0.2.0 + squid-3.2.3
2.
3.

What is the expected output? What do you see instead?

adapter_gzip.cc:65:32: error: 'Config' does not name a type
adapter_gzip.cc:65:40: error: ISO C++ forbids declaration of 'cfg' with no type
adapter_gzip.cc:66:34: error: 'Config' does not name a type
adapter_gzip.cc:66:42: error: ISO C++ forbids declaration of 'cfg' with no type
adapter_gzip.cc:235:40: error: 'Config' does not name a type
...

What version of the product are you using? On what operating system?

Linux Slackware + libecap-0.2.0 + squid-3.2.3 + gcc version 4.5.2 (GCC)

Please provide any additional information below.

Patch attached. Works for me.

Original issue reported on code.google.com by wooltoys...@gmail.com on 31 Oct 2012 at 9:27

Attachments:

GoogleCodeExporter commented 9 years ago
Hi,

after applying the patch, still producing error msg as below:

make[1]: Entering directory '/root/squid-ecap-gzip/src'
make  all-am
make[2]: Entering directory '/root/squid-ecap-gzip/src'
/bin/sh ../libtool --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H   -I../src   
-g -O2 -MT adapter_gzip.lo -MD -MP -MF .deps/adapter_gzip.Tpo -c -o 
adapter_gzip.lo adapter_gzip.cc
 g++ -DHAVE_CONFIG_H -I../src -g -O2 -MT adapter_gzip.lo -MD -MP -MF .deps/adapter_gzip.Tpo -c adapter_gzip.cc  -fPIC -DPIC -o .libs/adapter_gzip.o
adapter_gzip.cc:163:3: error: unterminated comment
   /**
   ^
adapter_gzip.cc:14:16: error: ‘libecap::size_type’ has not been declared
 using libecap::size_type;
                ^
adapter_gzip.cc:36:41: error: invalid use of incomplete type ‘class 
libecap::adapter::Xaction’
 class Xaction: public libecap::adapter::Xaction {
                                         ^
In file included from /usr/include/libecap/common/registry.h:6:0,
                 from adapter_gzip.cc:5:
/usr/include/libecap/common/forward.h:28:8: error: forward declaration of 
‘class libecap::adapter::Xaction’
  class Xaction;
        ^
adapter_gzip.cc:59:6: error: no matching function for call to 
‘Adapter::Xaction::Xaction()’
    } requirements;
      ^
adapter_gzip.cc:59:6: note: candidates are:
adapter_gzip.cc:38:3: note: 
Adapter::Xaction::Xaction(std::tr1::shared_ptr<Adapter::Service>, 
libecap::host::Xaction*)
   Xaction(libecap::shared_ptr<Service> s, libecap::host::Xaction *x);
   ^
adapter_gzip.cc:38:3: note:   candidate expects 2 arguments, 0 provided
adapter_gzip.cc:36:7: note: Adapter::Xaction::Xaction(const Adapter::Xaction&)
 class Xaction: public libecap::adapter::Xaction {
       ^
adapter_gzip.cc:36:7: note:   candidate expects 1 argument, 0 provided
adapter_gzip.cc:68:2: error: expected declaration before ‘}’ token
  } // namespace Adapter
  ^
Makefile:318: recipe for target 'adapter_gzip.lo' failed
make[2]: *** [adapter_gzip.lo] Error 1
make[2]: Leaving directory '/root/squid-ecap-gzip/src'
Makefile:215: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/root/squid-ecap-gzip/src'
Makefile:252: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1

...

any work around for this issue? 

Original comment by edu.Iz...@gmail.com on 6 Feb 2015 at 5:44

Attachments:

GoogleCodeExporter commented 9 years ago
forgot to mention, i was using Squid Cache: Version 3.4.7

Original comment by edu.Iz...@gmail.com on 8 Feb 2015 at 8:47

GoogleCodeExporter commented 9 years ago
What about libecap? libecap-0.2.0?  Why not libecab-1.0? 
https://code.google.com/p/squid-ecap-gzip/issues/detail?id=9

Original comment by wooltoys...@gmail.com on 11 Feb 2015 at 8:39

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
sorry bro. it was my mistake to make the patch before learning the patching 
tools correctly :P .. the patch you provided can be "make" and "make install" 
successfully.. but squid refuse to start with ecap on; providing followings 
config updates:

ecap_enable on
ecap_service gzip_service respmod_precache 0 ecap://www.vigos.com/ecap_gzip
loadable_modules /usr/local/lib/ecap_adapter_gzip.so
acl GZIP_HTTP_STATUS http_status 200
adaptation_access gzip_service allow GZIP_HTTP_STATUS

im using fedora 21 (64bit) with gcc 4.9.2;

for libecap i dont know how to check the version number but i suspect it's 
0.2.0 since the patch for libecap1.0 doesnt work during "make"; returning 
error. but for libecap 0.2.0, "make" and "make install" doensnt return any 
error so far. Thank you for your updates btw :)

Original comment by edu.Iz...@gmail.com on 17 Feb 2015 at 10:39

GoogleCodeExporter commented 9 years ago
squid was build with '--enable-ecap' option.

Original comment by edu.Iz...@gmail.com on 17 Feb 2015 at 10:42

GoogleCodeExporter commented 9 years ago
seems lib ecap_adapter_gzip cant be found by system, i've tried to add 
/usr/local/lib into /etc/ld.so.conf the path, but seems it's not loaded into 
system.. 

[root@proxy squid-ecap-gzip]# ldconfig -v | grep ecap
ldconfig: Can't stat /libx32: No such file or directory
ldconfig: Path `/usr/lib' given more than once
ldconfig: Path `/usr/lib64' given more than once
ldconfig: Can't stat /usr/libx32: No such file or directory
        libecap.so.2 -> libecap.so.2.0.0

[root@proxy squid-ecap-gzip]# ls -la /usr/local/lib
total 564
drwxr-xr-x.  2 root root   4096 Feb 18 06:36 .
drwxr-xr-x. 12 root root   4096 Nov 18 20:33 ..
-rw-r--r--   1 root root 373206 Feb 18 06:36 ecap_adapter_gzip.a
-rwxr-xr-x   1 root root    880 Feb 18 06:36 ecap_adapter_gzip.la
-rwxr-xr-x   1 root root 184851 Feb 18 06:36 ecap_adapter_gzip.so

while issuing -p returns:

[root@proxy squid-ecap-gzip]# ldconfig -p | grep ecap
        libecap.so.2 (libc6,x86-64) => /lib64/libecap.so.2
        libecap.so (libc6,x86-64) => /lib64/libecap.so

Original comment by edu.Iz...@gmail.com on 17 Feb 2015 at 11:14