Build/Make Error – ld: malformed file, unknown enumerated scalar, platform: zippered
My project fails to build.
ld: malformed file /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/lib/libz.tbd:4:18: error: unknown enumerated scalar platform: zippered ^~~~~~~~ file '/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/lib/libz.tbd' clang: error: linker command failed with exit code 1 (use -v to see invocation)
In the Issues tab, I get two errors:
- malformed file
- unknown enumerated scalar
For context, here's what
libz.1.tbd) looks like:
--- !tapi-tbd-v3 archs: [ x86_64 ] uuids: [ 'x86_64: FDF169F3-F992-3E8E-B3F7-D4134FEBAE41' ] platform: zippered install-name: /usr/lib/libz.1.dylib current-version: 1.2.11 objc-constraint: none exports: - archs: [ x86_64 ] symbols: [ _adler32, _adler32_combine, _adler32_z, _compress, _compress2, _compressBound, _crc32, _crc32_combine, _crc32_z, _deflate, _deflateBound, _deflateCopy, _deflateEnd, _deflateGetDictionary, _deflateInit2_, _deflateInit_, _deflateParams, _deflatePending, _deflatePrime, _deflateReset, _deflateResetKeep, _deflateSetDictionary, _deflateSetHeader, _deflateTune, _get_crc_table, _gzbuffer, _gzclearerr, _gzclose, _gzclose_r, _gzclose_w, _gzdirect, _gzdopen, _gzeof, _gzerror, _gzflush, _gzfread, _gzfwrite, _gzgetc, _gzgetc_, _gzgets, _gzoffset, _gzopen, _gzprintf, _gzputc, _gzputs, _gzread, _gzrewind, _gzseek, _gzsetparams, _gztell, _gzungetc, _gzvprintf, _gzwrite, _inflate, _inflateBack, _inflateBackEnd, _inflateBackInit_, _inflateCodesUsed, _inflateCopy, _inflateEnd, _inflateGetDictionary, _inflateGetHeader, _inflateInit2_, _inflateInit_, _inflateMark, _inflatePrime, _inflateReset, _inflateReset2, _inflateResetKeep, _inflateSetDictionary, _inflateSync, _inflateSyncPoint, _inflateUndermine, _inflateValidate, _uncompress, _uncompress2, _zError, _zlibCompileFlags, _zlibVersion ] ...
- I tried editing the
libz.tbdfile and changed
platform: macosx. This generates a similar, but different error when I do a rebuild. Instead of
libz.tbd, there is now an error with
ld: malformed file /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks//IOKit.framework/IOKit.tbd:4:18: error: unknown enumerated scalar platform: zippered ^~~~~~~~ file '/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks//IOKit.framework/IOKit.tbd' clang: error: linker command failed with exit code 1 (use -v to see invocation)
This is what the
IOKit.tbdfile looks like (it's over 700 lines long, so I chose to only show the first 8):
--- !tapi-tbd-v3 archs: [ x86_64 ] uuids: [ 'x86_64: 1170EC49-1912-3657-9C71-991653959191' ] platform: zippered install-name: /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit current-version: 275 objc-constraint: none exports:
IOKit.tbdand rebuilding led to the same error with
OpenGL.tbd, then with
libSystem.B.tbd, then with
libc++.tbd. I reverted my edits and decided to go no further in case I damage my system or something.
- I tried creating new, raw projects from project templates wizard (Cmd+N), but building them also failed with the
unknown enumerated scalarerrors pointing to a
platform: zipperedline on either the
- Projects -> Applications -> Qt Widgets Application
- Projects -> Applications -> Qt Quick Application
- Projects -> Felgo Games -> New – Empty Felgo 3 Project
Although I'm use Felgo API, I decided to post here since I was able to produce the issue with Qt Widgets and Qt Quick Applications.
Cleaning, running QMake, and rebuilding didn't work.
I tried upgrading my macOS version (from 10.14.3 to 10.14.4) and tried building the same applications to no avail. I'm getting the same errors.
Research was tough. All I found particularly useful and relevant was this Lazarus IDE forum thread (fairly recent, started 3-5 days ago). Not sure what to do with it. It does say something about updating CommandLineTools though...
OS: MacOS Mojave 10.14.3 and 10.14.4
IDE: QtCreator 4.7.0 – Based on Qt 5.11.1 (Clang 8.0 (Apple), 64 bit)
C Compiler: GCC (C, x86 64bit in /usr/bin)
C++ Compiler: GCC (C++, x86 64bit in /usr/bin)
I'm not sure where or how to proceed. Any thoughts?
Did you also update Xcode ?
What version of Qt are you using ?
I left Xcode alone. (My
xcode-selectversion is 2354. There's an update in the App Store.) Should I upgrade it?
I'm using Qt 5.11.1.
I think I got it!
The projects build if I change the compilers in the kit to Clang + doing a clean and rebuild. (That'd be the
Clang (C/C++, x86 64bit in /usr/bin)options.)
The compilers were originally set to GCC. (Both
GCC (C/C++, x86 64bit in /usr/bin)and
GCC (C/C++, x86 64bit in /usr/local/bin)failed to build with the malformed file errors.)
Well, at least building works for now and development can continue. :-)
I'm still curious though, why GCC would do this. (Let me know if dumps from
gcc -vwould help.)
Yes the dump would be nice.
Do you have any custom version of GCC installed on your system ?
@SGaist Here you go:
/usr/local/bin/gcc -v, from
Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/local/Cellar/gcc/8.2.0/libexec/gcc/x86_64-apple-darwin17.7.0/8.2.0/lto-wrapper Target: x86_64-apple-darwin17.7.0 Configured with: ../configure --build=x86_64-apple-darwin17.7.0 --prefix=/usr/local/Cellar/gcc/8.2.0 --libdir=/usr/local/Cellar/gcc/8.2.0/lib/gcc/8 --disable-nls --enable-checking=release --enable-languages=c,c++,objc,obj-c++,fortran --program-suffix=-8 --with-gmp=/usr/local/opt/gmp --with-mpfr=/usr/local/opt/mpfr --with-mpc=/usr/local/opt/libmpc --with-isl=/usr/local/opt/isl --with-system-zlib --with-pkgversion='Homebrew GCC 8.2.0' --with-bugurl=https://github.com/Homebrew/homebrew-core/issues Thread model: posix gcc version 8.2.0 (Homebrew GCC 8.2.0)
I remember trying to upgrade my GCC version to ≥ 8 so that I could get my hands on
std::optionaland other cool C++17 features. Ended up using homebrew. Does this count as a custom version?
For context, I'll include the dump from
/usr/bin/gccas well, since I tried both
/usr/bin/gcccompiler options and both failed with malformed file etc.
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/c++/4.2.1 Apple LLVM version 9.1.0 (clang-902.0.39.2) Target: x86_64-apple-darwin18.5.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
Not sure if this is GCC at all. Looks like clang...
Hopefully this might help.
Apple has stopped using GCC a long time ago.
You should configure your Kit to use Apple's official Clang compiler that comes with Xcode.
I don't know how well GCC 8.2.0 has been tested against the 10.14 macOS SDK.
Ah ok, good to know. Somehow GCC always seemed to work. Thanks for the help.
Pablo J. Rogina
@ResistorInTheDark if your issue is solved, please don't forget to mark your post as such. Thanks.