Package Details: 7-zip 24.06-4

Git Clone URL: https://aur.archlinux.org/7-zip.git (read-only, click to copy)
Package Base: 7-zip
Description: File archiver with a high compression ratio
Upstream URL: https://7-zip.org
Keywords: 7-zip 7z 7zip archiver compressor p7zip
Licenses: BSD-3-Clause, BSD-2-Clause, LGPL-2.1-or-later, LicenseRef-UnRAR, LicenseRef-LGPL-2.1-or-later-with-unRAR-restriction
Submitter: post-factum
Maintainer: post-factum
Last Packager: post-factum
Votes: 66
Popularity: 2.67
First Submitted: 2021-03-11 21:16 (UTC)
Last Updated: 2024-05-28 13:11 (UTC)

Latest Comments

1 2 3 4 5 6 .. 8 Next › Last »

post-factum commented on 2024-05-27 16:23 (UTC)

That's the problem. I can use bash variable substitutions, but this breaks OBS.

vinicentus commented on 2024-05-27 16:06 (UTC)

@post-factum I see that you patched it. Nice! Now remains the issue that I managed to completely overlooked earlier of how to also automatically fill in the name of the file that is downloaded, since it contains the version number in another format without dots. Maybe a second variable, or a function that converts the version number to one without dots, which may or may not at some point in the future deviate from the scheme used on the downloads...

post-factum commented on 2024-05-27 12:36 (UTC)

I had issues with parsing the same PKGBUILD in openSUSE Build Service when I do pkgver substitutions and manipulations. I'll try again to see if it works there as I do not want to maintain two different PKGBUILDs.

vinicentus commented on 2024-05-27 12:20 (UTC)

Have you thought about using the pkgver variable in the url? That way the change is smaller to the pkgbuild and it easier to read and comprehend every time users are updating :D For me at least the diff was shown as removed 3 lines and added 3 lines since the alternative sources comment were also updated, so I had to examine if the url was in fact the same except for the package version. Just a suggestion though, you don't need to act on it.

kode54 commented on 2024-05-18 21:52 (UTC)

You probably can't, and I probably can't either. Better to ignore any issue that doesn't reproduce when building in a clean chroot.

post-factum commented on 2024-05-18 21:27 (UTC)

@kode54 How do I reproduce this? It builds fine for me here in a clean environment using pkgctl build --clean --repo extra.

kode54 commented on 2024-05-18 21:25 (UTC)

Further reply: Hmm, only builds in clean chroot. Guess I'll work on setting aurutils to use clean chroot from now on.

kode54 commented on 2024-05-18 21:23 (UTC)

24.05-1 fails to build here:

