[MacPorts] #56137: ghostscript @9.23 builds incorrectly when updating

MacPorts noreply at macports.org
Wed Mar 28 14:36:57 UTC 2018


#56137: ghostscript @9.23 builds incorrectly when updating
--------------------------+-----------------
  Reporter:  dstrubbe     |      Owner:
      Type:  defect       |     Status:  new
  Priority:  Normal       |  Milestone:
 Component:  ports        |    Version:
Resolution:               |   Keywords:
      Port:  ghostscript  |
--------------------------+-----------------

Comment (by ryandesign):

 That looks good. I had tried `configure.ldflags-prepend -L.` which didn't
 work, presumably because the build doesn't happen in the
 `${worksrcpath}/sobin` directory. (Maybe it happens in the
 `${worksrcpath}` directory.)

 I've gotten far enough to understand:

 * The `gsc` program (to which `gs` is a symlink) is built by the
 `$(GSSOC_XE):` rule in unix-dll.mak.
 * The `gsx` program is built by the `$(GSSOX_XE):` rule.
 * They build using `$(GLCC) ... -L$(BINDIR) -l$(GS_SO_BASE)`.
 * `BINDIR` is defined as `./$(BUILDDIRPREFIX)bin`.
 * `BUILDDIRPREFIX` is set by the `so:` target in unix-dll.mak to
 `$(SODIRPREFIX)`.
 * `SODIRPREFIX` is defined in unix-dll.mak as `so`.
 * `GS_SO_BASE` is defined as `gs`.

 So `-L$(BINDIR) -l$(GS_SO_BASE)` is really `-Lsobin -lgs`.

 * `GLCC` is defined in lib.mak as `$(CC_) $(GLCCFLAGS)`.
 * `CC_` is defined in unix-gcc.mak as `$(CC) $(CCFLAGS)`.
 * `CCFLAGS` is defined in unix-gcc.mak as `$(GENOPT) $(CAPOPT) $(CFLAGS)`.
 * `CFLAGS` is defined in Makefile.in as `$(CFLAGS_STANDARD) $(GCFLAGS)
 $(AC_CFLAGS) $(XCFLAGS) @CLUSTER_CFLAGS@`.
 * `GCFLAGS` is defined in Makefile.in as `@CPPFLAGS@ @GCFLAGS@ @CFLAGS@
 @LDFLAGS@ @HAVE_POPEN_PROTO@`.
 * The `LDFLAGS` that MacPort specifies at configure time replace the
 `@LDFLAGS` placeholder above.

 So our `-L/opt/local/lib` is part of `$(GLCC)`; there's no opportunity to
 move it to after `-L$(BINDIR)` where it belongs.

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


More information about the macports-tickets mailing list