squid3 FTBFS due to bad libecap3 dependency and logical-not-parentheses warning

Bug #1496924 reported by Tiago Stürmer Daitx on 2015-09-17
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
squid3 (Ubuntu)
High
Unassigned

Bug Description

Currently squid3 FTBFS due to:

1. libecap3-dev dependency, should be libecap2-dev [1]
2. error due to a "logical-not-parentheses" warning

===== Build error #1
checking for EXT_LIBECAP... no
configure: error: Package requirements (libecap >= 0.2.0 libecap < 0.3) were not met:

Requested 'libecap < 0.3' but version of eCAP is 1.0.1
You may find new versions of eCAP at http://www.e-cap.org/
=====

===== Build error #2
++ -DHAVE_CONFIG_H -I../.. -I../../include -I../../lib -I../../src -I../../include -isystem /usr
/include/mit-krb5 -isystem /usr/include/mit-krb5 -I. -I/usr/include/libxml2 -D_FORTIFY_SOURCE=2 -
isystem /usr/include/mit-krb5 -isystem /usr/include/mit-krb5 -I/usr/include/libxml2 -Wall -Wpointer
-arith -Wwrite-strings -Wcomments -Werror -pipe -D_REENTRANT -m64 -g -O2 -fPIE -fstack-protector-st
rong -Wformat -Werror=format-security -std=c++0x -c -o lru/store_repl_lru.o lru/store_repl_lru.cc
heap/store_repl_heap.cc: In function 'StoreEntry* heap_purgeNext(RemovalPurgeWalker*)':
heap/store_repl_heap.cc:224:36: error: logical not is only applied to the left hand side of comparison [-Werror=logical-not-parentheses]
     if (!heap_nodes(heap->theHeap) > 0)
                                    ^
======

[1] https://launchpad.net/ubuntu/+source/squid3/3.3.8-1ubuntu15/+build/7870177

Tiago Stürmer Daitx (tdaitx) wrote :
tags: added: ftbfs
tags: added: patch
Tiago Stürmer Daitx (tdaitx) wrote :

Please note that squid will still FTBFS due to LP: #1496223 even after applying this patch.

Martin Pitt (pitti) wrote :

Uploading this seems blocked by bug 1496223, so let's keep this in the queue for now.

Changed in squid3 (Ubuntu):
status: New → Triaged
Łukasz Zemczak (sil2100) wrote :

I might be wrong, but I don't think changing the dependency back to libecap2 (0.2.0) is the right way to go. The new libecap library (libecap3) is currently in transition and the squid3 build problem is blocking its migration. If we re-introduce the libecap2 dependency, then libecap3 won't be able to migrate to release - as squid3 will be blocking it with this dep. The right solution would be to fix squid3 to build with the new ecap library, possibly integrating changes from upstream.

That's just my 2 cents.

Łukasz Zemczak (sil2100) wrote :

I checked and Debian made squid3 building against libecap3 with version 3.5.6-1 [1]. This is a big upstream release and I'm not sure if it's a good idea to merge it to Ubuntu wily so late in the cycle. I also experimented and tried to fix the configure scripts to just pick up the new libecap3 and see if it builds - and it seems to reach the same place of bug #1496223. I'm attaching the debdiff of this change. Anyway, it's still blocked on the fix of the aforementioned bug.

[1] https://launchpad.net/debian/+source/squid3/3.5.6-1

Amos Jeffries (yadi) wrote :

FYI: The libecap older than 1.0.0 and Squid older than 3.5 are in a lock-step dependency due to the libecap API and ABI being unstable in those versions. Even if you can get it to build the call sequence to the API is wrong at run-time. You get to pick libecap2 (0.2) + squid (3.3, 3.4) or libecap3 (1.0.1) + squid (3.5), but not a mix.

At this stage of Wily I suggest reverting to libecap2.

Tiago Stürmer Daitx (tdaitx) wrote :

Debdiffs for squid3 fixes and libecap2 transition were provided in LP: #1496223

Let me know if I should move or copy them here.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package squid3 - 3.3.8-1ubuntu16

---------------
squid3 (3.3.8-1ubuntu16) wily; urgency=medium

  [ Tiago Stürmer Daitx ]
  * d/patches/fix-logical-not-parentheses-warning.patch: Fix warning for
    logical-not-parentheses which caused squid to FTBFS. (LP: #1496924)
  * d/patches/netfilter_fix.patch: Backported from Squid Bug #4323.
    (LP: #1496223)
  * d/patches/fix-pod2name-pipe-failure.patch: Add --name parameter to
    pod2man (LP: #1501566)
  * roll back build-dependency to libecap2-dev, this version of squid3 is not
    compatible with libecap3 and libecap3 transition has been rolled back for
    wily.

 -- Steve Langasek <email address hidden> Fri, 09 Oct 2015 00:29:47 +0000

Changed in squid3 (Ubuntu):
status: Triaged → Fix Released
Changed in squid3 (Ubuntu):
importance: Undecided → High
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers