Bug 193717 - www/squid pkg-plist error
Summary: www/squid pkg-plist error
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: John Marino
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-09-17 15:59 UTC by Konstantin Belousov
Modified: 2014-10-01 09:15 UTC (History)
4 users (show)

See Also:


Attachments
Options file which causes the problem (1.30 KB, text/plain)
2014-09-17 15:59 UTC, Konstantin Belousov
no flags Details
correction for pkg-plist (801 bytes, patch)
2014-09-17 17:16 UTC, timp87
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Konstantin Belousov freebsd_committer 2014-09-17 15:59:40 UTC
Created attachment 147406 [details]
Options file which causes the problem

Trying to install www/squid on stable/9 amd64, I get:

--->  Installing the new version via the port with make flags: WITH_BDB_VER=6
===>  Installing for squid-3.4.7
===>   squid-3.4.7 depends on file: /usr/local/lib/libcrypto.so.8 - found
===>   squid-3.4.7 depends on file: /usr/local/bin/perl5.16.3 - found
===>   squid-3.4.7 depends on shared library: libsasl2.so - found (/usr/local/lib/libsasl2.so.3.0.0)
===>   squid-3.4.7 depends on shared library: libldap-2.4.so.2 - found (/usr/local/lib/libldap-2.4.so.2.10.2)
===>   Registering installation for squid-3.4.7
pkg-static: lstat(/usr/home/bsd/portworkdir/usr/home/bsd/ports/www/squid/work/stage/usr/local/libexec/squid/cert_tool): No such file or directory
pkg-static: lstat(/usr/home/bsd/portworkdir/usr/home/bsd/ports/www/squid/work/stage/usr/local/libexec/squid/ext_kerberos_ldap_group_acl): No such file or directory  
*** [fake-pkg] Error code 74

Stop in /usr/home/bsd/ports/www/squid.
*** [install] Error code 1

Options file attached.  Note that I have to turn off kerberos since it caused some compilations errors with the base krb from 9.
Comment 1 John Marino freebsd_committer 2014-09-17 16:15:25 UTC
timp87, takefu: Any idea?

