[MacPorts] #53712: libarchive @3.3.1: error: use of undeclared identifier 'ACL_SYNCHRONIZE'

MacPorts noreply at macports.org
Tue Mar 21 00:44:02 UTC 2017


#53712: libarchive @3.3.1: error: use of undeclared identifier 'ACL_SYNCHRONIZE'
-------------------------+-------------------------------------------------
  Reporter:  Gord-       |      Owner:  tobypeterson
  Butler                 |
      Type:  defect      |     Status:  assigned
  Priority:  Normal      |  Milestone:
 Component:  ports       |    Version:  2.4.1
Resolution:              |   Keywords:  leopard snowleopard lion
      Port:  libarchive  |  mountainlion mavericks
-------------------------+-------------------------------------------------

Comment (by tehcog):

 Replying to [comment:86 thetrial]:
 > If someone tells me step-by-step, I could try. 10.7 here.

 @thetrial:
 Bear with me on this, if someone else has something to add, please chime
 in...

 I un-installed libarchive.

 I tried to install libarchive and got the following ACL_SYNCHRONIZE error:

 {{{
 :info:build libarchive/archive_read_disk_entry_from_file.c:677:34: error:
 use of undeclared identifier 'ACL_SYNCHRONIZE'
 :info:build         {ARCHIVE_ENTRY_ACL_SYNCHRONIZE, ACL_SYNCHRONIZE}
 :info:build                                         ^
 :info:build libarchive/archive_read_disk_entry_from_file.c:1371:31: error:
 invalid application of 'sizeof' to an incomplete type 'const struct
 <anonymous struct at
 libarchive/archive_read_disk_entry_from_file.c:638:14> []'
 :info:build                 for (i = 0; i < (int)(sizeof(acl_perm_map) /
 sizeof(acl_perm_map[0])); ++i) {
 :info:build                                             ^~~~~~~~~~~~~~
 :info:build 2 errors generated.
 }}}

 I dl'd the following files from this thread:

 libarchive_fix_from_3.3.1_try_2.diff[[BR]]
 patch-3.3.1_to_master.diff[[BR]]
 patch-Makefile.am.diff[[BR]]

 and placed them all in the same directory (any directory, in this case
 ~/dl_dir).

 For my particualr ports installation, I cd'd to the following path:[[BR]]

 /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/[[BR]]

 (there should basically be a list of ports directories here)

 I then applied the patch:

 {{{
 git apply ~/dl_dir/libarchive_fix_from_3.3.1_try_2.diff
 }}}
 the libarchive PortFile was then 'patched' and the other 2 files
 (patch-3.3.1_to_master.diff, patch-Makefile.am.diff)were placed in
 the:[[BR]]
 /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/archivers/libarchive/files[[BR]]
 directory.

 I verified this by running

 {{{
 port info libarchive
 }}}
 and got the following result:

 {{{
 libarchive @3.3.1_1 (archivers)
 ...
 }}}
 I then ran:

 {{{
 sudo port install libarchive
 }}}
 and all was well.  Hope this helps.

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


More information about the macports-tickets mailing list