Bug 280580 - security/nss cannot build if mpich installed
Summary: security/nss cannot build if mpich installed
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: Robert Clausecker
URL: https://cgit.freebsd.org/ports/commit...
Keywords:
Depends on:
Blocks:
 
Reported: 2024-08-02 21:49 UTC by alt2600
Modified: 2025-02-24 17:45 UTC (History)
7 users (show)

See Also:
bugzilla: maintainer-feedback? (gecko)


Attachments
Patch to force mpi.h from nss to be found first (1.83 KB, patch)
2024-08-10 12:06 UTC, Laurent Chardon
no flags Details | Diff
yet-another way to build successfully (413 bytes, patch)
2024-09-19 06:47 UTC, Mamoru IWAKI
no flags Details | Diff
ports tree applyable variant of "another way" patch (509 bytes, patch)
2024-10-26 19:46 UTC, alt2600
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description alt2600 2024-08-02 21:49:46 UTC
amd64 live building 14.1p2

found this happening in the past, with the same errors I found, don't think this was an issue in 3.101 at least didn't seem to come up for me outside of maybe that october 2023 commit in the link below. temporarily removing mpich and nss updated fine. not sure how to resolve.

https://cgit.freebsd.org/ports/commit/?id=7fbe5fd00a138a8198b5093a5cde96b938db48ef


gmake[5]: Leaving directory '/usr/ports/security/nss/work/nss-3.102/nss/lib/libpkix/pkix/util'
cc -B/usr/local/bin -o FreeBSD14.1_OPT.OBJ/pkix_pl_socket.o -c -std=c99 -O2 -pipe -march=westmere  -I/usr/local/include/nspr -Wno-error=unused-function -fstack-protector-strong -fno-strict-aliasing   -fPIC -Wall -Wno-switch -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK -Wall -Wshadow -Qunused-arguments -Wno-parentheses-equality -Wno-array-bounds -Wno-unevaluated-expression -DNSS_NO_GCC48 -DXP_UNIX -UDEBUG -DNDEBUG -D_THREAD_SAFE -D_REENTRANT -DNSS_DISABLE_SSE3 -DNSS_NO_INIT_SUPPORT -DUSE_UTIL_DIRECTLY -DNO_NSPR_10_SUPPORT -DSSL_DISABLE_DEPRECATED_CIPHER_SUITE_NAMES -I/usr/local/include -I./../dist/FreeBSD14.1_OPT.OBJ/include -I./../dist/public/ -I./../dist/private/   -fPIC -Wall -Wno-switch -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK -Wall -Wshadow -Qunused-arguments -Wno-parentheses-equality -Wno-array-bounds -Wno-unevaluated-expression -DNSS_NO_GCC48 -DXP_UNIX -UDEBUG -DNDEBUG -D_THREAD_SAFE -D_REENTRANT -DNSS_DISABLE_SSE3 -DNSS_NO_INIT_SUPPORT -DUSE_UTIL_DIRECTLY -DNO_NSPR_10_SUPPORT -DSSL_DISABLE_DEPRECATED_CIPHER_SUITE_NAMES -I/usr/local/include -I./../dist/FreeBSD14.1_OPT.OBJ/include -I./../dist/public/ -I./../dist/private/   -fPIC -Wall -Wno-switch -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK -Wall -Wshadow -Qunused-arguments -Wno-parentheses-equality -Wno-array-bounds -Wno-unevaluated-expression -DNSS_NO_GCC48 -DXP_UNIX -UDEBUG -DNDEBUG -D_THREAD_SAFE -D_REENTRANT -DNSS_DISABLE_SSE3 -DNSS_NO_INIT_SUPPORT -DUSE_UTIL_DIRECTLY -DNO_NSPR_10_SUPPORT -DSSL_DISABLE_DEPRECATED_CIPHER_SUITE_NAMES -I/usr/local/include -I../../dist/FreeBSD14.1_OPT.OBJ/include -I../../dist/public/ -I../../dist/private/   -fPIC -Wall -Wno-switch -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK -Wall -Wshadow -Qunused-arguments -Wno-parentheses-equality -Wno-array-bounds -Wno-unevaluated-expression -DNSS_NO_GCC48 -DXP_UNIX -UDEBUG -DNDEBUG -D_THREAD_SAFE -D_REENTRANT -DNSS_DISABLE_SSE3 -DNSS_NO_INIT_SUPPORT -DUSE_UTIL_DIRECTLY -DNO_NSPR_10_SUPPORT -DSSL_DISABLE_DEPRECATED_CIPHER_SUITE_NAMES -I/usr/local/include -I../../../dist/FreeBSD14.1_OPT.OBJ/include -I../../../dist/public/ -I../../../dist/private/   -fPIC -Wall -Wno-switch -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK -Wall -Wshadow -Qunused-arguments -Wno-parentheses-equality -Wno-array-bounds -Wno-unevaluated-expression -DNSS_NO_GCC48 -DXP_UNIX -UDEBUG -DNDEBUG -D_THREAD_SAFE -D_REENTRANT -DNSS_DISABLE_SSE3 -DNSS_NO_INIT_SUPPORT -DUSE_UTIL_DIRECTLY -DNO_NSPR_10_SUPPORT -DSSL_DISABLE_DEPRECATED_CIPHER_SUITE_NAMES -I/usr/local/include -I../../../../dist/FreeBSD14.1_OPT.OBJ/include -I../../../../dist/public/ -I../../../../dist/private/   -fPIC -Wall -Wno-switch -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK -Wall -Wshadow -Qunused-arguments -Wno-parentheses-equality -Wno-array-bounds -Wno-unevaluated-expression -DNSS_NO_GCC48 -DXP_UNIX -DSHLIB_SUFFIX=\"so\" -DSHLIB_PREFIX=\"lib\" -DSHLIB_VERSION=\"\" -UDEBUG -DNDEBUG -D_THREAD_SAFE -D_REENTRANT -DNSS_DISABLE_SSE3 -DNSS_NO_INIT_SUPPORT -DUSE_UTIL_DIRECTLY -DNO_NSPR_10_SUPPORT -DSSL_DISABLE_DEPRECATED_CIPHER_SUITE_NAMES -I/usr/local/include -I../../../../../dist/FreeBSD14.1_OPT.OBJ/include -I../../../../../dist/public/nss -I../../../../../dist/private/nss  pkix_pl_socket.c
In file included from sha_fast.c:11:
In file included from ./sha_fast.h:9:
./blapii.h:84:26: error: unknown type name 'mp_int'; did you mean 'u_int'?
   84 | SECStatus generate_prime(mp_int *prime, int primeLen);
      |                          ^~~~~~
      |                          u_int