Konstantin: Any way you can narrow down exactly which option is bad?
Comment 2 Konstantin Belousov freebsd_committer 2014-09-17 16:30:03 UTC
(In reply to John Marino from comment #1)
> timp87, takefu: Any idea?
> 
> Konstantin: Any way you can narrow down exactly which option is bad?

My bet is 'Install Kerberos authentication helpers' for ext_kerberos_ldap_group_acl. Note that I cannot verify this due to port not building at all with krb option turned on (on stable/9).

Not sure about cert_tool.
Comment 3 timp87 2014-09-17 16:52:33 UTC
I have fix for pkg-plist which is being tested a bit right now.

(In reply to Konstantin Belousov from comment #2)
> (In reply to John Marino from comment #1)
> > timp87, takefu: Any idea?
> > 
> > Konstantin: Any way you can narrow down exactly which option is bad?
> 
> My bet is 'Install Kerberos authentication helpers' for
> ext_kerberos_ldap_group_acl. Note that I cannot verify this due to port not
> building at all with krb option turned on (on stable/9).
> 
> Not sure about cert_tool.

Sorry, I didn't understand. Did you mean that www/squid doesn't build at all on 9-stable if AUTH_KERB is on? I have 9.3-RELEASE amd64 and it builds with AUTH_KERB.
Comment 4 John Marino freebsd_committer 2014-09-17 16:54:18 UTC
(In reply to timp87 from comment #3)
> Sorry, I didn't understand. Did you mean that www/squid doesn't build at all
> on 9-stable if AUTH_KERB is on? I have 9.3-RELEASE amd64 and it builds with
> AUTH_KERB.

I think he means that kerberos was built with non-default options.  You are likely building it with default options.
Comment 5 John Marino freebsd_committer 2014-09-17 16:55:24 UTC
(In reply to John Marino from comment #4)
> (In reply to timp87 from comment #3)
> > Sorry, I didn't understand. Did you mean that www/squid doesn't build at all
> > on 9-stable if AUTH_KERB is on? I have 9.3-RELEASE amd64 and it builds with
> > AUTH_KERB.
> 
> I think he means that kerberos was built with non-default options.  You are
> likely building it with default options.

Oops, re-reading, it looks like kerberos was skipped somehow.  Does port even allow that?
Comment 6 timp87 2014-09-17 17:16:01 UTC
Created attachment 147409 [details]
correction for pkg-plist

These two files appear when 3 options are enabled (AUTH_KERB, AUTH_LDAP and AUTH_SASL). Same fix should be applied to the www/squid33.
Comment 7 timp87 2014-09-17 17:29:25 UTC
(In reply to John Marino from comment #5)
> (In reply to John Marino from comment #4)
> > (In reply to timp87 from comment #3)
> > > Sorry, I didn't understand. Did you mean that www/squid doesn't build at all
> > > on 9-stable if AUTH_KERB is on? I have 9.3-RELEASE amd64 and it builds with
> > > AUTH_KERB.
> > 
> > I think he means that kerberos was built with non-default options.  You are
> > likely building it with default options.
> 
> Oops, re-reading, it looks like kerberos was skipped somehow.  Does port
> even allow that?

If I understand everything right, any options can be added to /etc/make.conf using the SQUID_CONFIGURE_ARGS variable.
For example, to disable kerberos you can add SQUID_CONFIGURE_ARGS=--without-krb5-config. But I'd rather add some new features through this variable, not disable. At least there is regular mechanism for disabling kerberos. Or I'm thinking not in right direction?
Comment 8 Konstantin Belousov freebsd_committer 2014-09-17 18:14:11 UTC
(In reply to timp87 from comment #3)

> Sorry, I didn't understand. Did you mean that www/squid doesn't build at all
> on 9-stable if AUTH_KERB is on? I have 9.3-RELEASE amd64 and it builds with
> AUTH_KERB.

Yes, it failed on stable/9 with kerberos auth helpers enabled.

The machine where the stuff happens is atom, so it is somewhat time-consuming to reproduce.  I disabled the option, since I do not need kerberos auth anyway, and got the packaging error.

There is no non-standard base kerberos options, and there is no a kerberos implementation from ports installed.  If you really want to see the build error, I can reproduce it, but, as said, it will take time.
Comment 9 timp87 2014-09-17 18:31:05 UTC
(In reply to Konstantin Belousov from comment #8)
> (In reply to timp87 from comment #3)
> 
> > Sorry, I didn't understand. Did you mean that www/squid doesn't build at all
> > on 9-stable if AUTH_KERB is on? I have 9.3-RELEASE amd64 and it builds with
> > AUTH_KERB.
> 
> Yes, it failed on stable/9 with kerberos auth helpers enabled.
> 
> The machine where the stuff happens is atom, so it is somewhat
> time-consuming to reproduce.  I disabled the option, since I do not need
> kerberos auth anyway, and got the packaging error.
> 
> There is no non-standard base kerberos options, and there is no a kerberos
> implementation from ports installed.  If you really want to see the build
> error, I can reproduce it, but, as said, it will take time.

I'll try do reproduce it tomorrow.
Comment 10 John Marino freebsd_committer 2014-09-17 20:41:59 UTC
timp87, should I wait before applying the patch to the port?  It sounds like you are still investigating which might change the patch.  (?)
Comment 11 timp87 2014-09-18 03:33:50 UTC
(In reply to John Marino from comment #10)
> timp87, should I wait before applying the patch to the port?  It sounds like
> you are still investigating which might change the patch.  (?)

This fix for pkg-plist can be applied. I'll try to investigate problem on 9-stable, but I don't have much skills and time
Comment 12 commit-hook freebsd_committer 2014-09-18 06:59:16 UTC
A commit references this bug:

Author: marino
Date: Thu Sep 18 06:58:48 UTC 2014
New revision: 368421
URL: http://svnweb.freebsd.org/changeset/ports/368421

Log:
  www/squid and www/squid33: Fix plist error depending on selected options

  PR:		193717
  Reported by:	kib@
  Fixed by:	timp87 (gmail)

Changes:
  head/www/squid/Makefile
  head/www/squid/pkg-plist
  head/www/squid33/Makefile
  head/www/squid33/pkg-plist
Comment 13 timp87 2014-09-18 07:21:48 UTC
(In reply to Konstantin Belousov from comment #8)
> (In reply to timp87 from comment #3)
> 
> > Sorry, I didn't understand. Did you mean that www/squid doesn't build at all
> > on 9-stable if AUTH_KERB is on? I have 9.3-RELEASE amd64 and it builds with
> > AUTH_KERB.
> 
> Yes, it failed on stable/9 with kerberos auth helpers enabled.
> 
> The machine where the stuff happens is atom, so it is somewhat
> time-consuming to reproduce.  I disabled the option, since I do not need
> kerberos auth anyway, and got the packaging error.
> 
> There is no non-standard base kerberos options, and there is no a kerberos
> implementation from ports installed.  If you really want to see the build
> error, I can reproduce it, but, as said, it will take time.

Well, I just tried to install www/squid with options you turned on, but AUTH_KERB is on too, on 9-STABLES amd64 r270981. No problems.
Comment 14 Konstantin Belousov freebsd_committer 2014-09-18 09:09:57 UTC
I enabled the krb authentificator helper, and got:

c++ -DHAVE_CONFIG_H  -I../../.. -I../../../include -I../../../lib  -I../../../src -I../../../include   -I/usr/include  -I/usr/include   -I../../.. -I../../../include -I../../../lib  -I../../../src -I../../../include   -I/usr/include  -I/usr/include  -I. -I/usr/local/include -I/usr/local/include -I/usr/include  -I/usr/include -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Wshadow -Werror -pipe -D_REENTRANT -O2 -pipe -I/usr/local/include -I/usr/local/include -I/usr/local/include -DLDAP_DEPRECATED -fno-strict-aliasing -march=native -I/usr/local/include -MT negotiate_kerberos_auth_test.o -MD -MP -MF .deps/negotiate_kerberos_auth_test.Tpo -c -o negotiate_kerberos_auth_test.o negotiate_kerberos_auth_test.cc
negotiate_kerberos_pac.cc: In function 'int check_k5_err(krb5_context_data*, const char*, krb5_error_code)':
negotiate_kerberos_pac.cc:52: error: 'krb5_free_error_message' was not declared in this scope
*** [negotiate_kerberos_pac.o] Error code 1
negotiate_kerberos_auth.cc: In function 'int main(int, char* const*)':
negotiate_kerberos_auth.cc:402: error: 'gsskrb5_extract_authz_data_from_sec_context' was not declared in this scope
*** [negotiate_kerberos_auth.o] Error code 1
mv -f .deps/negotiate_kerberos_auth_test.Tpo .deps/negotiate_kerberos_auth_test.Po
2 error

With the krb option disabled, the port compiled and packaged fine (version 3.4.7_1).
Comment 15 timp87 2014-09-18 09:36:31 UTC
(In reply to Konstantin Belousov from comment #14)
> I enabled the krb authentificator helper, and got:
> 
> c++ -DHAVE_CONFIG_H  -I../../.. -I../../../include -I../../../lib 
> -I../../../src -I../../../include   -I/usr/include  -I/usr/include  
> -I../../.. -I../../../include -I../../../lib  -I../../../src
> -I../../../include   -I/usr/include  -I/usr/include  -I.
> -I/usr/local/include -I/usr/local/include -I/usr/include  -I/usr/include
> -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Wshadow -Werror -pipe
> -D_REENTRANT -O2 -pipe -I/usr/local/include -I/usr/local/include
> -I/usr/local/include -DLDAP_DEPRECATED -fno-strict-aliasing -march=native
> -I/usr/local/include -MT negotiate_kerberos_auth_test.o -MD -MP -MF
> .deps/negotiate_kerberos_auth_test.Tpo -c -o negotiate_kerberos_auth_test.o
> negotiate_kerberos_auth_test.cc
> negotiate_kerberos_pac.cc: In function 'int check_k5_err(krb5_context_data*,
> const char*, krb5_error_code)':
> negotiate_kerberos_pac.cc:52: error: 'krb5_free_error_message' was not
> declared in this scope
> *** [negotiate_kerberos_pac.o] Error code 1
> negotiate_kerberos_auth.cc: In function 'int main(int, char* const*)':
> negotiate_kerberos_auth.cc:402: error:
> 'gsskrb5_extract_authz_data_from_sec_context' was not declared in this scope
> *** [negotiate_kerberos_auth.o] Error code 1
> mv -f .deps/negotiate_kerberos_auth_test.Tpo
> .deps/negotiate_kerberos_auth_test.Po
> 2 error
> 
> With the krb option disabled, the port compiled and packaged fine (version
> 3.4.7_1).

Sorry, is it clang or gcc?
Comment 16 Konstantin Belousov freebsd_committer 2014-09-18 09:44:26 UTC
(In reply to timp87 from comment #15)
> (In reply to Konstantin Belousov from comment #14)
> > I enabled the krb authentificator helper, and got:
> > 
> > c++ -DHAVE_CONFIG_H  -I../../.. -I../../../include -I../../../lib 
> > -I../../../src -I../../../include   -I/usr/include  -I/usr/include  
> > -I../../.. -I../../../include -I../../../lib  -I../../../src
> > -I../../../include   -I/usr/include  -I/usr/include  -I.
> > -I/usr/local/include -I/usr/local/include -I/usr/include  -I/usr/include
> > -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Wshadow -Werror -pipe
> > -D_REENTRANT -O2 -pipe -I/usr/local/include -I/usr/local/include
> > -I/usr/local/include -DLDAP_DEPRECATED -fno-strict-aliasing -march=native
> > -I/usr/local/include -MT negotiate_kerberos_auth_test.o -MD -MP -MF
> > .deps/negotiate_kerberos_auth_test.Tpo -c -o negotiate_kerberos_auth_test.o
> > negotiate_kerberos_auth_test.cc
> > negotiate_kerberos_pac.cc: In function 'int check_k5_err(krb5_context_data*,
> > const char*, krb5_error_code)':
> > negotiate_kerberos_pac.cc:52: error: 'krb5_free_error_message' was not
> > declared in this scope
> > *** [negotiate_kerberos_pac.o] Error code 1
> > negotiate_kerberos_auth.cc: In function 'int main(int, char* const*)':
> > negotiate_kerberos_auth.cc:402: error:
> > 'gsskrb5_extract_authz_data_from_sec_context' was not declared in this scope
> > *** [negotiate_kerberos_auth.o] Error code 1
> > mv -f .deps/negotiate_kerberos_auth_test.Tpo
> > .deps/negotiate_kerberos_auth_test.Po
> > 2 error
> > 
> > With the krb option disabled, the port compiled and packaged fine (version
> > 3.4.7_1).
> 
> Sorry, is it clang or gcc?

stable/9, the c++ in path is
tom% c++ -v
Using built-in specs.
Target: amd64-undermydesk-freebsd
Configured with: FreeBSD/amd64 system compiler
Thread model: posix
gcc version 4.2.1 20070831 patched [FreeBSD]
Comment 17 John Marino freebsd_committer 2014-09-24 11:34:56 UTC
Timp87, have you been able to confirm this is a global issue?  Or is this something specific to kib?
Comment 18 timp87 2014-09-24 11:41:42 UTC
(In reply to John Marino from comment #17)
> Timp87, have you been able to confirm this is a global issue?  Or is this
> something specific to kib?

No, I have not. Don't know what to do next
Comment 19 John Marino freebsd_committer 2014-10-01 08:47:42 UTC
kib, the original problem is fixes and timp87 can't reproduce the F9 issue.  Is it okay to close this PR?
Comment 20 Konstantin Belousov freebsd_committer 2014-10-01 09:15:23 UTC
The pkg-plist is indeed fixed for me.

I am not sure what is going on with the krb build failure, but I do not have cycles to investigate this right now anyway.  Disabling the krb auth helpers is good workaround for my issue.