Opened 6 years ago

Closed 6 years ago

#56924 closed defect (fixed)

pango @1.42.3 does not build on PPC Tiger, Mac OS X 10.4.11, because something goes wrong bootstrapping makefile fragments

Reported by: ballapete (Peter "Pete" Dyballa) Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.5.3
Keywords: tiger Cc:
Port: pango

Description

config.status: creating win32/vs14/Makefile
config.status: creating win32/vs15/Makefile
config.status: creating pango.pc
config.status: creating pangowin32.pc
config.status: creating pangoft2.pc
config.status: creating pangoxft.pc
config.status: creating pangocairo.pc
config.status: creating config.h.win32
config.status: creating config.h
config.status: executing depfiles commands
config.status: error: in `/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_x11_pango/pango/work/pango-1.42.3':
config.status: error: Something went wrong bootstrapping makefile fragments
    for automatic dependency tracking.  Try re-running configure with the
    '--disable-dependency-tracking' option to at least be able to build
    the package (albeit without support for automatic dependency tracking).
See `config.log' for more details
Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_x11_pango/pango/work/pango-1.42.3" && ./configure --prefix=/opt/local --enable-static --disable-silent-rules --x-include=/opt/local/include --x-lib=/opt/local/lib --enable-introspection 
Exit code: 1
Error: Failed to configure pango, consult /opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_x11_pango/pango/work/pango-1.42.3/config.log
Error: Failed to configure pango: configure failure: command execution failed
DEBUG: Error code: NONE

config.log contains this line:

config.status:1636: cd pango       && sed -e '/# am--include-marker/d' Makefile         | make -f - am--depfiles
/opt/local/share/gobject-introspection-1.0/Makefile.introspection:158: *** Need to define Pango_1_0_gir_LIBS or Pango_1_0_gir_PROGRAM.  Stop.
config.status:1641: $? = 2

So it's obvious that on Tiger Pango needs to be configured with the additional option --enable-debug=no instead of --enable-introspection.

Attachments (2)

main.log (23.7 KB) - added by ballapete (Peter "Pete" Dyballa) 6 years ago.
Main.log from PPC Tiger
config.log (59.0 KB) - added by ballapete (Peter "Pete" Dyballa) 6 years ago.
Config.log from configuration attempt on PPC Tiger

Download all attachments as: .zip

Change History (7)

Changed 6 years ago by ballapete (Peter "Pete" Dyballa)

Attachment: main.log added

Main.log from PPC Tiger

Changed 6 years ago by ballapete (Peter "Pete" Dyballa)

Attachment: config.log added

Config.log from configuration attempt on PPC Tiger

comment:1 Changed 6 years ago by ballapete (Peter "Pete" Dyballa)

It's sufficient to change in Portfile this line from yes to no:

     54 gobject_introspection   no

comment:2 Changed 6 years ago by jmroot (Joshua Root)

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

comment:3 Changed 6 years ago by ballapete (Peter "Pete" Dyballa)

In my original report I meant of course to use --enable-introspection=no instead of using --enable-introspection.

comment:4 Changed 6 years ago by ryandesign (Ryan Carsten Schmidt)

The config.log says configure failed because:

/opt/local/share/gobject-introspection-1.0/Makefile.introspection:158: *** Need to define Pango_1_0_gir_LIBS or Pango_1_0_gir_PROGRAM.  Stop.

We've seen this error before at least; it happens because Tiger ships with GNU make 3.80, but gobject introspection requires 3.81. The last time this came up for pango was #35203, and we fixed it by having pango use the gmake port instead, on Tiger. Later, that was abstracted out into the gobject introspection 1.0 portgroup so that any port that needs gobject introspection can include it.

The new problem now is that pango seems to be trying to use make during the configure script, in this fragment of aclocal.m4:

    AM_RUN_LOG([cd "$am_dirpart" \
      && sed -e '/# am--include-marker/d' "$am_filepart" \
        | $MAKE -f - am--depfiles]) || am_rc=$?

It looks like this new aclocal.m4 was generated by aclocal 1.16.1, whereas pango 1.42.2's aclocal.m4 was generated by aclocal 1.15.1. This change wasn't mentioned in the pango NEWS or ChangeLog files; I guess they didn't think it was important.

On Tiger, the gobject introspection portgroup only knows to set build.cmd to the gmake port's gmake, which only affects the build phase, not the configure phase.

So it looks like in order to support Makefiles that use gobject introspection that were generated by automake 1.16 and later on Tiger, we need to set the MAKE variable at configure time too, in the gobject introspection 1.0 portgroup.

comment:5 Changed 6 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: assignedclosed

In cb45ca8440bf9f248307bcbd1419fa12df5bf612/macports-ports (master):

gobject_introspection-1.0.tcl: Set MAKE on Tiger

Fixes build failure of ports that use gobject introspection and automake
1.16 or later, including ports like pango that ship with Makefiles that
were generated with automake 1.16 or later, and ports like libgsf that
use autoreconf, since MacPorts automake is now 1.16.x.

Closes: #56346
Closes: #56924

Note: See TracTickets for help on using tickets.