../CPP/7zip/Archive/7z/../../../Common/MyWindows.h:234:3: warning: type ‘union <anon>’ violates the C++ One Definition Rule [-Wodr]
  234 |   {
      |   ^
../CPP/7zip/Archive/../../Common/MyWindows.h:234:3: note: a different type is defined in another translation unit
  234 |   {
      |   ^
../CPP/7zip/Archive/7z/../../../Common/MyWindows.h:243:19: note: the first difference of corresponding definitions is field ‘hVal’
  243 |     LARGE_INTEGER hVal;
      |                   ^
../CPP/7zip/Archive/../../Common/MyWindows.h:243:19: note: a field of same name but different type is defined in another translation unit
  243 |     LARGE_INTEGER hVal;
      |                   ^
../CPP/7zip/Archive/7z/../../../Common/MyWindows.h:234:3: note: type name ‘_LARGE_INTEGER’ should match type name ‘LARGE_INTEGER’
  234 |   {
      |   ^
../CPP/7zip/Archive/../../Common/MyWindows.h:69:39: note: the incompatible type is defined here
   69 | typedef struct { LONGLONG QuadPart; } LARGE_INTEGER;
      |                                       ^
../CPP/7zip/Archive/7z/../../../Common/MyWindows.h:227:16: warning: type ‘struct tagPROPVARIANT’ violates the C++ One Definition Rule [-Wodr]
  227 | typedef struct tagPROPVARIANT
      |                ^
../CPP/7zip/Archive/../../Common/MyWindows.h:227:16: note: a different type is defined in another translation unit
  227 | typedef struct tagPROPVARIANT
      |                ^
../CPP/7zip/Archive/7z/../../../Common/MyWindows.h:233:3: note: the first difference of corresponding definitions is field ‘<anonymous>’
  233 |   union
      |   ^
../CPP/7zip/Archive/../../Common/MyWindows.h:233:3: note: a field of same name but different type is defined in another translation unit
  233 |   union
      |   ^
../CPP/7zip/Archive/7z/../../../Common/MyWindows.h:234:3: note: type ‘union <anon>’ itself violates the C++ One Definition Rule
  234 |   {
      |   ^
../CPP/7zip/Archive/../../Common/MyWindows.h:234:3: note: the incompatible type is defined here
  234 |   {
      |   ^
../CPP/7zip/Archive/7z/../../Common/../../Windows/../Windows/PropVariant.h:49:7: warning: type ‘struct CPropVariant’ violates the C++ One Definition Rule [-Wodr]
   49 | class CPropVariant : public tagPROPVARIANT
      |       ^
../CPP/7zip/Archive/../../Windows/PropVariant.h:49:7: note: a type with different bases is defined in another translation unit
   49 | class CPropVariant : public tagPROPVARIANT
      |       ^
../CPP/7zip/Archive/HandlerCont.h:65:7: warning: type ‘struct CHandlerImg’ violates the C++ One Definition Rule [-Wodr]
   65 | class CHandlerImg:
      |       ^
../CPP/7zip/Archive/HandlerCont.h:65:7: note: a different type is defined in another translation unit
   65 | class CHandlerImg:
      |       ^
../CPP/7zip/Archive/HandlerCont.h:83:10: note: the first difference of corresponding definitions is field ‘_virtPos’
   83 | protected:
      |          ^
../CPP/7zip/Archive/HandlerCont.h:84:8: note: a field with different name is defined in another translation unit
   84 |   bool _stream_unavailData;
      |        ^
../CPP/7zip/Archive/Iso/IsoIn.h:188:8: warning: type ‘struct CVolumeDescriptor’ violates the C++ One Definition Rule [-Wodr]
  188 | struct CVolumeDescriptor
      |        ^
../CPP/7zip/Archive/Iso/IsoIn.h:188:8: note: a different type is defined in another translation unit
  188 | struct CVolumeDescriptor
      |        ^
../CPP/7zip/Archive/Iso/IsoIn.h:217:8: note: the first difference of corresponding definitions is field ‘FileStructureVersion’
  217 |   // Byte FileStructureVersion; // = 1;
      |        ^
../CPP/7zip/Archive/Iso/IsoIn.h:218:8: note: a field with different name is defined in another translation unit
  218 |   Byte ApplicationUse[512];
      |        ^
../CPP/7zip/Archive/Iso/IsoIn.h:240:7: warning: type ‘struct CInArchive’ violates the C++ One Definition Rule [-Wodr]
  240 | const UInt32 kBlockSize = 1 << 11;
      |       ^
../CPP/7zip/Archive/Iso/IsoIn.h:242:7: note: a different type is defined in another translation unit
  242 | class CInArchive
      |       ^
../CPP/7zip/Archive/Iso/IsoIn.h:296:25: note: the first difference of corresponding definitions is field ‘UniqStartLocations’
  296 |   unsigned SuspSkipSize;
      |                         ^
../CPP/7zip/Archive/Iso/IsoIn.h:298:7: note: a field with different name is defined in another translation unit
  298 |   int _expand_BootEntries_index;
      |       ^
../CPP/7zip/Archive/7z/../../Common/MethodProps.h:48:8: warning: type ‘struct CProp’ violates the C++ One Definition Rule [-Wodr]
   48 | struct CProp
      |        ^
../CPP/7zip/Archive/Zip/../Common/../../Common/MethodProps.h:48:8: note: a different type is defined in another translation unit
   48 | struct CProp
      |        ^
../CPP/7zip/Archive/7z/../../Common/MethodProps.h:52:32: note: the first difference of corresponding definitions is field ‘Value’
   52 |   NWindows::NCOM::CPropVariant Value;
      |                                ^
../CPP/7zip/Archive/Zip/../Common/../../Common/MethodProps.h:52:32: note: a field of same name but different type is defined in another translation unit
   52 |   NWindows::NCOM::CPropVariant Value;
      |                                ^
../CPP/7zip/Archive/7z/../../Common/../../Windows/../Windows/PropVariant.h:49:7: note: type ‘struct CPropVariant’ itself violates the C++ One Definition Rule
   49 | class CPropVariant : public tagPROPVARIANT
      |       ^
../CPP/7zip/Archive/../../Windows/PropVariant.h:49:7: note: the incompatible type is defined here
   49 | class CPropVariant : public tagPROPVARIANT
      |       ^
../CPP/7zip/Archive/Zip/../../Compress/PpmdZip.h:28:1: warning: type ‘struct CDecoder’ violates the C++ One Definition Rule [-Wodr]
   28 | Z7_CLASS_IMP_NOQIB_3(
      | ^
../CPP/7zip/Archive/Zip/../../Compress/PpmdZip.h:35:1: note: a different type is defined in another translation unit
   35 |   CByteInBufWrap _inStream;
      | ^
../CPP/7zip/Archive/Zip/../../Compress/PpmdZip.h:34:8: note: the first difference of corresponding definitions is field ‘_fullFileMode’
   34 |   bool _fullFileMode;
      |        ^
../CPP/7zip/Archive/Zip/../../Compress/PpmdZip.h:41:18: note: a field with different name is defined in another translation unit
   41 | };
      |                  ^
../CPP/7zip/Archive/Zip/ZipAddCommon.h:39:7: warning: type ‘struct CAddCommon’ violates the C++ One Definition Rule [-Wodr]
   39 | class CAddCommon  MY_UNCOPYABLE
      |       ^
../CPP/7zip/Archive/Zip/ZipAddCommon.h:39:7: note: a different type is defined in another translation unit
   39 | class CAddCommon  MY_UNCOPYABLE
      |       ^
../CPP/7zip/Archive/Zip/ZipAddCommon.h:42:53: note: the first difference of corresponding definitions is field ‘_copyCoder’
   42 |   CMyComPtr2<ICompressCoder, NCompress::CCopyCoder> _copyCoder;
      |                                                     ^
../CPP/7zip/Archive/Zip/ZipAddCommon.h:42:26: note: a field with different name is defined in another translation unit
   42 |   CMyComPtr2<ICompressCoder, NCompress::CCopyCoder> _copyCoder;
      |                          ^
../CPP/7zip/UI/Console/../../../Common/StdOutStream.h:11:7: warning: type ‘struct CStdOutStream’ violates the C++ One Definition Rule [-Wodr]
   11 | class CStdOutStream
      |       ^
../CPP/7zip/UI/Console/../../../Common/StdOutStream.h:11:7: note: a different type is defined in another translation unit
   11 | class CStdOutStream
      |       ^
../CPP/7zip/UI/Console/../../../Common/StdOutStream.h:17:7: note: the first difference of corresponding definitions is field ‘CodePage’
   17 |   CBoolPair ListPathSeparatorSlash;
      |       ^
../CPP/7zip/UI/Console/../../../Common/StdOutStream.h:17:13: note: a field with different name is defined in another translation unit
   17 |   CBoolPair ListPathSeparatorSlash;
      |             ^
../CPP/7zip/UI/Common/ArchiveExtractCallback.h:51:8: warning: type ‘struct CExtractNtOptions’ violates the C++ One Definition Rule [-Wodr]
   51 | struct CExtractNtOptions
      |        ^
../CPP/7zip/UI/Console/../Common/ArchiveExtractCallback.h:51:8: note: a different type is defined in another translation unit
   51 | struct CExtractNtOptions
      |        ^
../CPP/7zip/UI/Console/../Common/ArchiveExtractCallback.h:69:10: note: the first difference of corresponding definitions is field ‘MemLimit’
   69 |   UInt64 MemLimit;
      |          ^
../CPP/7zip/UI/Console/../Common/ArchiveExtractCallback.h:51:8: note: a type with different number of fields is defined in another translation unit
   51 | struct CExtractNtOptions
      |        ^
../CPP/7zip/UI/Common/DirItem.h:86:8: warning: type ‘struct CArcTime’ violates the C++ One Definition Rule [-Wodr]
   86 | struct CArcTime
      |        ^
../CPP/7zip/UI/Console/../Common/DirItem.h:86:8: note: a different type is defined in another translation unit
   86 | struct CArcTime
      |        ^
../CPP/7zip/UI/Common/DirItem.h:88:12: note: the first difference of corresponding definitions is field ‘FT’
   88 |   FILETIME FT;
      |            ^
../CPP/7zip/UI/Console/../Common/DirItem.h:88:12: note: a field of same name but different type is defined in another translation unit
   88 |   FILETIME FT;
      |            ^
../CPP/7zip/UI/Common/DirItem.h:86:8: note: type name ‘_FILETIME’ should match type name ‘FILETIME’
   86 | struct CArcTime
      |        ^
../CPP/7zip/Archive/../../Common/MyWindows.h:86:3: note: the incompatible type is defined here
   86 | } FILETIME;
      |   ^
../CPP/7zip/UI/Common/ArchiveExtractCallback.h:327:10: warning: type ‘struct CProcessedFileInfo’ violates the C++ One Definition Rule [-Wodr]
  327 |   CMyComPtr<IFolderArchiveExtractCallback2> _folderArchiveExtractCallback2;
      |          ^
../CPP/7zip/UI/Console/../Common/ArchiveExtractCallback.h:346:10: note: a different type is defined in another translation unit
  346 |   struct CProcessedFileInfo
      |          ^
../CPP/7zip/UI/Common/ArchiveExtractCallback.h:329:14: note: the first difference of corresponding definitions is field ‘CTime’
  329 |
      |              ^
../CPP/7zip/UI/Console/../Common/ArchiveExtractCallback.h:348:14: note: a field of same name but different type is defined in another translation unit
  348 |     CArcTime CTime;
      |              ^
../CPP/7zip/UI/Common/DirItem.h:86:8: note: type ‘struct CArcTime’ itself violates the C++ One Definition Rule
   86 | struct CArcTime
      |        ^
../CPP/7zip/UI/Console/../Common/DirItem.h:86:8: note: the incompatible type is defined here
   86 | struct CArcTime
      |        ^
../CPP/7zip/UI/Console/../Common/ArchiveExtractCallback.h:250:7: warning: type ‘struct CArchiveExtractCallback’ violates the C++ One Definition Rule [-Wodr]
  250 | class CArchiveExtractCallback Z7_final:
      |       ^
../CPP/7zip/UI/Common/ArchiveExtractCallback.h:247:7: note: a type with the same name but different number of polymorphic bases is defined in another translation unit
  247 | #endif
      |       ^
../CPP/7zip/Archive/7z/../../Common/../../Common/MyCom.h:198:7: note: the extra base is defined here
  198 |   operator LPCOLESTR() const { return m_str; }
      |       ^
../CPP/7zip/UI/Common/Extract.h:17:8: warning: type ‘struct CExtractOptionsBase’ violates the C++ One Definition Rule [-Wodr]
   17 | struct CExtractOptionsBase
      |        ^
../CPP/7zip/UI/Console/../Common/Extract.h:17:8: note: a different type is defined in another translation unit
   17 | struct CExtractOptionsBase
      |        ^
../CPP/7zip/UI/Common/Extract.h:30:11: note: the first difference of corresponding definitions is field ‘OutputDir’
   30 |   CExtractNtOptions NtOptions;
      |           ^
../CPP/7zip/UI/Console/../Common/Extract.h:30:21: note: a field with different name is defined in another translation unit
   30 |   CExtractNtOptions NtOptions;
      |                     ^
../CPP/7zip/UI/Common/Extract.h:45:8: warning: type ‘struct CExtractOptions’ violates the C++ One Definition Rule [-Wodr]
   45 |
      |        ^
../CPP/7zip/UI/Console/../Common/Extract.h:46:8: note: a type with different bases is defined in another translation unit
   46 | struct CExtractOptions: public CExtractOptionsBase
      |        ^
../CPP/7zip/UI/Console/ExtractCallbackConsole.h:82:7: warning: type ‘struct CExtractCallbackConsole’ violates the C++ One Definition Rule [-Wodr]
   82 | class CExtractCallbackConsole Z7_final:
      |       ^
../CPP/7zip/UI/Console/ExtractCallbackConsole.h:82:7: note: a type with the same name but different number of polymorphic bases is defined in another translation unit
   82 | class CExtractCallbackConsole Z7_final:
      |       ^
../CPP/7zip/Archive/7z/../../Common/../../Common/MyCom.h:198:7: note: the extra base is defined here
  198 |   operator LPCOLESTR() const { return m_str; }
      |       ^
../CPP/7zip/UI/Common/ArchiveExtractCallback.h:26:1: warning: type ‘struct COutStreamWithHash’ violates the C++ One Definition Rule [-Wodr]
   26 | Z7_CLASS_IMP_NOQIB_1(
      | ^
../CPP/7zip/UI/Console/../Common/ArchiveExtractCallback.h:26:1: note: a different type is defined in another translation unit
   26 | Z7_CLASS_IMP_NOQIB_1(
      | ^
../CPP/7zip/UI/Common/ArchiveExtractCallback.h:30:35: note: the first difference of corresponding definitions is field ‘_stream’
   30 |   bool _calculate;
      |                                   ^
../CPP/7zip/UI/Console/../Common/ArchiveExtractCallback.h:30:8: note: a field with different name is defined in another translation unit
   30 |   bool _calculate;
      |        ^
../CPP/7zip/UI/Common/HashCalc.h:224:8: warning: type ‘struct CHashPair’ violates the C++ One Definition Rule [-Wodr]
  224 | struct CHashPair
      |        ^
../CPP/7zip/UI/Console/../Common/HashCalc.h:224:8: note: a different type is defined in another translation unit
  224 | struct CHashPair
      |        ^
../CPP/7zip/UI/Common/HashCalc.h:229:8: note: the first difference of corresponding definitions is field ‘Size_from_Arc_Defined’
  229 |   bool Escape;
      |        ^
../CPP/7zip/UI/Console/../Common/HashCalc.h:229:8: note: a field with different name is defined in another translation unit
  229 |   bool Escape;
      |        ^
../CPP/7zip/UI/Common/HashCalc.h:271:1: warning: type ‘struct CHandler’ violates the C++ One Definition Rule [-Wodr]
  271 |
      | ^
../CPP/7zip/UI/Console/../Common/HashCalc.h:273:1: note: a different type is defined in another translation unit
  273 | Z7_CLASS_IMP_CHandler_IInArchive_3(
      | ^
../CPP/7zip/UI/Common/HashCalc.h:278:10: note: the first difference of corresponding definitions is field ‘_phySize’
  278 | )
      |          ^
../CPP/7zip/UI/Console/../Common/HashCalc.h:280:8: note: a field with different name is defined in another translation unit
  280 |   bool _supportWindowsBackslash;
      |        ^
../CPP/7zip/UI/Common/ArchiveCommandLine.h:49:8: warning: type ‘struct CArcCmdLineOptions’ violates the C++ One Definition Rule [-Wodr]
   49 | struct CArcCmdLineOptions
      |        ^
../CPP/7zip/UI/Console/../Common/ArchiveCommandLine.h:49:8: note: a different type is defined in another translation unit
   49 | struct CArcCmdLineOptions
      |        ^
../CPP/7zip/UI/Common/ArchiveCommandLine.h:69:13: note: the first difference of corresponding definitions is field ‘NtSecurity’
   69 |
      |             ^
../CPP/7zip/UI/Console/../Common/ArchiveCommandLine.h:68:13: note: a field with different name is defined in another translation unit
   68 |   CBoolPair ListPathSeparatorSlash;
      |             ^
../CPP/7zip/UI/Console/../../../Common/StdOutStream.h:85:22: warning: ‘g_StdErr’ violates the C++ One Definition Rule [-Wodr]
   85 | extern CStdOutStream g_StdErr;
      |                      ^
../CPP/7zip/UI/Console/../../../Common/StdOutStream.h:11:7: note: type ‘struct CStdOutStream’ itself violates the C++ One Definition Rule
   11 | class CStdOutStream
      |       ^
../CPP/Common/StdOutStream.cpp:15:15: note: ‘g_StdErr’ was previously declared here
   15 | CStdOutStream g_StdErr(stderr);
      |               ^
../CPP/Common/StdOutStream.cpp:15:15: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
../CPP/7zip/UI/Console/Main.cpp:94:23: warning: ‘g_StdStream’ violates the C++ One Definition Rule [-Wodr]
   94 | extern CStdOutStream *g_StdStream;
      |                       ^
../CPP/7zip/UI/Console/../../../Common/StdOutStream.h:11:7: note: type ‘struct CStdOutStream’ itself violates the C++ One Definition Rule
   11 | class CStdOutStream
      |       ^
../CPP/7zip/UI/Console/MainAr.cpp:25:16: note: ‘g_StdStream’ was previously declared here
   25 | CStdOutStream *g_StdStream = NULL;
      |                ^
../CPP/7zip/UI/Console/MainAr.cpp:25:16: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
../CPP/7zip/UI/Console/../../../Common/StdOutStream.h:66:19: warning: type of ‘operator<<’ does not match original declaration [-Wlto-type-mismatch]
   66 |   CStdOutStream & operator<<(UInt32 number) throw();
      |                   ^
../CPP/Common/StdOutStream.cpp:148:17: note: ‘operator<<’ was previously declared here
  148 |   }
      |                 ^
../CPP/Common/StdOutStream.cpp:148:17: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
../CPP/7zip/UI/Console/Main.cpp:95:23: warning: ‘g_ErrStream’ violates the C++ One Definition Rule [-Wodr]
   95 | extern CStdOutStream *g_ErrStream;
      |                       ^
../CPP/7zip/UI/Console/../../../Common/StdOutStream.h:11:7: note: type ‘struct CStdOutStream’ itself violates the C++ One Definition Rule
   11 | class CStdOutStream
      |       ^
../CPP/7zip/UI/Console/MainAr.cpp:28:16: note: ‘g_ErrStream’ was previously declared here
   28 | CStdOutStream *g_ErrStream = NULL;
      |                ^
../CPP/7zip/UI/Console/MainAr.cpp:28:16: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
../CPP/7zip/UI/Console/../../../Common/StdOutStream.h:84:22: warning: ‘g_StdOut’ violates the C++ One Definition Rule [-Wodr]
   84 | extern CStdOutStream g_StdOut;
      |                      ^
../CPP/7zip/UI/Console/../../../Common/StdOutStream.h:11:7: note: type ‘struct CStdOutStream’ itself violates the C++ One Definition Rule
   11 | class CStdOutStream
      |       ^
../CPP/Common/StdOutStream.cpp:14:15: note: ‘g_StdOut’ was previously declared here
   14 | CStdOutStream g_StdOut(stdout);
      |               ^
../CPP/Common/StdOutStream.cpp:14:15: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
../CPP/7zip/UI/Console/../../../Common/StdOutStream.h:67:19: warning: type of ‘operator<<’ does not match original declaration [-Wlto-type-mismatch]
   67 |   CStdOutStream & operator<<(UInt64 number) throw();
      |                   ^
../CPP/Common/StdOutStream.cpp:155:17: note: ‘operator<<’ was previously declared here
  155 |     wchar_t c = s[i];
      |                 ^
../CPP/Common/StdOutStream.cpp:155:17: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
../CPP/7zip/UI/Console/../../../Common/StdOutStream.h:69:19: warning: type of ‘operator<<’ does not match original declaration [-Wlto-type-mismatch]
   69 |   CStdOutStream & operator<<(const wchar_t *s);
      |                   ^
../CPP/Common/StdOutStream.cpp:50:17: note: ‘operator<<’ was previously declared here
   50 | CStdOutStream & CStdOutStream::operator<<(const wchar_t *s)
      |                 ^
../CPP/Common/StdOutStream.cpp:50:17: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
../CPP/7zip/UI/Console/../../../Common/StdOutStream.h:44:8: warning: type of ‘Flush’ does not match original declaration [-Wlto-type-mismatch]
   44 |   bool Flush() throw();
      |        ^
../CPP/Common/StdOutStream.cpp:40:6: note: ‘Flush’ was previously declared here
   40 | bool CStdOutStream::Flush() throw()
      |      ^
../CPP/Common/StdOutStream.cpp:40:6: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
../CPP/7zip/UI/Console/ExtractCallbackConsole.h:108:3: warning: type of ‘Release’ does not match original declaration [-Wlto-type-mismatch]
  108 |   Z7_COM_ADDREF_RELEASE
      |   ^
../CPP/7zip/UI/Console/ExtractCallbackConsole.h:100:3: note: ‘Release’ was previously declared here
  100 |  #ifndef Z7_NO_CRYPTO
      |   ^
../CPP/7zip/UI/Console/ExtractCallbackConsole.h:100:3: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
../CPP/7zip/UI/Console/ExtractCallbackConsole.h:108:3: warning: type of ‘AddRef’ does not match original declaration [-Wlto-type-mismatch]
  108 |   Z7_COM_ADDREF_RELEASE
      |   ^
../CPP/7zip/UI/Console/ExtractCallbackConsole.h:100:3: note: ‘AddRef’ was previously declared here
  100 |  #ifndef Z7_NO_CRYPTO
      |   ^
../CPP/7zip/UI/Console/ExtractCallbackConsole.h:100:3: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
../CPP/7zip/UI/Console/../Common/ArchiveExtractCallback.h:272:3: warning: type of ‘Release’ does not match original declaration [-Wlto-type-mismatch]
  272 |   Z7_COM_ADDREF_RELEASE
      |   ^
../CPP/7zip/UI/Common/ArchiveExtractCallback.h:256:3: note: ‘Release’ was previously declared here
  256 |   public IArchiveUpdateCallbackFile,
      |   ^
../CPP/7zip/UI/Common/ArchiveExtractCallback.h:256:3: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
../CPP/7zip/UI/Console/../Common/HashCalc.h:273:1: warning: type of ‘Release’ does not match original declaration [-Wlto-type-mismatch]
  273 | Z7_CLASS_IMP_CHandler_IInArchive_3(
      | ^
../CPP/7zip/UI/Common/HashCalc.h:271:1: note: ‘Release’ was previously declared here
  271 |
      | ^
../CPP/7zip/UI/Common/HashCalc.h:271:1: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
../CPP/7zip/UI/Console/../Common/ArchiveExtractCallback.h:26:1: warning: type of ‘Release’ does not match original declaration [-Wlto-type-mismatch]
   26 | Z7_CLASS_IMP_NOQIB_1(
      | ^
../CPP/7zip/UI/Common/ArchiveExtractCallback.h:26:1: note: ‘Release’ was previously declared here
   26 | Z7_CLASS_IMP_NOQIB_1(
      | ^
../CPP/7zip/UI/Common/ArchiveExtractCallback.h:26:1: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
../CPP/7zip/Archive/Zip/../../Compress/PpmdZip.h:40:3: warning: type of ‘__dt_comp ’ does not match original declaration [-Wlto-type-mismatch]
   40 |   ~CDecoder();
      |   ^
../CPP/7zip/Compress/PpmdZip.cpp:22:1: note: ‘__dt_comp ’ was previously declared here
   22 | }
      | ^
../CPP/7zip/Archive/Zip/ZipAddCommon.h:61:8: warning: type of ‘SetOptions’ does not match original declaration [-Wlto-type-mismatch]
   61 |
      |        ^
../CPP/7zip/Archive/Zip/ZipAddCommon.cpp:81:6: note: ‘SetOptions’ was previously declared here
   81 | void CAddCommon::SetOptions(const CCompressionMethodMode &options)
      |      ^
../CPP/7zip/Archive/Zip/ZipAddCommon.cpp:81:6: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
../CPP/7zip/Archive/Zip/ZipAddCommon.h:67:11: warning: type of ‘Compress’ does not match original declaration [-Wlto-type-mismatch]
   67 |       ISequentialInStream *inStream, IOutStream *outStream,
      |           ^
../CPP/7zip/Archive/Zip/ZipAddCommon.cpp:185:9: note: ‘Compress’ was previously declared here
  185 | HRESULT CAddCommon::Compress(
      |         ^
../CPP/7zip/Archive/Zip/ZipAddCommon.cpp:185:9: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
../CPP/7zip/Archive/Zip/ZipAddCommon.h:62:3: warning: type of ‘__dt_comp ’ does not match original declaration [-Wlto-type-mismatch]
   62 |   HRESULT Set_Pre_CompressionResult(bool inSeqMode, bool outSeqMode, UInt64 unpackSize,
      |   ^
../CPP/7zip/Archive/Zip/ZipAddCommon.cpp:86:1: note: ‘__dt_comp ’ was previously declared here
   86 | CAddCommon::~CAddCommon()
      | ^
../CPP/7zip/Archive/Zip/ZipAddCommon.cpp:86:1: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
../CPP/7zip/Archive/Zip/ZipAddCommon.h:60:3: warning: type of ‘__ct_comp ’ does not match original declaration [-Wlto-type-mismatch]
   60 |   ~CAddCommon();
      |   ^
../CPP/7zip/Archive/Zip/ZipAddCommon.cpp:76:1: note: ‘__ct_comp ’ was previously declared here
   76 | CAddCommon::CAddCommon():
      | ^
../CPP/7zip/Archive/Zip/ZipAddCommon.cpp:76:1: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
../CPP/7zip/Archive/Zip/ZipAddCommon.h:64:11: warning: type of ‘Set_Pre_CompressionResult’ does not match original declaration [-Wlto-type-mismatch]
   64 |
      |           ^
../CPP/7zip/Archive/Zip/ZipAddCommon.cpp:117:9: note: ‘Set_Pre_CompressionResult’ was previously declared here
  117 | HRESULT CAddCommon::Set_Pre_CompressionResult(bool inSeqMode, bool outSeqMode, UInt64 unpackSize,
      |         ^
../CPP/7zip/Archive/Zip/ZipAddCommon.cpp:117:9: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
../CPP/7zip/Archive/Zip/../../Compress/PpmdZip.h:35:1: warning: type of ‘Release’ does not match original declaration [-Wlto-type-mismatch]
   35 |   CByteInBufWrap _inStream;
      | ^
../CPP/7zip/Compress/PpmdZip.h:35:1: warning: type of ‘Release’ does not match original declaration [-Wlto-type-mismatch]
   35 |   CByteInBufWrap _inStream;
      | ^
../CPP/7zip/Archive/Zip/../../Compress/PpmdZip.h:28:1: note: ‘Release’ was previously declared here
   28 | Z7_CLASS_IMP_NOQIB_3(
      | ^
../CPP/7zip/Archive/Zip/../../Compress/PpmdZip.h:35:1: warning: type of ‘AddRef’ does not match original declaration [-Wlto-type-mismatch]
   35 |   CByteInBufWrap _inStream;
      | ^
../CPP/7zip/Compress/PpmdZip.h:35:1: warning: type of ‘AddRef’ does not match original declaration [-Wlto-type-mismatch]
   35 |   CByteInBufWrap _inStream;
      | ^
../CPP/7zip/Archive/Zip/../../Compress/PpmdZip.h:28:1: note: ‘AddRef’ was previously declared here
   28 | Z7_CLASS_IMP_NOQIB_3(
      | ^
../CPP/7zip/Archive/Zip/../../Compress/PpmdZip.h:35:1: warning: type of ‘QueryInterface’ does not match original declaration [-Wlto-type-mismatch]
   35 |   CByteInBufWrap _inStream;
      | ^
../CPP/7zip/Compress/PpmdZip.h:35:1: warning: type of ‘QueryInterface’ does not match original declaration [-Wlto-type-mismatch]
   35 |   CByteInBufWrap _inStream;
      | ^
../CPP/7zip/Archive/Zip/../../Compress/PpmdZip.h:28:1: note: ‘QueryInterface’ was previously declared here
   28 | Z7_CLASS_IMP_NOQIB_3(
      | ^
../CPP/7zip/Archive/Iso/IsoIn.h:220:8: warning: type of ‘IsJoliet’ does not match original declaration [-Wlto-type-mismatch]
  220 |   bool IsJoliet() const
      |        ^
../CPP/7zip/Archive/Iso/IsoIn.h:220:8: note: ‘IsJoliet’ was previously declared here
  220 |   bool IsJoliet() const
      |        ^
../CPP/7zip/Archive/HandlerCont.h:71:3: warning: type of ‘Release’ does not match original declaration [-Wlto-type-mismatch]
   71 |   Z7_COM_UNKNOWN_IMP_4(
      |   ^
../CPP/7zip/Archive/HandlerCont.h:71:3: note: ‘Release’ was previously declared here
   71 |   Z7_COM_UNKNOWN_IMP_4(
      |   ^
../CPP/7zip/Archive/HandlerCont.h:71:3: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
../CPP/7zip/Archive/HandlerCont.h:71:3: warning: type of ‘AddRef’ does not match original declaration [-Wlto-type-mismatch]
   71 |   Z7_COM_UNKNOWN_IMP_4(
      |   ^
../CPP/7zip/Archive/HandlerCont.h:71:3: note: ‘AddRef’ was previously declared here
   71 |   Z7_COM_UNKNOWN_IMP_4(
      |   ^
../CPP/7zip/Archive/HandlerCont.h:71:3: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
../CPP/7zip/Archive/../../Windows/PropVariant.h:138:17: warning: type of ‘operator=’ does not match original declaration [-Wlto-type-mismatch]
  138 |   CPropVariant& operator=(const char *s);
      |                 ^
../CPP/Windows/PropVariant.cpp:153:15: note: ‘operator=’ was previously declared here
  153 | CPropVariant& CPropVariant::operator=(const char *s)
      |               ^
../CPP/Windows/PropVariant.cpp:153:15: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
../CPP/7zip/Archive/../../Windows/PropVariant.h:153:17: warning: type of ‘operator=’ does not match original declaration [-Wlto-type-mismatch]
  153 |   CPropVariant& operator=(UInt64 value) throw();
      |                 ^
../CPP/Windows/PropVariant.cpp:216:1: note: ‘operator=’ was previously declared here
  216 | SET_PROP_FUNC(UInt64, VT_UI8, uhVal.QuadPart)
      | ^
../CPP/Windows/PropVariant.cpp:216:1: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
../CPP/7zip/Archive/../../Windows/PropVariant.h:152:17: warning: type of ‘operator=’ does not match original declaration [-Wlto-type-mismatch]
  152 |   CPropVariant& operator=(UInt32 value) throw();
      |                 ^
../CPP/Windows/PropVariant.cpp:215:1: note: ‘operator=’ was previously declared here
  215 | SET_PROP_FUNC(UInt32, VT_UI4, ulVal)
      | ^
../CPP/Windows/PropVariant.cpp:215:1: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
../CPP/7zip/Archive/../../Windows/PropVariant.h:164:11: warning: type of ‘Detach’ does not match original declaration [-Wlto-type-mismatch]
  164 |   HRESULT Detach(PROPVARIANT *pDest) throw();
      |           ^
../CPP/Windows/PropVariant.cpp:316:9: note: ‘Detach’ was previously declared here
  316 | }
      |         ^
../CPP/Windows/PropVariant.cpp:316:9: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
../CPP/7zip/Archive/Zip/../../../Windows/PropVariant.h:115:3: warning: type of ‘__ct_comp ’ does not match original declaration [-Wlto-type-mismatch]
  115 |   CPropVariant(const CPropVariant &varSrc);
      |   ^
../CPP/Windows/PropVariant.cpp:58:1: note: ‘__ct_comp ’ was previously declared here
   58 | CPropVariant::CPropVariant(const CPropVariant &varSrc)
      | ^
../CPP/Windows/PropVariant.cpp:58:1: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
../CPP/7zip/Archive/../../Windows/PropVariant.h:113:3: warning: type of ‘__dt_comp ’ does not match original declaration [-Wlto-type-mismatch]
  113 |   ~CPropVariant() throw();
      |   ^
../CPP/Windows/PropVariant.cpp:248:1: note: ‘__dt_comp ’ was previously declared here
  248 | CPropVariant::~CPropVariant() throw()
      | ^
../CPP/Windows/PropVariant.cpp:248:1: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
/usr/bin/ld: /tmp/cc9f2s7z.ltrans42.ltrans.o: warning: relocation against `k_Hex_Upper' in read-only section `.text'
/usr/bin/ld: /tmp/cc9f2s7z.ltrans14.ltrans.o: in function `NArchive::NLvm::CHandler::GetArchiveProperty(unsigned int, tagPROPVARIANT*)':
/usr/src/debug/7-zip/build/../CPP/7zip/Archive/LvmHandler.cpp:1014:(.text+0x88d6): undefined reference to `NWindows::NTime::UnixTime64_To_FileTime(long, FILETIME&)'
/usr/bin/ld: /usr/src/debug/7-zip/build/../CPP/7zip/Archive/LvmHandler.cpp:1015:(.text+0x88e3): undefined reference to `NWindows::NCOM::CPropVariant::operator=(FILETIME const&)'
/usr/bin/ld: /tmp/cc9f2s7z.ltrans27.ltrans.o: in function `NArchive::NZip::CAddCommon::~CAddCommon()':
/usr/src/debug/7-zip/build/../CPP/7zip/Archive/Zip/ZipAddCommon.cpp:88:(.text+0x31d1): undefined reference to `z7_AlignedFree'
/usr/bin/ld: /tmp/cc9f2s7z.ltrans27.ltrans.o: in function `NArchive::NZip::CAddCommon::Compress(ISequentialInStream*, IOutStream*, bool, bool, unsigned int, unsigned long, bool, ICompressProgressInfo*, NArchive::NZip::CCompressingResult&)':
/usr/src/debug/7-zip/build/../CPP/7zip/Archive/Zip/ZipAddCommon.cpp:97:(.text+0x5880): undefined reference to `z7_AlignedAlloc'
/usr/bin/ld: /tmp/cc9f2s7z.ltrans27.ltrans.o: in function `NCrypto::NWzAes::CBaseCoder::CBaseCoder() [clone .lto_priv.0] [clone .cold]':
/usr/src/debug/7-zip/build/../CPP/7zip/Archive/Zip/../../Crypto/../../Common/MyBuffer2.h:68:(.text.unlikely+0x552): undefined reference to `z7_AlignedFree'
/usr/bin/ld: /tmp/cc9f2s7z.ltrans29.ltrans.o: in function `NCompress::NZstd::CDecoder::Release() [clone .lto_priv.0]':
/usr/src/debug/7-zip/build/../CPP/7zip/Compress/ZstdDecoder.cpp:42:(.text+0x25e3): undefined reference to `z7_AlignedFree'
/usr/bin/ld: /tmp/cc9f2s7z.ltrans29.ltrans.o: in function `non-virtual thunk to NCompress::NZstd::CDecoder::Release()':
/usr/src/debug/7-zip/build/../CPP/7zip/Archive/../Compress/ZstdDecoder.h:48:(.text+0x273f): undefined reference to `z7_AlignedFree'
/usr/bin/ld: /tmp/cc9f2s7z.ltrans29.ltrans.o: in function `non-virtual thunk to NCompress::NZstd::CDecoder::Release()':
/usr/src/debug/7-zip/build/../CPP/7zip/Archive/../Compress/ZstdDecoder.h:48:(.text+0x28a0): undefined reference to `z7_AlignedFree'
/usr/bin/ld: /tmp/cc9f2s7z.ltrans29.ltrans.o: in function `non-virtual thunk to NCompress::NZstd::CDecoder::Release()':
/usr/src/debug/7-zip/build/../CPP/7zip/Archive/../Compress/ZstdDecoder.h:48:(.text+0x2a00): undefined reference to `z7_AlignedFree'
/usr/bin/ld: /tmp/cc9f2s7z.ltrans29.ltrans.o:/usr/src/debug/7-zip/build/../CPP/7zip/Archive/../Compress/ZstdDecoder.h:48: more undefined references to `z7_AlignedFree' follow
/usr/bin/ld: /tmp/cc9f2s7z.ltrans29.ltrans.o: in function `NArchive::NZstd::PrintSize(AString&, unsigned long) [clone .lto_priv.0]':
/usr/src/debug/7-zip/build/../CPP/7zip/Archive/ZstdHandler.cpp:224:(.text+0x43a9): undefined reference to `AString::Add_Char(char)'
/usr/bin/ld: /tmp/cc9f2s7z.ltrans30.ltrans.o: in function `NArchive::NZstd::CHandler::Extract(unsigned int const*, unsigned int, int, IArchiveExtractCallback*)':
/usr/src/debug/7-zip/build/../CPP/7zip/Compress/ZstdDecoder.cpp:42:(.text+0x401e): undefined reference to `z7_AlignedFree'
/usr/bin/ld: /usr/src/debug/7-zip/build/../CPP/7zip/Compress/ZstdDecoder.cpp:42:(.text+0x437b): undefined reference to `z7_AlignedFree'
/usr/bin/ld: /tmp/cc9f2s7z.ltrans30.ltrans.o: in function `NArchive::NZstd::CHandler::GetArchiveProperty(unsigned int, tagPROPVARIANT*)':
/usr/src/debug/7-zip/build/../CPP/7zip/Archive/ZstdHandler.cpp:210:(.text+0x70f2): undefined reference to `AString::Add_Colon()'
/usr/bin/ld: /usr/src/debug/7-zip/build/../CPP/7zip/Archive/ZstdHandler.cpp:210:(.text+0x7371): undefined reference to `AString::Add_Colon()'
/usr/bin/ld: /usr/src/debug/7-zip/build/../CPP/7zip/Archive/ZstdHandler.cpp:210:(.text+0x73be): undefined reference to `AString::Add_Colon()'
/usr/bin/ld: /usr/src/debug/7-zip/build/../CPP/7zip/Archive/ZstdHandler.cpp:210:(.text+0x742c): undefined reference to `AString::Add_Colon()'
/usr/bin/ld: /usr/src/debug/7-zip/build/../CPP/7zip/Archive/ZstdHandler.cpp:210:(.text+0x7479): undefined reference to `AString::Add_Colon()'
/usr/bin/ld: /tmp/cc9f2s7z.ltrans35.ltrans.o: in function `NCompress::NZstd::CDecoder::Prepare(unsigned long const*)':
/usr/src/debug/7-zip/build/../CPP/7zip/Compress/ZstdDecoder.cpp:121:(.text+0x3449): undefined reference to `z7_AlignedFree'
/usr/bin/ld: /usr/src/debug/7-zip/build/../CPP/7zip/Compress/ZstdDecoder.cpp:124:(.text+0x346a): undefined reference to `z7_AlignedAlloc'
/usr/bin/ld: /tmp/cc9f2s7z.ltrans41.ltrans.o: in function `PrintWarningsPaths(CErrorPathCodes const&, CStdOutStream&)':
/usr/src/debug/7-zip/build/../CPP/7zip/UI/Console/Main.cpp:436:(.text+0x1ded): undefined reference to `CStdOutStream::NormalizePrint_UString_Path(UString const&)'
/usr/bin/ld: /tmp/cc9f2s7z.ltrans42.ltrans.o: in function `Main2(int, char**)':
/usr/src/debug/7-zip/build/../CPP/7zip/UI/Console/Main.cpp:1162:(.text+0x93e9): undefined reference to `k_Hex_Upper'
/usr/bin/ld: /usr/src/debug/7-zip/build/../CPP/7zip/UI/Console/Main.cpp:1132:(.text+0x959d): undefined reference to `UString::Add_Char(char)'
/usr/bin/ld: warning: creating DT_TEXTREL in a PIE
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.

post-factum commented on 2022-08-18 10:58 (UTC)

@gpery try -2 please, it should support clang now.

gpery commented on 2022-08-18 10:08 (UTC)

This fails to build with clang (which is selected automatically by meson on my system), had to edit PKGBUILD and add env CC=gcc CXX=g++ to arch-meson line to get it to compile. Is there a way to require GCC explicitly?