Opened 16 months ago
Closed 16 months ago
#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)
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: | new → assigned |
comment:3 Changed 16 months ago by jmroot (Joshua Root)
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
- S. But looks like 3.7.1 did not fix much, if anything.
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: | assigned → closed |
It looks like the just-released libarchive 3.7.1 may have you covered: