Re: [squid-users] Compiling squid 3.2.0.16 under Solaris 10

From: Jose-Marcio Martins da Cruz <Jose-Marcio.Martins_at_mines-paristech.fr>
Date: Thu, 15 Mar 2012 22:18:21 +0100

A patch and another problem... 8-)

Jose-Marcio Martins da Cruz wrote:
>
> Another one... 8-) (please, don't stop sleeping just to create patches...)
>
> libtool: compile: g++ -DHAVE_CONFIG_H
> -DDEFAULT_STATEDIR=\"/var/squid/var/run/squid\" -I../.. -I../../include
> -I../../lib -I../../src -I../../include -I../../libltdl
> -I/usr/local/ssl/include -Wall -Wpointer-arith -Wwrite-strings
> -Wcomments -Werror -pipe -D_REENTRANT -pthreads -Usparc -Uunix -Ui386
> -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -MT UdsOp.lo -MD -MP
> -MF .deps/UdsOp.Tpo -c UdsOp.cc -fPIC -DPIC -o .libs/UdsOp.o
> UdsOp.cc: In function 'sockaddr_un Ipc::PathToAddress(const String&)':
> UdsOp.cc:77:27: error: 'AF_LOCAL' was not declared in this scope
> gmake[3]: *** [UdsOp.lo] Error 1
> gmake[3]: Leaving directory `/export/sources/squid/squid-3.2.0.16/src/ipc'
> gmake[2]: *** [all-recursive] Error 1
> gmake[2]: Leaving directory `/export/sources/squid/squid-3.2.0.16/src'
> gmake[1]: *** [all] Error 2
> gmake[1]: Leaving directory `/export/sources/squid/squid-3.2.0.16/src'
> gmake: *** [all-recursive] Error 1
> 138 - [martins_at_saci] squid/squid-3.2.0.16 >

The following patch solves this issue (but maybe you have a better solution).

********************************************

--- compat/os/solaris.h.org Thu Mar 15 22:13:09 2012
+++ compat/os/solaris.h Thu Mar 15 22:03:31 2012
@@ -90,6 +90,10 @@
  #define SUN_LEN(su) (sizeof(*(su)) - sizeof((su)->sun_path) + strlen((su)->sun_path))
  #endif

+#if !defined(AF_LOCAL)
+#define AF_LOCAL AF_UNIX
+#endif
+
  /* Solaris lacks paths.h by default */
  #if HAVE_PATHS_H
  #include <paths.h>

********************************************

But now the compile process goes a little far away and stops with another error :

depbase=`echo snmp_core.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -DDEFAULT_CONFIG_FILE=\"/var/squid/etc/squid.conf\"
-DDEFAULT_SQUID_DATA_DIR=\"/var/squid/share\" -DDEFAULT_SQUID_CONFIG_DIR=\"/var/squid/etc\" -I..
-I../include -I../lib -I../src -I../include -I../libltdl -I../src -I../libltdl
-I/usr/local/ssl/include -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Werror -pipe
-D_REENTRANT -pthreads -Usparc -Uunix -Ui386 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -MT
snmp_core.o -MD -MP -MF $depbase.Tpo -c -o snmp_core.o snmp_core.cc &&\
mv -f $depbase.Tpo $depbase.Po
snmp_core.cc: In function 'int snmpCreateOidFromStr(const char*, oid**, int*)':
snmp_core.cc:982:35: error: 'strsep' was not declared in this scope
gmake[3]: *** [snmp_core.o] Error 1
gmake[3]: Leaving directory `/export/sources/squid/squid-3.2.0.16/src'
gmake[2]: *** [all-recursive] Error 1
gmake[2]: Leaving directory `/export/sources/squid/squid-3.2.0.16/src'
gmake[1]: *** [all] Error 2
gmake[1]: Leaving directory `/export/sources/squid/squid-3.2.0.16/src'
gmake: *** [all-recursive] Error 1

It seems that it doesn't know the function strsep, which doesn't exists under solaris.

I've just found it. I'll try to look for a workaround, unless you already have a solution.

>
>
> Amos Jeffries wrote:
>> On 16/03/2012 2:10 a.m., Jose-Marcio Martins da Cruz wrote:

-- 
  ---------------------------------------------------------------
  Jose Marcio MARTINS DA CRUZ           http://j-chkmail.ensmp.fr
  Ecole des Mines de Paris
  60, bd Saint Michel                      75272 - PARIS CEDEX 06
  mailto:Jose-Marcio.Martins_at_mines-paristech.fr
Received on Thu Mar 15 2012 - 21:18:25 MDT

This archive was generated by hypermail 2.2.0 : Fri Mar 16 2012 - 12:00:04 MDT