pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pkg/58800: LibreSSL 4.0 fails to build on Solaris 10 sparc



>Number:         58800
>Category:       pkg
>Synopsis:       LibreSSL 4.0 fails to build on Solaris 10 sparc
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Nov 01 06:40:00 +0000 2024
>Originator:     Hiroshi Hakoyama
>Release:        current pkgsrc
>Organization:
Institute of Freshwater Biology, Nagano University
>Environment:
SunOS ec21 5.10 Generic_147147-26 sun4u sparc SUNW,Sun-Blade-1000
>Description:
LibreSSL 4.0 fails to build on Solaris 10 sparc.

The build process fails to include two header files that contain the architecture dependent code.

./crypto/arch/sparc64/crypto_arch.h
./crypto/bn/arch/sparc64/bn_arch.h

# make
=> Bootstrap dependency digest>=20211023: found digest-20220214
=> Bootstrap dependency fetch-[0-9]*: found fetch-1.9nb2
=> Checksum BLAKE2s OK for libressl-4.0.0.tar.gz
=> Checksum SHA512 OK for libressl-4.0.0.tar.gz
===> Installing dependencies for libressl-4.0.0
=> Tool dependency libtool-base>=2.4.2nb9: found libtool-base-2.4.7nb1
=> Tool dependency nbpatch-[0-9]*: found nbpatch-20151107
=> Tool dependency cwrappers>=20150314: found cwrappers-20220403
===> Invoking ``all'' after barrier for libressl-4.0.0
===> Skipping vulnerability checks.
WARNING: No /usr/pkg/pkgdb/pkg-vulnerabilities file found.
WARNING: To fix run: `/usr/pkg/sbin/pkg_admin -K /usr/pkg/pkgdb fetch-pkg-vulnerabilities'.
===> Overriding tools for libressl-4.0.0
===> Extracting for libressl-4.0.0
===> Patching for libressl-4.0.0
=> Applying pkgsrc patches for libressl-4.0.0
=> Verifying /usr/pkgsrc/security/libressl/patches/patch-configure
=> Applying pkgsrc patch /usr/pkgsrc/security/libressl/patches/patch-configure
Hmm...  Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|$NetBSD: patch-configure,v 1.1 2018/02/02 13:46:00 jperkin Exp $
|
|Leave pkgsrc to handle security features.
|
|--- configure.orig     2017-05-01 04:09:13.000000000 +0000
|+++ configure
--------------------------
Patching file configure using Plan A...
Hunk #1 succeeded at 12917 (offset 159 lines).
done
===> Creating toolchain wrappers for libressl-4.0.0
===> Configuring for libressl-4.0.0
=> Modifying GNU configure scripts to avoid --recheck
=> Replacing config-guess with pkgsrc versions
=> Replacing config-sub with pkgsrc versions
=> Replacing install-sh with pkgsrc version
=> Adding run-time search paths to pkg-config files.
INFO: [subst.mk:_pkgconfig] Nothing changed in "openssl.pc.in".
checking build system type... sparc-sun-solaris2.10
checking host system type... sparc-sun-solaris2.10
checking for a BSD-compatible install... /usr/pkg/bin/bsdinstall -c -o root -g root
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /opt/csw/bin/gmkdir -p
checking for gawk... /usr/pkg/bin/nawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking for sparc-sun-solaris2.10-cc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether gcc accepts -g... yes
checking for gcc option to enable C11 features... none needed
checking whether gcc understands -c and -o together... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of gcc... gcc3
checking how to print strings... printf
checking for a sed that does not truncate output... /usr/pkg/bin/nbsed
checking for grep that handles long lines and -e... (cached) /usr/sfw/bin/ggrep
checking for egrep... (cached) /usr/sfw/bin/ggrep -E
checking for fgrep... /usr/sfw/bin/ggrep -F
checking for ld used by gcc... /usr/ccs/bin/ld
checking if the linker (/usr/ccs/bin/ld) is GNU ld... no
checking for BSD- or MS-compatible name lister (nm)... /usr/ccs/bin/nm -p
checking the name lister (/usr/ccs/bin/nm -p) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 786240
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert sparc-sun-solaris2.10 file names to sparc-sun-solaris2.10 format... func_convert_file_noop
checking how to convert sparc-sun-solaris2.10 file names to toolchain format... func_convert_file_noop
checking for /usr/ccs/bin/ld option to reload object files... -r
checking for sparc-sun-solaris2.10-objdump... no
checking for objdump... no
checking how to recognize dependent libraries... pass_all
checking for sparc-sun-solaris2.10-dlltool... no
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for sparc-sun-solaris2.10-ar... no
checking for ar... ar
checking for archiver @FILE support... no
checking for sparc-sun-solaris2.10-strip... no
checking for strip... strip
checking for sparc-sun-solaris2.10-ranlib... no
checking for ranlib... ranlib
checking command to parse /usr/ccs/bin/nm -p output from gcc object... ok
checking for sysroot... no
checking for sparc-sun-solaris2.10-mt... no
checking for mt... mt
checking if mt is a manifest tool... no
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... conftest*: No such file or directory
yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/ccs/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... conftest*: No such file or directory
no
checking dynamic linker characteristics... solaris2.10 ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... no
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking size of time_t... 4
 ** Warning, this system is unable to represent times past 2038
 ** It will behave incorrectly when handling valid RFC5280 dates
checking if gcc supports "-fno-strict-overflow"... no
checking whether C compiler accepts -Werror... no
checking whether to add -D_FORTIFY_SOURCE=2 to CPPFLAGS... no
checking if /usr/ccs/bin/ld supports "-Wl,-z,relro"... no
checking if /usr/ccs/bin/ld supports "-Wl,-z,now"... no
checking if gcc supports "-fstack-protector-strong"... no
checking if gcc supports "-fstack-protector-all"... no
configure: WARNING: compiler does not appear to support stack protection
checking if gcc supports "-fcf-protection=full"... no
checking whether AS supports .note.GNU-stack... no
checking dependency style of gcc... gcc3
checking if compiling with clang... no
checking whether CC supports -Wno-pointer-sign... yes
checking for symlink... yes
checking for funopen... no
checking for endian.h... no
checking for machine/endian.h... no
checking for err.h... no
checking for readpassphrase.h... no
checking for netinet/ip.h... yes
checking for sys/types.h... (cached) yes
checking for netinet/in.h... yes
checking for arpa/nameser.h... yes
checking for netdb.h... yes
checking for resolv.h... yes
checking for asprintf... yes
checking for freezero... no
checking for memmem... no
checking for readpassphrase... no
checking for reallocarray... no
checking for recallocarray... no
checking for strcasecmp... yes
checking for strlcat... yes
checking for strlcpy... yes
checking for strndup... no
checking for strnlen... no
checking for strsep... no
checking for strtonum... no
checking for timegm... no
checking for _mkgmtime... no
checking for timespecsub... no
checking for getopt... yes
checking for getprogname... no
checking for syslog... yes
checking for syslog_r... no
checking for getpagesize... yes
checking for accept4... no
checking for pipe2... no
checking for pledge... no
checking for poll... yes
checking for socketpair... no
checking for arc4random... no
checking for arc4random_buf... no
checking for arc4random_uniform... no
checking for explicit_bzero... no
checking for getauxval... no
checking for getentropy... no
checking for timingsafe_bcmp... no
checking for timingsafe_memcmp... no
checking for getauxval... (cached) no
checking for library containing dl_iterate_phdr... -ldl
checking for dl_iterate_phdr... yes
checking for library containing pthread_once... none required
checking for library containing pthread_mutex_lock... none required
checking for library containing clock_gettime... -lrt
checking for clock_gettime... yes
checking whether va_copy exists... yes
checking whether __va_copy exists... yes
checking for library containing b64_ntop... -lresolv
checking for library containing __b64_ntop... none required
checking for b64_ntop... yes
checking if .gnu.warning accepts long strings... no
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating include/Makefile
config.status: creating include/openssl/Makefile
config.status: creating crypto/Makefile
config.status: creating ssl/Makefile
config.status: creating tls/Makefile
config.status: creating tests/Makefile
config.status: creating apps/Makefile
config.status: creating apps/ocspcheck/Makefile
config.status: creating apps/openssl/Makefile
config.status: creating apps/nc/Makefile
config.status: creating man/Makefile
config.status: creating libcrypto.pc
config.status: creating libssl.pc
config.status: creating libtls.pc
config.status: creating openssl.pc
config.status: executing depfiles commands
config.status: executing libtool commands
libtoolT: No such file or directory
=> Modifying libtool scripts to use pkgsrc libtool
=> Modifying libtool scripts to use pkgsrc depcomp
===> Building for libressl-4.0.0
Making all in include
Making all in openssl
echo "generating opensslconf.h ..."
generating opensslconf.h ...
/usr/pkg/bin/bmake  all-am
echo "generating opensslconf.h ..."
generating opensslconf.h ...
Making all in crypto
echo "generating crypto_portable.sym ..."
generating crypto_portable.sym ...
cp ../crypto/crypto.sym crypto_portable.sym
chmod u+w crypto_portable.sym
/usr/pkg/bin/bmake  all-am
  CC       libcrypto_la-cpt_err.lo
  CC       libcrypto_la-cryptlib.lo
  CC       libcrypto_la-crypto_ex_data.lo
  CC       libcrypto_la-crypto_init.lo
  CC       libcrypto_la-crypto_lock.lo
In file included from crypto_lock.c:22:0:
crypto_internal.h:23:25: fatal error: crypto_arch.h: No such file or directory
compilation terminated.
*** Error code 1

Stop.
bmake[2]: stopped making "all-am" in /usr/pkgsrc/security/libressl/work/libressl-4.0.0/crypto
*** Error code 1

Stop.
bmake[1]: stopped making "all" in /usr/pkgsrc/security/libressl/work/libressl-4.0.0/crypto
*** Error code 1

Stop.
bmake: stopped making "all" in /usr/pkgsrc/security/libressl/work/libressl-4.0.0
*** Error code 1

Stop.
bmake[1]: stopped making "all" in /usr/pkgsrc/security/libressl
*** Error code 1

Stop.
bmake: stopped making "all" in /usr/pkgsrc/security/libressl
>How-To-Repeat:
# cd /usr/pkgsrc/security/libressl
# make
>Fix:
Workaround:
Copy crypto_arch.h and bn_arch.h to the crypto directory by hand.




Home | Main Index | Thread Index | Old Index