/usr/include/sys/types.h:53:22: note: 'u_int' declared here
   53 | typedef unsigned int    u_int;
      |                         ^
1 error generated.
gmake[4]: *** [../../coreconf/rules.mk:292: FreeBSD14.1_OPT.OBJ/FreeBSD_SINGLE_SHLIB/sha_fast.o] Error 1
gmake[4]: Leaving directory '/usr/ports/security/nss/work/nss-3.102/nss/lib/freebl'
gmake[3]: *** [Makefile:712: freebl_FREEBL_BUILD_SINGLE_SHLIB] Error 2
gmake[3]: Leaving directory '/usr/ports/security/nss/work/nss-3.102/nss/lib/freebl'
gmake[2]: *** [../coreconf/rules.mk:44: freebl] Error 2
Comment 1 Laurent Chardon 2024-08-10 12:06:32 UTC
Created attachment 252652 [details]
Patch to force mpi.h from nss to be found first

Can you check if this fixes your problem?
Comment 2 alt2600 2024-08-11 19:59:12 UTC
minor white space errors with the patch when applied

/usr/ports]$ sudo git apply ~userman/Desktop/Patches/nss/0001-security-nss-Fix-build-failure-when-mpich-is-install.patch 
Password:
/home/userman/Desktop/Patches/nss/0001-security-nss-Fix-build-failure-when-mpich-is-install.patch:46: trailing whitespace.
 
/home/userman/Desktop/Patches/nss/0001-security-nss-Fix-build-failure-when-mpich-is-install.patch:47: trailing whitespace.

but it builds and stages, no orphans, so I think this does resolve it. didn't install, but no reason to think this won't be fine.

/usr/ports/security/nss]$ sudo make check-orphans
====> Checking for pkg-plist issues (check-plist)
===> Parsing plist
===> Checking for items in STAGEDIR missing from pkg-plist
===> Checking for items in pkg-plist which are not in STAGEDIR
===> No pkg-plist issues found (check-plist)

thanks!
Comment 3 Mamoru IWAKI 2024-08-20 18:59:02 UTC
Hi

I've tried the proposed patch on stable/14-n268482-46c4fc50d301-dirty
with mpich-4.2.2 installed.
The patch works for me too, for the following version.

  PORTNAME=       nss
  PORTVERSION=    3.103

Thank you
Comment 4 Mamoru IWAKI 2024-09-19 06:47:12 UTC
Created attachment 253653 [details]
yet-another way to build successfully

Hi

'security/nss: update to 3.104' still has the same build-time issue when mpich is installed. 
The same workaround still work well. 
In addition, the '-quote' trick in INCLUDE directive can placed in the top makefile of this port, as I attached with this comment. 
Please check it out. 

Cheers
Comment 5 John Hein 2024-10-26 02:27:13 UTC
Comment on attachment 253653 [details]
yet-another way to build successfully

+1. This patch works well - ensures that the bundled mpi (mpi = Multi-precision Integer) header in the work/ tree is intentionally used rather than unintentionally using installed mpich header (mpi = Message-Passing Interface).
Comment 6 alt2600 2024-10-26 19:46:16 UTC
Created attachment 254543 [details]
ports tree applyable variant of "another way" patch

the first patch no longer seems to work, it applies but breaks other patches in ./files from applying so build completely breaks before configure. the alternate patch method posted works, but wasn't prefixed against ports tree, so just cleaned that up and posted this to directly apply. I hope this gets fixed, it tripped me up last night, and broke firefox so had to do the manually method of removing mpich temporarily so i could look into it again this morning. tweaking the ports Makefile rather then patching source files seems to be a more direct and maintainable way to fix this hopefully permanently. I hope this makes it into the tree.
Comment 7 John Hein 2025-02-24 17:18:40 UTC
The latest patch attached in this bug was applied in ports ba18dc61ff94a5af7381080dc58a5a37d17d1da9

But the commit did not acknowledge this bug 280580, so no entry referencing that commit was automatically attached to this bug.

Since the patch in this bug has been applied, please close marking that the patch was applied.  Committer cc'd.  Thanks.
Comment 8 Robert Clausecker freebsd_committer freebsd_triage 2025-02-24 17:45:59 UTC
Thanks.  I forgot to link this PR.

Committed in ports ba18dc61ff94a5af7381080dc58a5a37d17d1da9.