#67870 closed defect (fixed)

libarchive @3.7.0: build fails on Tiger for several reasons

Reported by: kencu (Ken) Owned by: tobypeterson
Priority: Normal Milestone:
Component: ports Version:
Keywords: Tiger Cc:
Port: libarchive

Description (last modified by kencu (Ken))

there are at least two issues on Tiger

:info:build unzip/bsdunzip.c: In function 'match_pattern':
:info:build unzip/bsdunzip.c:325: warning: implicit declaration of function 'STAILQ_FOREACH'
:info:build unzip/bsdunzip.c:325: error: expected ';' before '{' token
:info:build unzip/bsdunzip.c:334: warning: no return statement in function returning non-void
:info:build unzip/bsdunzip.c: In function 'extract_file':
:info:build unzip/bsdunzip.c:800: warning: implicit declaration of function 'lchmod'
:info:build make[1]: *** [unzip/bsdunzip-bsdunzip.o] Error 1

both of these are in legacysupport, however legacysupport has traditionally not worked well with libarchive #61746.

The new fixes in legacy support devel work better with libarchive, or the functions could be patched in directly as has been done recently for some other functions. I did the STAILQ_FOREACH one, and I'll attach that, but I didn't do lchmod and just used legacy-support-devel instead.

This port does not behave too well when running the tests on Tiger -- it leaves behind deep directories in the .tmp/ testing directory that are hard to remove later.

In the end, I wound up pegging libarchive at the previous version for the time being while this is sorted out.

Attachments (2)

libarchive-fail-tiger.log (326.5 KB) - added by kencu (Ken) 16 months ago.
stailq.patch (453 bytes) - added by kencu (Ken) 16 months ago.

Download all attachments as: .zip

Change History (12)

Changed 16 months ago by kencu (Ken)

Attachment: libarchive-fail-tiger.log added

Changed 16 months ago by kencu (Ken)

Attachment: stailq.patch added

comment:1 Changed 16 months ago by kencu (Ken)

Description: modified (diff)

comment:2 Changed 16 months ago by kencu (Ken)

Description: modified (diff)
Owner: set to tobypeterson
Status: newassigned

comment:4 Changed 16 months ago by kencu (Ken)

oh, that should help. will see.

comment:5 Changed 16 months ago by jmroot (Joshua Root)

Updated; please check how much of this that fixes for you.

comment:6 Changed 16 months ago by barracuda156

Ah, sorry for a duplicate ticket #67894

  1. S. But looks like 3.7.1 did not fix much, if anything.
Last edited 16 months ago by barracuda156 (previous) (diff)

comment:7 Changed 16 months ago by kencu (Ken)

I think next step is to add this patch

https://trac.macports.org/attachment/ticket/67870/stailq.patch

and then see how it fares.

comment:8 Changed 16 months ago by evanmiller (Evan Miller)

I was able to build just fine on Tiger with legacysupport and GCC7. There were a few test failures (maybe endian related?) but the compile was clean.

Opened PR for legacysupport here: https://github.com/macports/macports-ports/pull/19852

But will need a separate PR to enforce GCC7.

comment:9 Changed 16 months ago by kencu (Ken)

I suspect we may wind up reverting the addition of legacysupport, like we did last time we added it, but it will be a few months before I can get back to this, so have at it and see what falls out this time around.

It’s possible something has fixed the issue, in the port, legacysupport, or randomly elsewhere.

Whatever it was. was not endian, as it happened on Tiger Intel too.

comment:10 Changed 16 months ago by jmroot (Joshua Root)

Resolution: fixed
Status: assignedclosed

In 233353e980870753f4b423afd370f4a345b5b2ff/macports-ports (master):

libarchive: tiger build fix

Closes: #67870

Note: See TracTickets for help on using tickets.