Bug 324075 - Amarok 2.8 do not compile on OSX 10.8
Summary: Amarok 2.8 do not compile on OSX 10.8
Status: RESOLVED FIXED
Alias: None
Product: amarok
Classification: Applications
Component: general (show other bugs)
Version: 2.8.0
Platform: MacPorts macOS
: NOR normal
Target Milestone: 2.9
Assignee: Amarok Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-08-26 16:48 UTC by emaguarino
Modified: 2013-11-15 21:21 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In: 2.8.1


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description emaguarino 2013-08-26 16:48:53 UTC
Trying to install Amarok 2.8 on OSX 10.8 ($uname -a 
Darwin macbook-pro-di-XXX-XXX.local 12.4.0 Darwin Kernel Version 12.4.0: Wed May  1 17:57:12 PDT 2013; root:xnu-2050.24.15~1/RELEASE_X86_64 x86_64) I had and error.

First of all I installed Macport 2.2.0, and I've given the command: "sudo port install amarok". The amarok version now available on Macport is 2.6.

The compilation failed: 
ld: can't link with bundle (MH_BUNDLE) only dylibs (MH_DYLIB) for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [tests/testamazonartist.app/Contents/MacOS/testamazonartist] Error 1
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_kde_amarok/amarok/work/build'
make[1]: *** [tests/services/amazon/CMakeFiles/testamazonartist.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
ld: can't link with bundle (MH_BUNDLE) only dylibs (MH_DYLIB) for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [tests/testamazonalbum.app/Contents/MacOS/testamazonalbum] Error 1
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_kde_amarok/amarok/work/build'
make[1]: *** [tests/services/amazon/CMakeFiles/testamazonalbum.dir/all] Error 2
make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_kde_amarok/amarok/work/build'
make: *** [all] Error 2
make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_kde_amarok/amarok/work/build'
Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_kde_amarok/amarok/work/build" && /usr/bin/make -j2 -w all 
Exit code: 2
Error: org.macports.build for port amarok returned: command execution failed
DEBUG: Error code: CHILDSTATUS 80364 2
DEBUG: Backtrace: command execution failed
    while executing
"system -nice 0 $fullcmdstring"
    ("eval" body line 1)
    invoked from within
"eval system $notty $nice \$fullcmdstring"
    invoked from within
"command_exec build"
    (procedure "portbuild::build_main" line 8)
    invoked from within
"$procedure $targetname"
Warning: targets not executed for amarok: org.macports.activate org.macports.build org.macports.destroot org.macports.install
Please see the log file for port amarok for details:
    /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_kde_amarok/amarok/main.log
To report a bug, follow the instructions in the guide:
    http://guide.macports.org/#project.tickets
Error: Processing of port amarok failed


Then I tried to install the 2.8 version, via source code.

I run CMAKE with the following options: cmake -DCMAKE_INSTALL_PREFIX=/opt/local -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_COLOR_MAKEFILE=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON -DCMAKE_INSTALL_NAME_DIR=/opt/local/lib -DCMAKE_SYSTEM_PREFIX_PATH="/opt/local;/usr" -DCMAKE_MODULE_PATH=/opt/local/share/cmake/modules -Wno-dev -DBUILD_doc=OFF -DBUILD_SHARED_LIBS=ON -DBUNDLE_INSTALL_DIR=/Applications/MacPorts/KDE4 -DQT_QT_INCLUDE_DIR=/opt/local/include ..

And I got this error:
/Users/Ema/Downloads/amarok-2.8.0/src/EngineController.cpp:191:19: error: no
      member named 'setFadeout' in 'AmarokConfig'
    AmarokConfig::setFadeout( false );
    ~~~~~~~~~~~~~~^
1 error generated.
make[2]: *** [src/CMakeFiles/amaroklib.dir/EngineController.o] Error 1
make[1]: *** [src/CMakeFiles/amaroklib.dir/all] Error 2
make: *** [all] Error 2


In the additional information the terminal output

Reproducible: Always




Here you can download the terminal output: https://dl.dropboxusercontent.com/u/169871/Amarok%20OUTPUT.txt
Comment 1 Myriam Schweingruber 2013-08-27 08:16:41 UTC
Well, yes we never announced it to work or to compile on OS X. We currently have no developer who could port it to OS X, so this is a wish.
Comment 2 Mark Kretschmann 2013-08-27 08:33:51 UTC
I have specifically asked the user to make this report. It's ok.
Comment 3 Mark Kretschmann 2013-10-27 07:47:20 UTC
Git commit b8d165def889d9fc70d39999f4f8b41608d96c91 by Mark Kretschmann.
Committed on 27/10/2013 at 07:30.
Pushed by markey into branch 'master'.

Fix compilation with libc++. Workaround for QTBUG-25960.

Due to QTBUG-25960, compilation would fail with libc++ when STL algorithms
are used with Qt iterators. This patch works around the issue.

This should also fix compilation on OSX and FreeBSD, where Clang and libc++
is used by default.
FIXED-IN: 2.8.1
BACKPORT

M  +1    -0    ChangeLog
M  +5    -0    src/playlist/PlaylistController.cpp
M  +5    -0    src/playlist/navigators/RandomAlbumNavigator.cpp
M  +5    -0    src/playlistgenerator/ConstraintSolver.cpp

http://commits.kde.org/amarok/b8d165def889d9fc70d39999f4f8b41608d96c91
Comment 4 emaguarino 2013-11-02 11:42:22 UTC
Hi Mark, thanks. I'm setting a clean installation of MacPorts and I will try asap.
Comment 5 emaguarino 2013-11-15 21:21:05 UTC
Hi, i got the git branch yesterday, 11/14/2013, but i've got a similar error: 
[ 55%] Building CXX object src/CMakeFiles/amaroklib.dir/EngineController.o
cd /Users/Ema/Downloads/amarok/build/src && /usr/bin/c++   -DKDE4_CMAKE_TOPLEVEL_DIR_LENGTH=20 -DKDE_DEPRECATED_WARNINGS -DMAKE_AMAROKLIB_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_CAST_TO_ASCII -DQT_NO_STL -DQT_SCRIPT_LIB -DQT_SQL_LIB -DQT_STRICT_ITERATORS -DQT_SVG_LIB -DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS -DQT_XML_LIB -D_REENTRANT -fno-common -Wnon-virtual-dtor -Wno-long-long -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wformat-security -Woverloaded-virtual -fno-exceptions -DQT_NO_EXCEPTIONS -fno-common -fvisibility=hidden -Werror=return-type -fvisibility-inlines-hidden -fdelayed-template-parsing -Wno-return-type-c-linkage -std=c++0x -fno-delayed-template-parsing -O2 -DNDEBUG -DQT_NO_DEBUG -fPIC -I/Users/Ema/Downloads/amarok/build/src -I/Users/Ema/Downloads/amarok/src -I/Users/Ema/Downloads/amarok/shared -I/Users/Ema/Downloads/amarok/build/shared -I/Users/Ema/Downloads/amarok/src/services/lastfm -I/opt/local/include -I/opt/local/include/KDE -I/opt/local/include/phonon -I/opt/local/include/QtXmlPatterns -I/opt/local/include/QtXml -I/opt/local/include/QtWebKit -I/opt/local/include/QtUiTools -I/opt/local/include/QtTest -I/opt/local/include/QtSvg -I/opt/local/include/QtSql -I/opt/local/include/QtScriptTools -I/opt/local/include/QtScript -I/opt/local/include/QtOpenGL -I/opt/local/include/QtNetwork -I/opt/local/include/QtMultimedia -I/opt/local/include/QtHelp -I/opt/local/include/QtDesigner -I/opt/local/include/QtDeclarative -I/opt/local/include/QtDBus -I/opt/local/include/Qt3Support -I/opt/local/include/QtGui -I/opt/local/include/QtCore -I/opt/local/share/qt4/mkspecs/default -I/opt/local/include/lastfm/.. -I/opt/local/include/lastfm -I/opt/local/include/taglib -I/opt/local/include/QtCrypto    -D__APPLE_KDE__  -I/opt/local/include/taglib -o CMakeFiles/amaroklib.dir/EngineController.o -c /Users/Ema/Downloads/amarok/src/EngineController.cpp
/Users/Ema/Downloads/amarok/src/EngineController.cpp:190:19: error: no member
      named 'setFadeout' in 'AmarokConfig'
    AmarokConfig::setFadeout( false );
    ~~~~~~~~~~~~~~^
In file included from /Users/Ema/Downloads/amarok/src/EngineController.cpp:27:
In file included from /Users/Ema/Downloads/amarok/src/MainWindow.h:25:
In file included from /Users/Ema/Downloads/amarok/src/browsers/BrowserDock.h:23:
In file included from /Users/Ema/Downloads/amarok/src/browsers/BrowserMessageArea.h:21:
In file included from /Users/Ema/Downloads/amarok/src/statusbar/CompoundProgressBar.h:25:
In file included from /opt/local/include/QtGui/QMouseEvent:1:
In file included from /opt/local/include/QtGui/qevent.h:52:
/opt/local/include/QtGui/qmime.h:119:10: warning: private field 'type' is not
      used [-Wunused-private-field]
    char type;
         ^
1 warning and 1 error generated.
make[2]: *** [src/CMakeFiles/amaroklib.dir/EngineController.o] Error 1
make[1]: *** [src/CMakeFiles/amaroklib.dir/all] Error 2
make: *** [all] Error 2