[MacPorts] #51750: libarchive @3.2.1_0 fails building on 10.5.8 PPC

MacPorts noreply at macports.org
Tue Jul 5 17:47:33 PDT 2016


#51750: libarchive @3.2.1_0 fails building on 10.5.8 PPC
-------------------------+--------------------
  Reporter:  braumann@…  |      Owner:  toby@…
      Type:  defect      |     Status:  closed
  Priority:  Normal      |  Milestone:
 Component:  ports       |    Version:  2.3.4
Resolution:  fixed       |   Keywords:
      Port:  libarchive  |
-------------------------+--------------------

Comment (by braumann@…):

 Replying to [comment:3 toby@…]:
 > r149889 ''might'' fix it. I obviously cannot test on 10.5.8, let alone
 PPC.
 Sorry, your solution cannot work, as your introduced check whether
 `__has_builtin` is defined does not prevent from applying it anyway.

 What the programmer of libarchive/archive_read_support_format_lha.c
 obviously has forgotten is to consider the case that `__has_builtin` is
 not defined at all, so as this is missing in all kinds of gcc (AFAIK), the
 present code ''only'' supports newer `clang` (probably newer than 3.2).
 Somewhere in the `clang` documentation I found a simple work-around to add
 this ''feature checking macro'':
 {{{
 #ifndef __has_builtin         // Optional of course
   #define __has_builtin(x) 0  // Compatibility with non-clang compilers
 #endif
 }}}
 So please add these three lines above somewhere before line 1715 in
 libarchive/archive_read_support_format_lha.c, and please revert your patch
 affecting line 1718
 {{{
       || (defined(__clang__) && defined(__has_builtin) &&
 __has_builtin(__builtin_bswap16))
 }}}
 back to
 {{{
       || (defined(__clang__) && __has_builtin(__builtin_bswap16))
 }}}

 I think gcc now again can be used to build `libarchive`. As you might have
 heard, `clang` unfortunately is not functional on PPC so far (even though
 macports-clang-3.4 can be built).

 Thanks!

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


More information about the macports-tickets mailing list