[MacPorts] #49074: qt5-mac @5.4.2: error: declaration of anonymous struct must be a definition
MacPorts
noreply at macports.org
Fri Oct 16 07:32:42 PDT 2015
#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
More information about the macports-tickets
mailing list