Opened 2 days ago

Last modified 5 hours ago

#70772 assigned defect

nmap @7.95 cannot compile on macOS 15 Sequoia

Reported by: SaintBol Owned by: ghosthound
Priority: Normal Milestone:
Component: ports Version: 2.10.1
Keywords: sequoia Cc: danielluke (Daniel J. Luke), ivanobom
Port: nmap

Description (last modified by ryandesign (Ryan Carsten Schmidt))

Using Xcode clang compiler (Command Line Tools not present): cannot compile the port on macOS 15 Sequoia. Compiling with openssl installed.

Attached main.log

Error is a bit obscure («command failed»):

:info:build Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_nmap/nmap/work/nmap-7.95" && /usr/bin/make -j16 -w all 
:info:build Exit code: 2
:error:build Failed to build nmap: command execution failed
:debug:build Error code: CHILDSTATUS 29751 2
:debug:build Backtrace: command execution failed
:debug:build     while executing
:debug:build "system {*}$notty {*}$callback {*}$nice $fullcmdstring"
:debug:build     invoked from within
:debug:build "command_exec -callback portprogress::target_progress_callback build"
:debug:build     (procedure "portbuild::build_main" line 10)
:debug:build     invoked from within
:debug:build "$procedure $targetname"

Therefore I tried manually in the build directory just after the error:

% cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_nmap/nmap/work/nmap-7.95"

% /usr/bin/make -w all
make: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_nmap/nmap/work/nmap-7.95'
Compiling libnetutil
cd libnetutil && /Applications/Xcode.app/Contents/Developer/usr/bin/make
make[1]: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_nmap/nmap/work/nmap-7.95/libnetutil'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_nmap/nmap/work/nmap-7.95/libnetutil'
Compiling liblinear
make[1]: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_nmap/nmap/work/nmap-7.95/liblinear'
make[1]: `liblinear.a' is up to date.
make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_nmap/nmap/work/nmap-7.95/liblinear'
Compiling libpcre
make[1]: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_nmap/nmap/work/nmap-7.95/libpcre'
CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh '/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_nmap/nmap/work/nmap-7.95/libpcre/missing' aclocal-1.16 -I m4
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_nmap/nmap/work/nmap-7.95/libpcre/missing: line 81: aclocal-1.16: command not found
WARNING: 'aclocal-1.16' is missing on your system.
         You should only need it if you modified 'acinclude.m4' or
         'configure.ac' or m4 files included by 'configure.ac'.
         The 'aclocal' program is part of the GNU Automake package:
         <https://www.gnu.org/software/automake>
         It also requires GNU Autoconf, GNU m4 and Perl in order to run:
         <https://www.gnu.org/software/autoconf>
         <https://www.gnu.org/software/m4/>
         <https://www.perl.org/>
make[1]: *** [aclocal.m4] Error 127
make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_nmap/nmap/work/nmap-7.95/libpcre'
make: *** [build-pcre] Error 2
make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_nmap/nmap/work/nmap-7.95'

Automake and Autoconf are installed:

automake                       @1.17           devel/automake
autoconf                       @2.72           devel/autoconf

Attachments (1)

nmap-main.log (389.7 KB) - added by SaintBol 2 days ago.
mail.log

Download all attachments as: .zip

Change History (8)

Changed 2 days ago by SaintBol

Attachment: nmap-main.log added

mail.log

comment:1 Changed 2 days ago by SaintBol

It complains about aclocal-1.16 not being there, whereas aclocal-1.17 is actually there...

% port content automake | egrep 'aclocal-.*[0-9]{2}$'

/opt/local/bin/aclocal-1.17

Version 0, edited 2 days ago by SaintBol (next)

comment:2 Changed 2 days ago by danielluke (Daniel J. Luke)

FWIW, I just upgraded and build nmap locally without seeing this issue. I'll look some more once my normal set of installed ports finishes installing.

comment:3 Changed 2 days ago by ryandesign (Ryan Carsten Schmidt)

Description: modified (diff)
Keywords: sequoia added; Sequoia nmap removed

comment:4 in reply to:  description ; Changed 2 days ago by ryandesign (Ryan Carsten Schmidt)

Replying to SaintBol:

Therefore I tried manually in the build directory just after the error:

We don't recommend this as a troubleshooting step. Running commands in the MacPorts work directory manually omits the sandboxing, environment variables, and arguments that MacPorts uses, so your results from building manually are not necessarily applicable.

Automake and Autoconf are installed:

automake                       @1.17           devel/automake
autoconf                       @2.72           devel/autoconf

This looks like output from port list. port list doesn't do what you think it does; see wiki:FAQ#portlist. Use port installed instead.

Replying to SaintBol:

It complains about aclocal-1.16 not being there, whereas aclocal-1.17 is actually there...

% port content automake | egrep 'aclocal-.*[0-9]{2}$'
  /opt/local/bin/aclocal-1.17

Many ports look for specific versions of automake, such as 1.16 which was the latest version for a long time, and need to be patched when we update to a new version of automake, as we recently did in #70408. Before that, I fixed all the references to automake 1.16 I could find, but I didn't do nmap.

comment:5 Changed 2 days ago by ryandesign (Ryan Carsten Schmidt)

Like Daniel, I cannot reproduce this problem, but I am on macOS 12, and you are on macOS 15 which we already know has a number of problems.

comment:6 Changed 41 hours ago by jmroot (Joshua Root)

Cc: danielluke ivanobom added
Owner: set to ghosthound
Status: newassigned

Has duplicate #70784.

comment:7 in reply to:  4 Changed 5 hours ago by slewsys (Andrew L. Moore)

Replying to ryandesign:

Many ports look for specific versions of automake, such as 1.16 which was the latest version for a long time, and need to be patched when we update to a new version of automake, as we recently did in #70408. Before that, I fixed all the references to automake 1.16 I could find, but I didn't do nmap.

A strategy that works well for me is to exclude all generated files from the repository by putting them in .gitignore, and then providing a robust autogen.sh. I'm not sure if there's a way to implement this for an arbitrary port, though.

Note: See TracTickets for help on using tickets.