[MacPorts] #63328: kerberos5 @1.19.2 needs corrected configure options
MacPorts
noreply at macports.org
Sat Jul 31 19:44:22 UTC 2021
#63328: kerberos5 @1.19.2 needs corrected configure options
-------------------------+-----------------------
Reporter: ballapete | Owner: (none)
Type: enhancement | Status: new
Priority: Normal | Milestone:
Component: ports | Version: 2.7.1
Keywords: tiger | Port: kerberos5
-------------------------+-----------------------
While trying to see whether `kerberos5` can work with `Python 3.8` I saw
this report:
{{{
configure: WARNING: unrecognized options: --with-pkinit-crypto-impl
}}}
This `configure` option is gone.
Another `configure` option is obsolete: `--mandir=/opt/local/share/man`.
Form help (a bit edited):
{{{
Installation directories:
--prefix=PREFIX install architecture-independent files in PREFIX
[/usr/local]
Fine tuning of the installation directories:
--datarootdir=DIR read-only arch.-independent data root
[PREFIX/share]
--mandir=DIR man documentation [DATAROOTDIR/man]
}}}
`--prefix` is set to `/opt/local` so `datarootdir` becomes
`/opt/local/share` and `mandir` automatically `/opt/local/share/man` which
the option `--mandir=/opt/local/share/man` dictates uselessly.
----
From a first failed try to run `make check` it seems that `src/Makefile`
needs to be patched. It contains explicitly:
{{{
335 COM_ERR_LIB = -L/opt/local/lib -lcom_err
379 RL_LIBS = -L/opt/local/lib -ledit
}}}
while this line only has
{{{
179 LIBS = -lcrypto -lintl -lresolv
}}}
without any other occurrence of `-L/opt/local/lib`. These lines also look
suspicious:
{{{
442 # TLS implementation selection
443 TLS_IMPL = openssl
444 TLS_IMPL_CFLAGS =
445 TLS_IMPL_LIBS = -lssl -lcrypto
}}}
The only other occurrence that the `LIBS` macros is used is:
{{{
406 KRB5_BASE_LIBS = $(KRB5_LIB) $(K5CRYPTO_LIB) $(COM_ERR_LIB)
$(SUPPORT_LIB) $(GEN_LIB) $(LIBS) $(DL_LIB)
}}}
So when the `port` is built it inherits from `$(COM_ERR_LIB)` the path
argument `-L/opt/local/lib` and all is fine. For the `test/check` target
something similar needs to be constructed for cases when `libcom_err` is
not used with `$(LIBS)`. For example here:
{{{
making check in util/profile/testmod...
[...]
building dynamic proftest object
set -x; objlist=`set -x && perl -p -e 'BEGIN { $SIG{__WARN__} = sub {die
@_} }; $e=$ARGV; $e =~ s/OBJS\...$//; s/^/ /; s/ $//; s/ / $e/g;' OBJS.SH`
&& /opt/local/bin/gcc-apple-4.2 -std=gnu99 -bundle -pipe -Os -arch ppc
-fno-common -Wl,-headerpad_max_install_names -arch ppc
-Wl,-search_paths_first -o proftest.so $objlist -L../../../lib
-lkrb5support -lcrypto -lintl -lresolv -Wl,-headerpad_max_install_names
-arch ppc -Wl,-search_paths_first -exported_symbols_list darwin.exports
++ set -x
++ perl -p -e 'BEGIN { $SIG{__WARN__} = sub {die @_} }; $e=$ARGV; $e =~
s/OBJS\...$//; s/^/ /; s/ $//; s/ / $e/g;' OBJS.SH
+ objlist= testmod_main.so
+ /opt/local/bin/gcc-apple-4.2 -std=gnu99 -bundle -pipe -Os -arch ppc
-fno-common -Wl,-headerpad_max_install_names -arch ppc
-Wl,-search_paths_first -o proftest.so testmod_main.so -L../../../lib
-lkrb5support -lcrypto -lintl -lresolv -Wl,-headerpad_max_install_names
-arch ppc -Wl,-search_paths_first -exported_symbols_list darwin.exports
ld: library not found for -lintl
collect2: ld returned 1 exit status
make[3]: *** [proftest.so] Error 1
make[3]: Target `check' not remade because of errors.
make[2]: *** [check-recurse] Error 1
}}}
{{{
making check in util/verto...
make[1]: *** [check-recurse] Error 1
make[1]: Target `check' not remade because of errors.
making check in include...
making check in lib...
making check in lib/crypto...
making check in lib/crypto/krb...
/opt/local/bin/gcc-apple-4.2 -std=gnu99 -DHAVE_CONFIG_H
-I../../../include -I../../../include -I./../openssl -DKRB5_DEPRECATED=1
-DKRB5_PRIVATE -I/opt/local/include -pipe -Os -arch ppc -fno-common -Wall
-Wcast-align -Wshadow -Wmissing-prototypes -Wno-format-zero-length
-Woverflow -Wstrict-overflow -Wmissing-format-attribute -Wmissing-
prototypes -Wreturn-type -Wmissing-braces -Wparentheses -Wswitch -Wunused-
function -Wunused-label -Wunused-variable -Wunused-value -Wunknown-pragmas
-Wsign-compare -Wnewline-eof -Wdeclaration-after-statement -pthread -c
t_fortuna.c
/opt/local/bin/gcc-apple-4.2 -std=gnu99 -L../../../lib -dynamic -pipe -Os
-arch ppc -fno-common -Wl,-headerpad_max_install_names -arch ppc
-Wl,-search_paths_first -o t_fortuna t_fortuna.o -lk5crypto -lkrb5support
-lcrypto -lintl -lresolv
ld: library not found for -lintl
collect2: ld returned 1 exit status
make[3]: *** [t_fortuna] Error 1
make[3]: Target `check' not remade because of errors.
}}}
{{{
making check in tests/misc...
/opt/local/bin/g++-apple-4.2 -DHAVE_CONFIG_H -I../../include
-I../../include -DKRB5_DEPRECATED=1 -DKRB5_PRIVATE -I/opt/local/include
-pipe -Os -arch ppc -Wall -Wcast-align -Wshadow -pthread -c
test_cxx_krb5.cpp
/opt/local/bin/g++-apple-4.2 -L../../lib -dynamic -pipe -Os -arch ppc
-Wl,-headerpad_max_install_names -arch ppc -Wl,-search_paths_first
-DHAVE_CONFIG_H -I../../include -I../../include -DKRB5_DEPRECATED=1
-DKRB5_PRIVATE -I/opt/local/include -pipe -Os -arch ppc -Wall -Wcast-align
-Wshadow -pthread -o test_cxx_krb5 test_cxx_krb5.o -lkrb5 -lk5crypto
-L/opt/local/lib -lcom_err -lkrb5support -lcrypto -lintl -lresolv
-lcrypto -lintl -lresolv
ld: warning: object file compiled with -mlong-branch which is no longer
needed. To remove this warning, recompile without -mlong-branch:
/opt/local/lib/apple-gcc42/gcc/powerpc-apple-darwin8/4.2.4/crt3.o
/opt/local/bin/g++-apple-4.2 -DHAVE_CONFIG_H -I../../include
-I../../include -DKRB5_DEPRECATED=1 -DKRB5_PRIVATE -I/opt/local/include
-pipe -Os -arch ppc -Wall -Wcast-align -Wshadow -pthread -c
test_cxx_gss.cpp
/opt/local/bin/g++-apple-4.2 -L../../lib -dynamic -pipe -Os -arch ppc
-Wl,-headerpad_max_install_names -arch ppc -Wl,-search_paths_first
-DHAVE_CONFIG_H -I../../include -I../../include -DKRB5_DEPRECATED=1
-DKRB5_PRIVATE -I/opt/local/include -pipe -Os -arch ppc -Wall -Wcast-align
-Wshadow -pthread -o test_cxx_gss test_cxx_gss.o -lcrypto -lintl -lresolv
ld: library not found for -lintl
collect2: ld returned 1 exit status
make[2]: *** [test_cxx_gss] Error 1
}}}
Actually `src/util/profile/testmod/Makefile`, `src/util/verto/Makefile`,
and `src/tests/misc/Makefile` seem to be the candidates, which I'll check
when `kerberos5` will be built again. Possibly `src/build-
tools/krb5-config` is the cause, it contains
{{{
45 LIBS='-lcrypto -lintl -lresolv '
}}}
because `src/build-tools/krb5-config.in` has
{{{
45 LIBS='@LIBS@'
}}}
So there must be some tool invocation to create `krb5-config` from
`krb5-config.in`…
--
Ticket URL: <https://trac.macports.org/ticket/63328>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list