#49074: qt5-mac @5.4.2: error: declaration of anonymous struct must be a definition -----------------------+------------------------ Reporter: fpvvd1@… | Owner: mcalhoun@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: elcapitan Port: qt5-mac | -----------------------+------------------------ Comment (by framic5@…): I ran into the same problem as mentioned before. This is due to a library which is not found by clang++: {{{ :info:build [4153/10366] SOLINK(module) ffmpegsumo.so, POSTBUILDS :info:build FAILED: if [ ! -e ffmpegsumo.so -o ! -e ffmpegsumo.so.TOC ] || otool -l ffmpegsumo.so | grep -q LC_REEXPORT_DYLIB ; then /usr/bin/clang++ -bundle -Wl,-search_paths_first -stdlib=libc++ -Wl,-dead_strip -mmacosx- version-min=10.7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -Lgen/third_party/ffmpeg -arch x86_64 -L. -o ffmpegsumo.so @ffmpegsumo.so.rsp && { otool -l ffmpegsumo.so | grep LC_ID_DYLIB -A 5; nm -gP ffmpegsumo.so | cut -f1-2 -d' ' | grep -v U$; true; } > ffmpegsumo.so.TOC; else /usr/bin/clang++ -bundle -Wl,-search_paths_first -stdlib=libc++ -Wl,-dead_strip -mmacosx-version-min=10.7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -Lgen/third_party/ffmpeg -arch x86_64 -L. -o ffmpegsumo.so @ffmpegsumo.so.rsp && { otool -l ffmpegsumo.so | grep LC_ID_DYLIB -A 5; nm -gP ffmpegsumo.so | cut -f1-2 -d' ' | grep -v U$; true; } > ffmpegsumo.so.tmp && if ! cmp -s ffmpegsumo.so.tmp ffmpegsumo.so.TOC; then mv ffmpegsumo.so.tmp ffmpegsumo.so.TOC ; fi; fi :info:build clang: error: no such file or directory: '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/lib/libz.dylib' }}} The first one is libz.dylib from the log above, others will follow. A complete list: * libz.dylib * libssl.dylib * libcrypto.dylib * libresolv.dylib * libbsm.dylib * libcups.dylib It seems that, beginning with Xcode 7, .tbd libraries instead of .dylib are used. Please refer to https://forums.developer.apple.com/message/8609#8609
For those who are curious, the .tbd files are new "text-based stub libraries", that provide a much more compact version of the stub libraries for use in the SDK, and help to significantly reduce its download size. In the folder /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/lib/ only the .tbd version of the mentioned libraries is available, whereas the .dylib file can be found at /usr/lib.
According to the link above, adding a flag for every library might be a solution, but that didn't work for me. I also failed to include the /usr/lib path or the tbd suffix to the qmake environment by altering make.conf for the chosen platform macx-clang. I could finish the build with symlinks from /usr/lib to the sysroot path set for clang++. But this is no proper solution to fix the Portfile, I guess. -- Ticket URL: <https://trac.macports.org/ticket/49074#comment:11> MacPorts <https://www.macports.org/> Ports system for OS X