On Sun, Sep 18, 2022 at 12:47:28AM -0400, George Koehler wrote: > On Fri, 16 Sep 2022 21:54:54 -0400 > Josh Grosse <j...@jggimi.net> wrote: > > > Attached is a "v3" tarball with the above changes, producing a single `7zz` > > executable binary. There is no long any conflict with p7zip. I've tested > > this build on amd64. George may want to retest on powerpc64 to see if his > > patch to > > C/7zCrcOpt.c can be removed. > > Yes, please $ rm patches/patch-C_7zCrcOpt_c > > I can now build 7zz without patch-C_7zCrcOpt_c on both macppc (which > is 32-bit powerpc) and powerpc64. Also, we can remove 7zCrcOpt.c > from FIX_CRLF_FILES.
Both are complete in the attached "v4" tarball. > 7zz does more formats than 7za, see "7zz i". I can extract my old > .rar file with 7zz. Other distros (Alpine, Debian, FreeBSD) are also > building 7zz and not 7za. (Alpine and FreeBSD also symlink 7z to 7zz; > Alpine and Debian also disable the .rar code.) It should be easy enough to disable with the knobs provided, either DISABLE_RAR=1 or DISABLE_RAR_COMPRESS=1. But there is the dependency for the p7zip unrar plugin in mail/amavisd-new, and I am looking forward to the day when p7zip will be removed. > Another problem: the port sets COMPILER = base-clang ports-gcc, but > I believe that gcc can't build this port as is. I don't have a real > gcc arch (sparc64). I try forcing "make COMPILER=ports-gcc" on a > clang arch. (I know that COMPILER=ports-gcc on a clang arch can go > wrong when mixing C++ code from clang and gcc.) > > 1st problem, cmpl_clang.mak is running clang, not gcc. I try to > use cmpl_gcc.mak instead, this way, > > MAKE_FILE_base-clang = ../../cmpl_clang.mak > MAKE_FILE_ports-gcc = ../../cmpl_gcc.mak > MAKE_FILE = ${MAKE_FILE_${CHOSEN_COMPILER}} I like that solution. > 2nd problem, gcc immediately fails with, > egcc: error: unrecognized command line option '-Waddress-of-packed-member' > > I have not tried to remove the option. I did, and on amd64 I get an assembly error compiling C/LzFind.c. Log fragment follows: ===> Building for 7zip-22.01 gcc -O2 -c -Wall -Wextra -Waddress -Waggressive-loop-optimizations -Wattributes -Wbool-compare -Wbool-operation -Wcast-align -Wcast-align=strict -Wcomment -Wdangling-else -Wdiv-by-zero -Wduplicated-branches -Wduplicated-cond -Wformat-contains-nul -Wimplicit-fallthrough=5 -Winit-self -Wint-in-bool-context -Wint-to-pointer-cast -Wunused -Wunused-macros -Wconversion -DNDEBUG -D_REENTRANT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fPIC -o b/g/LzFind.o ../../../../C/LzFind.c /tmp//ccGUWuj4.s: Assembler messages: /tmp//ccGUWuj4.s:479: Error: no such instruction: `vpbroadcastd -4(%rsp),%ymm0' /tmp//ccGUWuj4.s:482: Error: no such instruction: `vpmaxud (%rsi),%ymm0,%ymm1' /tmp//ccGUWuj4.s:484: Error: no such instruction: `vpsubd %ymm0,%ymm1,%ymm1' /tmp//ccGUWuj4.s:485: Error: no such instruction: `vmovdqa %ymm1,-64(%rsi)' /tmp//ccGUWuj4.s:486: Error: no such instruction: `vpmaxud -32(%rsi),%ymm0,%ymm1' /tmp//ccGUWuj4.s:487: Error: no such instruction: `vpsubd %ymm0,%ymm1,%ymm1' /tmp//ccGUWuj4.s:488: Error: no such instruction: `vmovdqa %ymm1,-32(%rsi)' /tmp//ccGUWuj4.s:491: Error: no such instruction: `vzeroupper' /tmp//ccGUWuj4.s:508: Error: no such instruction: `pmaxud %xmm0,%xmm1' /tmp//ccGUWuj4.s:512: Error: no such instruction: `pmaxud %xmm0,%xmm1' /tmp//ccGUWuj4.s:516: Error: no such instruction: `pmaxud %xmm0,%xmm1' /tmp//ccGUWuj4.s:520: Error: no such instruction: `pmaxud %xmm0,%xmm1' gmake: *** [../../7zip_gcc.mak:1099: b/g/LzFind.o] Error 1
7zip.v4.tgz
Description: application/tar-gz