Opened 11 years ago
Closed 11 years ago
#41371 closed defect (fixed)
mythtv-core.27 fails to build on Mavericks
Reported by: | ctreleaven (Craig Treleaven) | Owned by: | ctreleaven (Craig Treleaven) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.2.1 |
Keywords: | mavericks | Cc: | mkae (Marko Käning) |
Port: | mythtv-core.27 |
Description
Compilation fails with the message:
:info:build /usr/bin/clang++ -c -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DPIC -fomit-frame-pointer -fPIC -g -Wall -Wpointer-arith -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -Wno-self-assign -Wno-constant-logical-operand -Wno-unused-value -Qunused-arguments -arch x86_64 -Xarch_x86_64 -mmacosx-version-min=10.9 -fPIC -DMMX -DUSING_APPLEREMOTE -D_GNU_SOURCE -DUSE_LIRC -DUSE_OPENGL_PAINTER -DUSING_QTWEBKIT -DMUI_API -DQT_NO_DEBUG -DQT_WEBKIT_LIB -DQT_SQL_LIB -DQT_XML_LIB -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/opt/local/share/qt4/mkspecs/macx-g++ -I. -I. -I/opt/local/Library/Frameworks/QtCore.framework/Versions/4/Headers -I/opt/local/Library/Frameworks/QtNetwork.framework/Versions/4/Headers -I/opt/local/Library/Frameworks/QtGui.framework/Versions/4/Headers -I/opt/local/Library/Frameworks/QtOpenGL.framework/Versions/4/Headers -I/opt/local/Library/Frameworks/QtXml.framework/Versions/4/Headers -I/opt/local/Library/Frameworks/QtSql.framework/Versions/4/Headers -I/opt/local/Library/Frameworks/QtWebKit.framework/Versions/4/Headers -I/opt/local/include/libxml2 -I../../external/qjson/include -I../libmythbase -I../.. -I.. -I../../external/FFmpeg -I/opt/local/Library/Frameworks/QtWebKit.framework/Versions/4/Headers -I/opt/local/Library/Frameworks/QtSql.framework/Versions/4/Headers -I/opt/local/Library/Frameworks/QtXml.framework/Versions/4/Headers -I/opt/local/Library/Frameworks/QtOpenGL.framework/Versions/4/Headers -I/opt/local/Library/Frameworks/QtGui.framework/Versions/4/Headers -I/opt/local/Library/Frameworks/QtNetwork.framework/Versions/4/Headers -I/opt/local/Library/Frameworks/QtCore.framework/Versions/4/Headers -I/opt/local/include -I/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers -I/System/Library/Frameworks/AGL.framework/Headers -F/opt/local/Library/Frameworks -F/opt/local/lib -o mythrect.o mythrect.cpp :info:build mythpainter.cpp:215:36: error: no member named 'abs' in namespace 'std' :info:build std::max(outlineSize, std::abs(shadowOffset.y())); :info:build ~~~~~^
A bit of Google search reveals that if the Command Line Tools from Xcode 4.6.3 are installed, such errors do not occur. See:
Attachments (2)
Change History (12)
Changed 11 years ago by ctreleaven (Craig Treleaven)
comment:1 follow-up: 4 Changed 11 years ago by ctreleaven (Craig Treleaven)
comment:2 Changed 11 years ago by larryv (Lawrence Velázquez)
Owner: | changed from macports-tickets@… to ctreleaven@… |
---|
comment:4 Changed 11 years ago by mkae (Marko Käning)
Replying to ctreleaven@…:
Could someone with commit rights please fix? Thanks,
I have commit rights, but I don't know how to fix this. In those homebrew tickets it is suggested to mess with /System/Library/CoreService which I don't think is the right approach here.
comment:5 Changed 11 years ago by ctreleaven (Craig Treleaven)
Thanks, mk, I just meant to fix the ticket so it lists me as the owner--which larryv was kind enough to do.
Regarding Myth and Mavericks, I believe the problem is libc++ v. libstdc++. I'm trying to add -stdlib=libstdc++ to the linking command to get around this. At the moment, Myth's version of ffmpeg isn't cooperating but I'm going to try blunt force, next!
comment:7 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)
I think the problem is just that myth's code is not fully compatible with libc++, and the correct solution is not to switch to libstdc++ but to fix the code to be compatible with libc++.
Googling this error led me to this page about a different package that suggests that adding #include <cstdlib>
is a fix.
comment:8 Changed 11 years ago by ctreleaven (Craig Treleaven)
Thanks, Ryan, you are right. Turns out there were three small changes necessary to get Myth to compile with libc++. However, it now crashes on startup. The error message mentions something about a font (don't have the details here, now) and I wonder if it is affected by the recent Freetype update. Will look into that.
Changed 11 years ago by ctreleaven (Craig Treleaven)
Attachment: | patch-various_c++_v_stdc++.diff added |
---|
comment:9 Changed 11 years ago by mkae (Marko Käning)
Herewith I can verify that installing MythTV-core.27 on 10.9 works due to r114355 now.
comment:10 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → fixed |
---|---|
Status: | new → closed |
Me too.
Argh, forgot to set myself as the owner. Could someone with commit rights please fix? Thanks,
Other tickets seemingly affected by the same issue:
#41172
#41049