Opened 14 years ago

Closed 12 years ago

#23422 closed defect (fixed)

openssh uses kerberos5 if it is installed but doesn't declare a dependency

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by: jyrkiwahlstedt
Priority: Normal Milestone:
Component: ports Version: 1.8.2
Keywords: Cc: BjarneDMat, hofione@…, matthewianmorgan@…, mullikine@…, ishanarora@…, asic512, mparchet@…, nonstop.server@…
Port: openssh

Description

openssh fails to build when kerberos5 is installed, but builds fine when kerberos5 is not installed. This was reported on the mailing list and I can confirm it.

openssh should not be attempting to use kerberos5 without declaring a dependency on it.

Attachments (2)

openssh.txt.bz2 (11.7 KB) - added by ryandesign (Ryan Carsten Schmidt) 14 years ago.
patch-Portfile.diff (967 bytes) - added by BjarneDMat 12 years ago.
pathc to add macports kerberos5 dependency

Download all attachments as: .zip

Change History (10)

Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)

Attachment: openssh.txt.bz2 added

comment:1 Changed 13 years ago by jmroot (Joshua Root)

Summary: openssh fails to build when kerberos5 is installedopenssh uses kerberos5 if it is installed but doesn't declare a dependency

It doesn't fail to build now anyway.

comment:2 Changed 13 years ago by jmroot (Joshua Root)

Looks like this applies to heimdal as well.

comment:3 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: hofione@… matthewianmorgan@… mullikine@… ishanarora@… pf15@… mparchet@… added

It seems to still fail to build; see duplicates #30912, #31446, #32846.

comment:4 Changed 12 years ago by BjarneDMat

A temporary fix is ...

  1. port -f uninstall kerberos5
  2. port install openssh
  3. port install kerberos5

comment:5 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

If you're going to want kerberos5 again afterward, a simpler workaround is to just deactivate kerberos5 instead of completely uninstalling it.

sudo port -f deactivate kerberos5
sudo port clean openssh
sudo port install openssh
sudo port activate kerberos5

comment:6 Changed 12 years ago by BjarneDMat

OK - I had decided to mess around with the openssh portfile due to one on my customisation projects and found this :

depends_run	port:xauth                                     <----- xauth dependency but not kerberoth5

# Specified -fno-builtin because GCC 3.3 has log() as a builtin
# (from math.h) while OpenSSH has its own log() function
# -- from fink.
configure.cppflags-append "-fno-builtin"
configure.args --with-ssl-dir=${prefix} --sysconfdir=${prefix}/etc/ssh \
    --with-privsep-path=${prefix}/var/empty --with-md5-passwords \
    --with-pid-dir=${prefix}/var/run --with-tcp-wrappers \
    --with-pam --disable-suid-ssh --with-random=/dev/urandom \
    --mandir=${prefix}/share/man --with-zlib=${prefix} \
    --with-kerberos5=/usr --with-xauth=${prefix}/bin/xauth \   <------ UPPPS
    --with-libedit

So, openssh is dependent on kerberos5 - it just tries to get it from the one Apple has supplied.
It seems like we are mixing and matching here :

  1. xauth is from macports
  2. kerberos5 is from Apple

I do think that's against policy ??? ;)

However, I made some changes to the openssh portfile, and it now compiles correctly.

Changed 12 years ago by BjarneDMat

Attachment: patch-Portfile.diff added

pathc to add macports kerberos5 dependency

comment:7 Changed 12 years ago by nonstop.server@…

Cc: nonstop.server@… added

Cc Me!

comment:8 Changed 12 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Resolution: fixed
Status: newclosed

r92129

It's a lib dependency, not a run dependency.

Note: See TracTickets for help on using tickets.