[MacPorts] #60232: gdk-pixbuf2 @2.40.0_1 +universal doesn't compile with jpeg and jasper

MacPorts noreply at macports.org
Tue Mar 24 15:48:15 UTC 2020


#60232: gdk-pixbuf2 @2.40.0_1 +universal doesn't compile with jpeg and jasper
--------------------------+----------------------
  Reporter:  someuser12   |      Owner:  dbevans
      Type:  defect       |     Status:  assigned
  Priority:  Normal       |  Milestone:
 Component:  ports        |    Version:
Resolution:               |   Keywords:
      Port:  gdk-pixbuf2  |
--------------------------+----------------------
Description changed by mf2k:

Old description:

> Under Mac OS 10.13 and 10.11, while configuring `gdk-pixbuf2` @2.40.0_1
> with `+universal` variant set, the build tool `meson` tries to detect the
> libraries JPEG and jasper by launching clang on a minimal C program
> involving only proprocessor directives:
>
> `Command line:  /usr/bin/clang -I/opt/local/include
> /opt/local/var/macports/build
> /_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_po
> rts_graphics_gdk-pixbuf2/gdk-pixbuf2/work/build/meson-
> private/tmp9kj3a3pw/testfi
> le.c -pipe -E -P -Os -arch x86_64 -arch i386 -P -O0 -std=c99`
>
> Since clang is launched with the flags `-E -arch x86_64 -arch i386`, it
> fails with message `clang: error: cannot use 'cpp-output' output with
> multiple -arch options` and meson concludes erroneously that the jpeg
> library is absent.
>
> The same happens with jasper later on.
>
> As a consequence, all software built again the resulting gdk-pixbuf2
> (e.g. qiv) will be unable to load or display any JPEG file.
>
> Ugly workaround:
> - `sudo port extract gdk-pixbuf2 +x11+universal`
>
> - Manually edit {{{`port work gdk-pixbuf2`/gdk-
> pixbuf-2.40.0/meson.build}}} to replace,  on line 312,
> `cc.has_header('jpeglib.h')` with `1==1` and, on line 363,
> `cc.has_header('jasper/jasper.h')` with `true`
>
> - `sudo port install gdk-pixbuf2` .

New description:

 Under Mac OS 10.13 and 10.11, while configuring `gdk-pixbuf2` @2.40.0_1
 with `+universal` variant set, the build tool `meson` tries to detect the
 libraries JPEG and jasper by launching clang on a minimal C program
 involving only proprocessor directives:

 {{{
 Command line:  /usr/bin/clang -I/opt/local/include
 /opt/local/var/macports/build
 /_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_po
 rts_graphics_gdk-pixbuf2/gdk-pixbuf2/work/build/meson-
 private/tmp9kj3a3pw/testfi
 le.c -pipe -E -P -Os -arch x86_64 -arch i386 -P -O0 -std=c99
 }}}

 Since clang is launched with the flags `-E -arch x86_64 -arch i386`, it
 fails with message `clang: error: cannot use 'cpp-output' output with
 multiple -arch options` and meson concludes erroneously that the jpeg
 library is absent.

 The same happens with jasper later on.

 As a consequence, all software built again the resulting gdk-pixbuf2 (e.g.
 qiv) will be unable to load or display any JPEG file.

 Ugly workaround:
 - `sudo port extract gdk-pixbuf2 +x11+universal`

 - Manually edit {{{`port work gdk-pixbuf2`/gdk-
 pixbuf-2.40.0/meson.build}}} to replace,  on line 312,
 `cc.has_header('jpeglib.h')` with `1==1` and, on line 363,
 `cc.has_header('jasper/jasper.h')` with `true`

 - `sudo port install gdk-pixbuf2` .

--

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


More information about the macports-tickets mailing list