Bug 203860

Summary: www/squid 4.0.1 FreeBSD Install Error
Product: Ports & Packages Reporter: Angel Hess <angel>
Component: Individual Port(s)Assignee: Matthew Seaman <matthew>
Status: Closed FIXED    
Severity: Affects Many People CC: Mark.Martinec, cjpm, junovitch, koobs, matthew, timp87
Priority: ---    
Version: Latest   
Hardware: amd64   
OS: Any   
Attachments:
Description Flags
www/squid40: initial version
none
www/squid40: 4.0.3
none
www/squid40: 4.0.7
none
www/squid40: 4.0.7 new
none
www/squid40: 4.0.9
none
www/squid patch
timp87: maintainer-approval+, timp87: maintainer-approval+
www/squid-devel shar timp87: maintainer-approval+

Description Angel Hess 2015-10-18 22:22:50 UTC
I assume Squid 4.0.1 has make errors because it was released just a few days ago? 4.0.1 also does not seem to be in the package install, only 3+ is in pkg install. How long until it is usually in the pkg install database? I tried the usual manual download, config, make, etc. And it seems to have errors on the "make", perhaps about 3/4 into the make, on a new FreeBSD OS install 10.2. Please advise. Below is the error starting...

Code:

In file included from Elements.cc:14:
In file included from ../../src/HttpReply.h:14:
In file included from ../../src/HttpMsg.h:18:
In file included from ../../src/HttpHeader.h:13:
../../src/http/RegisteredHeaders.h:197:10: error: no type named 'vector' in namespace 'std'
    std::vector<const HeaderTableRecord *> idCache;
    ~~~~~^
../../src/http/RegisteredHeaders.h:197:16: error: expected member name or ';' after declaration specifiers
    std::vector<const HeaderTableRecord *> idCache;
    ~~~~~~~~~~~^
../../src/http/RegisteredHeaders.h:192:18: error: use of undeclared identifier 'idCache'
        return *(idCache[static_cast<int>(id)]);
                 ^
3 errors generated.
*** Error code 1

Stop.
make[3]: stopped in /usr/home/freebsd/squid-4.0.1/src/ftp
*** Error code 1

Stop.
make[2]: stopped in /usr/home/freebsd/squid-4.0.1/src
*** Error code 1

Stop.
make[1]: stopped in /usr/home/freebsd/squid-4.0.1/src
*** Error code 1

Stop.
make: stopped in /usr/home/freebsd/squid-4.0.1
Comment 1 Carlos J Puga Medina 2015-10-18 23:59:19 UTC
Also it was reported here:

http://bugs.squid-cache.org/show_bug.cgi?id=4352
Comment 2 Pavel Timofeev 2015-10-19 12:54:23 UTC
Hi everyone!
I haven't tried to build it.

