[MacPorts] #54124: guile @2.2.2 won't build on PPC Leopard, Mac OS X 10.5.8, because is uses non-existing /lib/cpp as C preprocessor

MacPorts noreply at macports.org
Tue Sep 8 22:14:40 UTC 2020


#54124: guile @2.2.2 won't build on PPC Leopard, Mac OS X 10.5.8, because is uses
non-existing /lib/cpp as C preprocessor
------------------------+---------------------------------------
  Reporter:  ballapete  |      Owner:  kencu
      Type:  defect     |     Status:  closed
  Priority:  Normal     |  Milestone:
 Component:  ports      |    Version:  2.4.1
Resolution:  fixed      |   Keywords:  tiger leopard snowleopard
      Port:  guile      |
------------------------+---------------------------------------

Comment (by ballapete):

 Why are the pre-built GO files rebuilt?

 The toplevel `Makefile`, in `${worksrcpath}`, has around line # 1700:

 {{{
 SUBDIRS = \
         lib                                     \
         meta                                    \
         libguile                                \
         bootstrap                               \
         module                                  \
         guile-readline                          \
         examples                                \
         emacs                                   \
         test-suite                              \
         benchmark-suite                         \
         gc-benchmarks                           \
         am                                      \
         doc
 }}}

 So there is a strict order in which `Guile` is being built. In target
 `$(am__recursive_targets):` we find this recipe around line # 1870:

 {{{
         for subdir in $$list; do \
           echo "Making $$target in $$subdir"; \
           if test "$$subdir" = "."; then \
             dot_seen=yes; \
             local_target="$$target-am"; \
           else \
             local_target="$$target"; \
           fi; \
           ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
 }}}

 Make echos what it will perform in which sub-directory and then does
 perform this, i.e. a `make all`. So we enter `${worksrcpath}/bootstrap`.
 The `Makefile` here has:

 (((
 all: all-am
 }}}

 `=>`

 (((
 all-am: Makefile $(DATA)
 }}}

 where DATA is defined as:

 {{{
 DATA = $(nobase_noinst_DATA)
 }}}

 `=>`

 (((
 nobase_noinst_DATA = $(GOBJECTS)
 }}}

 which are

 {{{
 GOBJECTS = $(SOURCES:%.scm=%.go)
 }}}

 The SOURCES are 93 SCM files. More important is the compilation rule from
 SCM to GO: `%.scm=%.go` which is:

 {{{
 .scm.go:
         $(AM_V_GUILEC)GUILE_AUTO_COMPILE=0                      \
         $(top_builddir)/meta/build-env                          \
         guild compile --target="$(GUILE_TARGET)"                \
           $(GUILE_WARNINGS) $(GUILE_OPTIMIZATIONS)              \
           -L "$(abs_top_srcdir)/module"                         \
           -L "$(abs_top_srcdir)/guile-readline"                 \
           -o "$@" "$<"
 }}}

 and appears as, just one example for the first source SCM file:

 {{{
 GUILE_AUTO_COMPILE=0                    \
         ../meta/build-env                               \
         guild compile --target="powerpc-apple-darwin9"                \
            -O1              \
           -L
 "/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_guile/guile/work/guile-2.2.7/module"
 \
           -L
 "/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_guile/guile/work/guile-2.2.7
 /guile-readline"                 \
           -o "ice-9/eval.go" "../module/ice-9/eval.scm"
 wrote `ice-9/eval.go'
 }}}

 `../meta/build-env` sets for example `${worksrcpath}/libguile` as leading
 element in `$PATH`. This directory contains shell scripts `guild` and
 `guile`.


 For me these 93 bootstrap GO file are built unconditionally. (I am going
 to check what is happening on x86_64 hardware.)

-- 
Ticket URL: <https://trac.macports.org/ticket/54124#comment:68>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list