Opened 5 years ago

Closed 5 years ago

Last modified 5 years ago

#53011 closed defect (fixed)

x86_64-elf-binutils @ 2.23.1: Doesn't build on macOS Sierra

Reported by: stevecheckoway (Stephen Checkoway) Owned by: nwg (Nathaniel W Griswold)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: mojca (Mojca Miklavec)
Port: x86_64-elf-binutils

Description

On macOS 10.12.1, the port fails to build in the step where it runs make info in build/gas/doc. I don't see obvious errors and --disable-werror is being passed to gas's configure script.

Making info in doc
restore=: && backupdir=".am$$" && \
	rm -rf $backupdir && mkdir $backupdir && \
	if (makeinfo --split-size=5000000 --split-size=5000000 --version) >/dev/null 2>&1; then \
	  for f in x86_64-elf-binutils.info x86_64-elf-binutils.info-[0-9] x86_64-elf-binutils.info-[0-9][0-9] x86_64-elf-binutils.i[0-9] x86_64-elf-binutils.i[0-9][0-9]; do \
	    if test -f $f; then mv $f $backupdir; restore=mv; else :; fi; \
	  done; \
	else :; fi && \
	if makeinfo --split-size=5000000 --split-size=5000000 -I "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_cross_x86_64-elf-binutils/x86_64-elf-binutils/work/binutils-2.23.1/binutils/doc" -I "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_cross_x86_64-elf-binutils/x86_64-elf-binutils/work/binutils-2.23.1/binutils/../libiberty" -I "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_cross_x86_64-elf-binutils/x86_64-elf-binutils/work/binutils-2.23.1/binutils/../bfd/doc" -I ../../bfd/doc  -I /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_cross_x86_64-elf-binutils/x86_64-elf-binutils/work/binutils-2.23.1/binutils/doc \
	 -o x86_64-elf-binutils.info `test -f 'x86_64-elf-binutils.texi' || echo '/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_cross_x86_64-elf-binutils/x86_64-elf-binutils/work/binutils-2.23.1/binutils/doc/'`x86_64-elf-binutils.texi; \
	then \
	  rc=0; \
	else \
	  rc=$?; \
	  $restore $backupdir/* `echo "./x86_64-elf-binutils.info" | sed 's|[^/]*$||'`; \
	fi; \
	rm -rf $backupdir; exit $rc
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_cross_x86_64-elf-binutils/x86_64-elf-binutils/work/binutils-2.23.1/binutils/doc/x86_64-elf-binutils.texi:4378: warning: @itemx should not begin @table
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_cross_x86_64-elf-binutils/x86_64-elf-binutils/work/binutils-2.23.1/binutils/doc/x86_64-elf-binutils.texi:4386: @itemx must follow @item
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_cross_x86_64-elf-binutils/x86_64-elf-binutils/work/binutils-2.23.1/binutils/doc/x86_64-elf-binutils.texi:4390: @itemx must follow @item
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_cross_x86_64-elf-binutils/x86_64-elf-binutils/work/binutils-2.23.1/binutils/doc/x86_64-elf-binutils.texi:4396: @itemx must follow @item
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_cross_x86_64-elf-binutils/x86_64-elf-binutils/work/binutils-2.23.1/binutils/doc/x86_64-elf-binutils.texi:4400: @itemx must follow @item
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_cross_x86_64-elf-binutils/x86_64-elf-binutils/work/binutils-2.23.1/binutils/doc/x86_64-elf-binutils.texi:4410: @itemx must follow @item
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_cross_x86_64-elf-binutils/x86_64-elf-binutils/work/binutils-2.23.1/binutils/doc/x86_64-elf-binutils.texi:2385: warning: node next `ranlib' in menu `readelf' and in sectioning `size' differ
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_cross_x86_64-elf-binutils/x86_64-elf-binutils/work/binutils-2.23.1/binutils/doc/x86_64-elf-binutils.texi:2463: warning: node prev `size' in menu `readelf' and in sectioning `ranlib' differ
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_cross_x86_64-elf-binutils/x86_64-elf-binutils/work/binutils-2.23.1/binutils/doc/x86_64-elf-binutils.texi:2687: warning: node next `strip' in menu `elfedit' and in sectioning `c++filt' differ
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_cross_x86_64-elf-binutils/x86_64-elf-binutils/work/binutils-2.23.1/binutils/doc/x86_64-elf-binutils.texi:3221: warning: node next `nlmconv' in menu `windres' and in sectioning `windmc' differ
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_cross_x86_64-elf-binutils/x86_64-elf-binutils/work/binutils-2.23.1/binutils/doc/x86_64-elf-binutils.texi:3326: warning: node next `windmc' in menu `dlltool' and in sectioning `windres' differ
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_cross_x86_64-elf-binutils/x86_64-elf-binutils/work/binutils-2.23.1/binutils/doc/x86_64-elf-binutils.texi:3326: warning: node prev `windmc' in menu `windres' and in sectioning `nlmconv' differ
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_cross_x86_64-elf-binutils/x86_64-elf-binutils/work/binutils-2.23.1/binutils/doc/x86_64-elf-binutils.texi:3487: warning: node next `windres' in menu `windmc' and in sectioning `dlltool' differ
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_cross_x86_64-elf-binutils/x86_64-elf-binutils/work/binutils-2.23.1/binutils/doc/x86_64-elf-binutils.texi:3487: warning: node prev `windres' in menu `nlmconv' and in sectioning `windmc' differ
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_cross_x86_64-elf-binutils/x86_64-elf-binutils/work/binutils-2.23.1/binutils/doc/x86_64-elf-binutils.texi:3681: warning: node next `dlltool' in menu `Common Options' and in sectioning `readelf' differ
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_cross_x86_64-elf-binutils/x86_64-elf-binutils/work/binutils-2.23.1/binutils/doc/x86_64-elf-binutils.texi:3681: warning: node prev `dlltool' in menu `windmc' and in sectioning `windres' differ
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_cross_x86_64-elf-binutils/x86_64-elf-binutils/work/binutils-2.23.1/binutils/doc/x86_64-elf-binutils.texi:4084: warning: node next `readelf' in menu `size' and in sectioning `elfedit' differ
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_cross_x86_64-elf-binutils/x86_64-elf-binutils/work/binutils-2.23.1/binutils/doc/x86_64-elf-binutils.texi:4084: warning: node prev `readelf' in menu `ranlib' and in sectioning `dlltool' differ
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_cross_x86_64-elf-binutils/x86_64-elf-binutils/work/binutils-2.23.1/binutils/doc/x86_64-elf-binutils.texi:4338: warning: node next `elfedit' in menu `c++filt' and in sectioning `Common Options' differ
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_cross_x86_64-elf-binutils/x86_64-elf-binutils/work/binutils-2.23.1/binutils/doc/x86_64-elf-binutils.texi:4338: warning: node prev `elfedit' in menu `strip' and in sectioning `readelf' differ
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_cross_x86_64-elf-binutils/x86_64-elf-binutils/work/binutils-2.23.1/binutils/doc/x86_64-elf-binutils.texi:4432: warning: node prev `Common Options' in menu `dlltool' and in sectioning `elfedit' differ
make[3]: *** [x86_64-elf-binutils.info] Error 1

It was easy to update the port to 2.27 but apparently make install is installing outside the directory.

--->  Staging x86_64-elf-binutils into destroot
Warning: x86_64-elf-binutils installs files outside the common directory structure.

I didn't investigate that, but I imagine that would need to be fixed to consider updating. Nevertheless, I've attached a (totally trivial) diff to the Portfile to update to 2.27.

Attachments (1)

Portfile.diff (605 bytes) - added by stevecheckoway (Stephen Checkoway) 5 years ago.

Download all attachments as: .zip

Change History (4)

Changed 5 years ago by stevecheckoway (Stephen Checkoway)

Attachment: Portfile.diff added

comment:1 Changed 5 years ago by mf2k (Frank Schima)

Cc: nategriswold@… removed
Owner: set to nategriswold@…
Status: newassigned

Thanks. Comments on your patch:

  • Please keep the rmd160 checksum. We like to have at least 2 to verify integrity.

comment:2 Changed 5 years ago by stevecheckoway (Stephen Checkoway)

I'm happy to keep the rmd160 hash, but note that, cryptographically speaking, this doesn't actually give much additional security. See Joux's Multicollisions in Iterated Hash Functions. Application to Cascaded Constructions.

A natural construction to build large hash values is to concatenate several smaller hashes. For example, given two hash functions F and G, it seems reasonable given a message M to form the large hash value (F(M)G(M)). In this construction, F and G can either be two completely different hash functions or two slightly different instances of the same hash function. If F and G are good iterated hash functions with no attack better than the generic birthday paradox attack, we claim that the hash function FG obtained by concatenating F and G is not really more secure that F or G by itself. Moreover, this result applies both to collision resistance, preimage resistance and second preimage resistance.

We'd be better off just using SHA-512. But really, SHA-256 is sufficient.

comment:3 Changed 5 years ago by mojca (Mojca Miklavec)

Cc: mojca added
Resolution: fixed
Status: assignedclosed
Version: 2.3.5

See also #51728 and #51935.

The port was upgraded to the latest version in 9451379b. I didn't notice this ticket back then, but the package built successfully on all our buildbots from 10.6 up to 10.12. I assume the problem was fixed. If I'm wrong, please reopen the ticket.

Last edited 5 years ago by mojca (Mojca Miklavec) (previous) (diff)
Note: See TracTickets for help on using tickets.