Angel Hess, have you tried this patch?
http://www.squid-cache.org/Versions/v4/changesets/squid-4-14358.patch
Comment 3 Mark.Martinec 2015-10-19 13:24:01 UTC
Btw, the Squid-4 release notes ( http://wiki.squid-cache.org/Squid-4 )
state:

| This series of Squid requires a C++11 capable compiler. The currently
| known compilers which meet this criteria and build Squid-4 reliably
| are GCC 4.9+ and Clang 3.5+

Don't know what are the ramifications, but FreeBSD 10.2 comes with
an older version of clang 3.4.1.
Comment 4 Pavel Timofeev 2015-10-19 14:47:06 UTC
(In reply to Mark.Martinec from comment #3)
Yes, I hope it's just a recommendation, not a requarement.
Comment 5 Jason Unovitch freebsd_committer freebsd_triage 2015-10-20 02:41:06 UTC
(In reply to timp87 from comment #4)
It may likely require:
 USES= compiler:c++11-lang
Comment 6 Angel Hess 2015-10-22 13:51:37 UTC
(In reply to timp87 from comment #2)

I tried the patch. It seemed to compile, but extremely slowly, and make install not great. I do not want a patch, really. I just want to be able to use "pkg install squid" or "pkg install squid4". Will this be available at some point?
Comment 7 Pavel Timofeev 2015-10-23 08:45:53 UTC
(In reply to Angel Hess from comment #6)
I understand. That's what we all want.
Comment 8 Pavel Timofeev 2015-10-23 09:50:29 UTC
(In reply to Angel Hess from comment #6)
I don't promise, but I'll try to build when 4.0.2 is released and maybe even try to make a port if noone else does it.
Comment 9 Jason Unovitch freebsd_committer freebsd_triage 2015-10-28 01:51:33 UTC
@Pavel,
I know in the past once Squid 3.x+1 was released Squid 3.x was considered EOL.  This made having just 'www/squid' in ports make sense.  From the looks of things at http://www.squid-cache.org/Versions/ it would seem that both are considered officially supported releases.  Do you have an idea if both are going to be officially supported by upstream for some time?
Comment 10 Pavel Timofeev 2015-10-28 08:17:54 UTC
(In reply to Jason Unovitch from comment #9)
Well, I don't know. Sorry.
Comment 11 Kubilay Kocak freebsd_committer freebsd_triage 2015-10-28 08:40:31 UTC
While we encourage collaboration, Bugzilla really isn't the place to be QA'ing a build failure for a port that doesn't exist in the ports tree yet. 

The reason is that it's unrelated to the www/squid port, and there's nothing that the current MAINTAINER (or any committers) can do to resolve it (close the issue).

@Tim, over to you (assigned) to take care of from here.
Comment 12 Pavel Timofeev 2015-11-12 16:26:28 UTC
Created attachment 163064 [details]
www/squid40: initial version

Hi!

I made an initial port for squid4.0.x. It's only for testing purpose.

What should be handled/checked or just thoughts:

- CONFLICTS_INSTALL is not set (depends on how it will be added to ports tree);

- Track http://bugs.squid-cache.org/show_bug.cgi?id=4376. Add files/patch-ecap-needs-attention for now.

- Track http://bugs.squid-cache.org/show_bug.cgi?id=4377. No fix for now.

- Wait for 4.0.3 release. Then check if 'XXX: On FreeBSD we don't need to involve krb5-config.' part of files/patch-configure is still needed. Some appropriate fixes are commited.
Comment 13 Pavel Timofeev 2015-11-16 10:36:44 UTC
While waiting for 4.0.3 I'd like to illuminate my thoughts.
Squid-4 is on RC stage right now.
I'd copy www/squid to www/squid3 and update www/squid to 4th version when it was released.
It would be better than just updating www/squid to 4 because it's a major version change. squid3 should be in ports tree at least for some time until we realize that squid4 is ready as a real replacement or it's EOL.
Comment 14 Jason Unovitch freebsd_committer freebsd_triage 2015-11-21 18:16:26 UTC
(In reply to timp87 from comment #13)
Pavel,
This makes sense to me.  The only thing that comes to mind is asking on the Squid mailing lists what kind of support overlap Squid 3.5 will have after 4.0 is out of beta status.  We should attempt to match the EOL in ports with the upstream EOL of the 3.x series.

- Set 'open' while here as 'new' isn't entirely and we are waiting on upstream to call 4.x production ready before taking any action.  We'll call this 'in progress' when 4.x is production ready and we start working on the port.
Comment 15 Pavel Timofeev 2015-11-30 16:47:33 UTC
Created attachment 163693 [details]
www/squid40: 4.0.3

It's squid-4.0.3.
Same checklist as in comment #12, but last two are fixed by upstream.
Comment 16 Pavel Timofeev 2016-02-25 19:20:53 UTC
Created attachment 167410 [details]
www/squid40: 4.0.7
Comment 17 Pavel Timofeev 2016-02-27 10:58:58 UTC
Created attachment 167474 [details]
www/squid40: 4.0.7 new

I've set options that don't need additional dependencies to ON by default.

There is still one problem with Kerberos
Comment 18 Pavel Timofeev 2016-04-21 12:24:45 UTC
Created attachment 169519 [details]
www/squid40: 4.0.9

Catch up www/squid changes.
Update to latest squid 4.0.9 version.

Previously mentioned issues are no fixed.
Comment 19 Pavel Timofeev 2016-04-21 12:25:22 UTC
(In reply to timp87 from comment #18)
Sorry, I mean 'issues are fixed'
Comment 20 Pavel Timofeev 2016-05-01 12:29:18 UTC
Created attachment 169847 [details]
www/squid patch

1. Add conflicts to take into account new www/squid-devel
2. Change the way firewalls are choosen. Set ipfw as default.
Comment 21 Pavel Timofeev 2016-05-01 12:30:41 UTC
Created attachment 169848 [details]
www/squid-devel shar

Add squid-4.0.9 as www/squid-devel
Comment 22 commit-hook freebsd_committer freebsd_triage 2016-05-01 20:28:55 UTC
A commit references this bug:

Author: matthew
Date: Sun May  1 20:27:58 UTC 2016
New revision: 414422
URL: https://svnweb.freebsd.org/changeset/ports/414422

Log:
  Squid is a fully-featured HTTP/1.0 proxy which is almost (but not quite)
  HTTP/1.1 compliant. Squid offers a rich access control, authorization and
  logging environment to develop web proxy and content serving applications.

  WWW: http://www.squid-cache.org/

  PR:		203860
  Submitted by:	timp87@gmail.com

Changes:
  head/www/Makefile
  head/www/squid-devel/
  head/www/squid-devel/Makefile
  head/www/squid-devel/distinfo
  head/www/squid-devel/files/
  head/www/squid-devel/files/extra-patch-build-8-9
  head/www/squid-devel/files/extra-patch-gen-stacktrace
  head/www/squid-devel/files/patch-compat_compat.h
  head/www/squid-devel/files/patch-compat_shm.cc
  head/www/squid-devel/files/patch-configure
  head/www/squid-devel/files/patch-src-cf.data.pre
  head/www/squid-devel/files/patch-src_DiskIO_Mmapped_MmappedFile.cc
  head/www/squid-devel/files/patch-src__ip__Intercept.cc
  head/www/squid-devel/files/patch-src_adaptation_ecap_ServiceRep.cc
  head/www/squid-devel/files/patch-src_ipc_mem_Segment.cc
  head/www/squid-devel/files/patch-src_tools.cc
  head/www/squid-devel/files/pkg-install.in
  head/www/squid-devel/files/pkg-message.in
  head/www/squid-devel/files/squid.in
  head/www/squid-devel/pkg-descr
  head/www/squid-devel/pkg-plist
Comment 23 commit-hook freebsd_committer freebsd_triage 2016-05-01 20:31:58 UTC
A commit references this bug:

Author: matthew
Date: Sun May  1 20:31:29 UTC 2016
New revision: 414423
URL: https://svnweb.freebsd.org/changeset/ports/414423

Log:
  Add conflicts against the new squid-devel port

  Rework transparent proxy / firewall related options

  PR:		203860
  Submitted by:	timp87@gmail.com (maintainer)

Changes:
  head/www/squid/Makefile
Comment 24 Matthew Seaman freebsd_committer freebsd_triage 2016-05-01 20:33:04 UTC
Committed, thanks!