mixxx is available in version 1.3.2. Providing a new ebuild would be nice. Thanks.
Looks like some ebuild changes will need to be made (or maybe it's just gcc-3.4 being a meanie head)? Anyways, if someone could submit a working ebuild for this, it would make things go a lot faster. g++ -c -O3 -march=pentium4 -funroll-loops -pipe -w -D_REENTRANT -D__PORTAUDIO__ -D__OSSMIDI__ -DUNIX_SHARE_PATH=\"/usr/share/mixxx\" -D__LINUX__ -D__UNIX__ -DSETTINGS_FILE=\".mixxx.cfg\" -DTRACK_FILE=\".mixxxtrack.xml\" -DQT_NO_CHECK -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -I/usr/qt/3/mkspecs/linux-g++ -I. -I../lib/portaudio-v18/pa_common -I../lib/portaudio-v18/pa_unix_oss -I../lib/vbrheadersdk -I../lib/libsamplerate -I. -I/usr/qt/3/include -I/usr/X11R6/include -I/usr/X11R6/include -I.ui/ -I.moc/ -o .obj/visualbuffer.o visual/visualbuffer.cpp In file included from /usr/lib/gcc/i686-pc-linux-gnu/3.4.0/include/g++-v3/vector:72, from visual/../midiobject.h:23, from visual/../controlobject.h:29, from visual/visualbuffer.cpp:21: /usr/lib/gcc/i686-pc-linux-gnu/3.4.0/include/g++-v3/bits/stl_bvector.h: In member function `void std::vector<bool, _Alloc>::_M_insert_range(std::_Bit_iterator, _ForwardIterator, _ForwardIterator, std::forward_iterator_tag)': /usr/lib/gcc/i686-pc-linux-gnu/3.4.0/include/g++-v3/bits/stl_bvector.h:522: error: expected unqualified-id before '(' token /usr/lib/gcc/i686-pc-linux-gnu/3.4.0/include/g++-v3/bits/stl_bvector.h: In member function `void std::vector<bool, _Alloc>::_M_fill_insert(std::_Bit_iterator, size_t, bool)': /usr/lib/gcc/i686-pc-linux-gnu/3.4.0/include/g++-v3/bits/stl_bvector.h:823: error: expected unqualified-id before '(' token In file included from /usr/lib/gcc/i686-pc-linux-gnu/3.4.0/include/g++-v3/vector:75, from visual/../midiobject.h:23, from visual/../controlobject.h:29, from visual/visualbuffer.cpp:21: /usr/lib/gcc/i686-pc-linux-gnu/3.4.0/include/g++-v3/bits/vector.tcc: In member function `void std::vector<_Tp, _Alloc>::_M_fill_insert(__gnu_cxx::__normal_iterator<_Tp*, std::vector<_Tp, _Alloc> >, size_t, const _Tp&)': /usr/lib/gcc/i686-pc-linux-gnu/3.4.0/include/g++-v3/bits/vector.tcc:307: error: expected unqualified-id before '(' token /usr/lib/gcc/i686-pc-linux-gnu/3.4.0/include/g++-v3/bits/vector.tcc: In member function `void std::vector<_Tp, _Alloc>::_M_range_insert(__gnu_cxx::__normal_iterator<_Tp*, std::vector<_Tp, _Alloc> >, _ForwardIterator, _ForwardIterator, std::forward_iterator_tag)': /usr/lib/gcc/i686-pc-linux-gnu/3.4.0/include/g++-v3/bits/vector.tcc:384: error: expected unqualified-id before '(' token make: *** [.obj/visualbuffer.o] Error 1
I tried to compile it using gcc-3.3.3-r6, but it breaks with the following message: In file included from enginespectralfwd.cpp:10: enginespectralfwd.h:15:23: kiss_fftr.h: No such file or directory In file included from enginespectralfwd.cpp:10: enginespectralfwd.h:63: error: 'kiss_fftr_cfg' is used as a type, but is not defined as a type. enginespectralfwd.h:65: error: syntax error before `*' token enginespectralfwd.h:66: error: syntax error before `*' token enginespectralfwd.cpp: In constructor ` EngineSpectralFwd::EngineSpectralFwd(bool, bool, WindowKaiser*)': enginespectralfwd.cpp:32: error: `kisscfg' undeclared (first use this function) enginespectralfwd.cpp:32: error: (Each undeclared identifier is reported only once for each function it appears in.) enginespectralfwd.cpp:32: error: `kiss_fftr_alloc' undeclared (first use this function) enginespectralfwd.cpp:33: error: `tmp' undeclared (first use this function) enginespectralfwd.cpp:33: error: parse error before `[' token enginespectralfwd.cpp:34: error: `spectrum' undeclared (first use this function) enginespectralfwd.cpp:34: error: parse error before `[' token enginespectralfwd.cpp: In member function `virtual void EngineSpectralFwd::process(const CSAMPLE*, const CSAMPLE*, int)': enginespectralfwd.cpp:64: error: `kiss_fft_scalar' undeclared (first use this function) enginespectralfwd.cpp:64: error: `pInput' undeclared (first use this function) enginespectralfwd.cpp:64: error: parse error before `)' token enginespectralfwd.cpp:65: error: `kiss_fftr' undeclared (first use this function) make: *** [.obj/enginespectralfwd.o] Error 1 It seems as if we need a gcc-3.4 patch.
Created attachment 37179 [details] ebuild for mixxx 1.3.2 I'm attaching an ebuild for mixxx 1.3.2 (based on the 1.2.1 one); please test it and tell me how/if it works (it's my first ebuild, so don't expect too much...). Changes: - No longer copying mixxx.pro from portage tree as it doesn't work at all for 1.3.1, and the one included in the sources is fine - removed dep on dev-libs/fftw, mixxx now includes its own FFT lib - removed permission fixing section from src_install(), it doesn't seem necessary any more - all calls to die now include an error message - passing arg to ./configure, depending on the jack USE var I don't have the slightest idea what the line "addpredict ${QTDIR}/etc/settings" is supposed to do, so I just kept it; can someone enlighten me?
Thanks, worked perfect for me using gcc-3.3.4. Compiling with gcc-3.4.0 still breaks with the message Jon already posted.
Created attachment 37220 [details] mixxx-1.3.2.ebuild New ebuild: added missing dep on media-libs/libsndfile.
At the end of compile, I get this: g++ -Wl,-rpath,/usr/qt/3/lib -o mixxx .obj/soundsourcesndfile.o .obj/playerportaudio.o .obj/pa_lib.o .obj/pa_convert.o .obj/ringbuf fer.o .obj/pa_unix.o .obj/pa_unix_oss.o .obj/midiobjectoss.o .obj/wvisualsimple.o .obj/wvisualwaveform.o .obj/visualbackplane.o .ob j/texture.o .obj/visualbox.o .obj/visualbuffer.o .obj/visualbuffersignal.o .obj/visualbuffersignalhfc.o .obj/visualbuffermarks.o .o bj/visualchannel.o .obj/visualcontroller.o .obj/visualdisplay.o .obj/visualdisplaybuffer.o .obj/light.o .obj/material.o .obj/pickin g.o .obj/pickable.o .obj/visualobject.o .obj/dxhead.o .obj/powermate.o .obj/powermatelinux.o .obj/joystick.o .obj/joysticklinux.o . obj/kiss_fft.o .obj/kiss_fftr.o .obj/enginebufferscalesrc.o .obj/samplerate.o .obj/src_linear.o .obj/src_sinc.o .obj/src_zoh.o .obj /mixxxmenuplaylists.o .obj/trackplaylistlist.o .obj/mixxxkeyboard.o .obj/configobject.o .obj/fakemonitor.o .obj/controlengine.o .ob j/controleventengine.o .obj/controleventmidi.o .obj/controllogpotmeter.o .obj/controlobject.o .obj/controlnull.o .obj/controlpotmet er.o .obj/controlpushbutton.o .obj/controlttrotary.o .obj/controlbeat.o .obj/dlgpreferences.o .obj/dlgprefsound.o .obj/dlgprefmidi. o .obj/dlgprefplaylist.o .obj/dlgprefcontrols.o .obj/enginebuffer.o .obj/enginebufferscale.o .obj/enginebufferscalelinear.o .obj/en gineclipping.o .obj/enginefilterblock.o .obj/enginefilteriir.o .obj/engineobject.o .obj/enginepregain.o .obj/enginevolume.o .obj/ma in.o .obj/midiobject.o .obj/midiobjectnull.o .obj/mixxx.o .obj/mixxxview.o .obj/player.o .obj/playerproxy.o .obj/soundsource.o .obj /soundsourcemp3.o .obj/soundsourceoggvorbis.o .obj/monitor.o .obj/enginechannel.o .obj/enginemaster.o .obj/wwidget.o .obj/wpixmapst ore.o .obj/wnumber.o .obj/wnumberpos.o .obj/wnumberrate.o .obj/wnumberbpm.o .obj/wknob.o .obj/wdisplay.o .obj/wvumeter.o .obj/wpush button.o .obj/wslidercomposed.o .obj/wslider.o .obj/wtracktable.o .obj/wtracktableitem.o .obj/enginedelay.o .obj/engineflanger.o .o bj/enginespectralfwd.o .obj/mathstuff.o .obj/readerextract.o .obj/readerextractwave.o .obj/readerextracthfc.o .obj/readerextractbea t.o .obj/readerevent.o .obj/rtthread.o .obj/windowkaiser.o .obj/probabilityvector.o .obj/reader.o .obj/trackinfoobject.o .obj/engin evumeter.o .obj/peaklist.o .obj/track.o .obj/trackcollection.o .obj/trackplaylist.o .obj/xmlparse.o .obj/wtreeview.o .obj/wtreeitem .o .obj/wtreeitemfile.o .obj/wtreeitemdir.o .obj/wtreeitemplaylist.o .obj/wtreeitemplaylistroot.o .obj/trackimporter.o .obj/parser. o .obj/parserpls.o .obj/parserm3u.o .obj/mixxxsocketserver.o .obj/mixxxsocketclient.o .obj/dlgprefsounddlg.o .obj/dlgprefmididlg.o .obj/dlgprefplaylistdlg.o .obj/dlgprefcontrolsdlg.o .obj/qmake_image_collection.o .obj/moc_wvisualsimple.o .obj/moc_wvisualwaveform .o .obj/moc_visualbuffer.o .obj/moc_visualbuffermarks.o .obj/moc_visualdisplay.o .obj/moc_mixxxmenuplaylists.o .obj/moc_mixxxkeyboa rd.o .obj/moc_controlengine.o .obj/moc_controllogpotmeter.o .obj/moc_controlobject.o .obj/moc_controlnull.o .obj/moc_controlpotmete r.o .obj/moc_controlpushbutton.o .obj/moc_controlttrotary.o .obj/moc_dlgpreferences.o .obj/moc_dlgprefsound.o .obj/moc_dlgprefmidi. o .obj/moc_dlgprefplaylist.o .obj/moc_dlgprefcontrols.o .obj/moc_enginebuffer.o .obj/moc_engineobject.o .obj/moc_mixxx.o .obj/moc_m ixxxview.o .obj/moc_wwidget.o .obj/moc_wnumber.o .obj/moc_wnumberpos.o .obj/moc_wnumberrate.o .obj/moc_wnumberbpm.o .obj/moc_wknob. o .obj/moc_wdisplay.o .obj/moc_wvumeter.o .obj/moc_wpushbutton.o .obj/moc_wslidercomposed.o .obj/moc_wtracktable.o .obj/moc_trackin foobject.o .obj/moc_track.o .obj/moc_trackplaylist.o .obj/moc_wtreeview.o .obj/moc_wtreeitemfile.o .obj/moc_wtreeitemplaylist.o .ob j/moc_trackimporter.o .obj/moc_parser.o .obj/moc_parserpls.o .obj/moc_parserm3u.o .obj/moc_mixxxsocketserver.o .obj/moc_mixxxsocket client.o .obj/moc_dlgprefsounddlg.o .obj/moc_dlgprefmididlg.o .obj/moc_dlgprefplaylistdlg.o .obj/moc_dlgprefcontrolsdlg.o -L/usr/ qt/3/lib -L/usr/X11R6/lib -L/usr/X11R6/lib -lmad -lid3tag -lvorbisfile -lvorbis -logg -lsndfile -lqt-mt -lGLU -lGL -lXmu -lXext -lX 11 -lm -lpthread .obj/wvisualwaveform.o(.text+0xb9): In function `WVisualWaveform::WVisualWaveform(QWidget*, char const*, QGLWidget const*)': : undefined reference to `QGLWidget::QGLWidget(QWidget*, char const*, QGLWidget const*, unsigned int)' .obj/wvisualwaveform.o(.text+0x1f0): In function `WVisualWaveform::WVisualWaveform(QWidget*, char const*, QGLWidget const*)': : undefined reference to `QGLWidget::~QGLWidget()' .obj/wvisualwaveform.o(.text+0x243): In function `WVisualWaveform::WVisualWaveform(QWidget*, char const*, QGLWidget const*)': : undefined reference to `QGLWidget::QGLWidget(QWidget*, char const*, QGLWidget const*, unsigned int)' .obj/wvisualwaveform.o(.text+0x37a): In function `WVisualWaveform::WVisualWaveform(QWidget*, char const*, QGLWidget const*)': : undefined reference to `QGLWidget::~QGLWidget()' .obj/wvisualwaveform.o(.text+0x431): In function `WVisualWaveform::~WVisualWaveform()': : undefined reference to `QGLWidget::~QGLWidget()' .obj/wvisualwaveform.o(.text+0x487): In function `WVisualWaveform::~WVisualWaveform()': : undefined reference to `QGLWidget::~QGLWidget()' .obj/wvisualwaveform.o(.text+0x53f): In function `WVisualWaveform::~WVisualWaveform()': : undefined reference to `QGLWidget::~QGLWidget()' .obj/wvisualwaveform.o(.text+0x595): In function `WVisualWaveform::~WVisualWaveform()': : undefined reference to `QGLWidget::~QGLWidget()' .obj/wvisualwaveform.o(.text+0x64d): more undefined references to `QGLWidget::~QGLWidget()' follow .obj/wvisualwaveform.o(.text+0x6ec): In function `WVisualWaveform::directRendering()': : undefined reference to `QGLFormat::testOption(QGL::FormatOption) const' .obj/texture.o(.text+0x20e): In function `Texture::load(char*, int const&, int const&)': : undefined reference to `QGLWidget::convertToGLFormat(QImage const&)' .obj/mixxxview.o(.text+0x15ce): In function `MixxxView::MixxxView(QWidget*, ControlObject*, bool, QString, ConfigObject<ConfigValue >*)': : undefined reference to `QGLWidget::isValid() const' .obj/mixxxview.o(.text+0x1994): In function `MixxxView::MixxxView(QWidget*, ControlObject*, bool, QString, ConfigObject<ConfigValue >*)': : undefined reference to `QGLWidget::isValid() const' .obj/mixxxview.o(.text+0x55d0): In function `MixxxView::MixxxView(QWidget*, ControlObject*, bool, QString, ConfigObject<ConfigValue >*)': : undefined reference to `QGLWidget::isValid() const' .obj/mixxxview.o(.text+0x5996): In function `MixxxView::MixxxView(QWidget*, ControlObject*, bool, QString, ConfigObject<ConfigValue >*)': : undefined reference to `QGLWidget::isValid() const' .obj/moc_wvisualwaveform.o(.text+0x1a3): In function `WVisualWaveform::staticMetaObject()': : undefined reference to `QGLWidget::staticMetaObject()' .obj/moc_wvisualwaveform.o(.text+0x3b4): In function `WVisualWaveform::qt_invoke(int, QUObject*)': : undefined reference to `QGLWidget::qt_invoke(int, QUObject*)' .obj/moc_wvisualwaveform.o(.text+0x3ff): In function `WVisualWaveform::qt_emit(int, QUObject*)': : undefined reference to `QGLWidget::qt_emit(int, QUObject*)' .obj/moc_wvisualwaveform.o(.text+0x4eb): In function `WVisualWaveform::qt_property(int, int, QVariant*)': : undefined reference to `QGLWidget::qt_property(int, int, QVariant*)' .obj/moc_wvisualwaveform.o(.text+0x273): In function `WVisualWaveform::qt_cast(char const*)': : undefined reference to `QGLWidget::qt_cast(char const*)' .obj/moc_wvisualwaveform.o(.gnu.linkonce.r._ZTV15WVisualWaveform+0xac): undefined reference to `QGLWidget::setMouseTracking(bool)' .obj/moc_wvisualwaveform.o(.gnu.linkonce.r._ZTV15WVisualWaveform+0x108): undefined reference to `QGLWidget::reparent(QWidget*, unsi gned int, QPoint const&, bool)' .obj/moc_wvisualwaveform.o(.gnu.linkonce.r._ZTV15WVisualWaveform+0x148): undefined reference to `QGLWidget::paintEvent(QPaintEvent* )' .obj/moc_wvisualwaveform.o(.gnu.linkonce.r._ZTV15WVisualWaveform+0x150): undefined reference to `QGLWidget::resizeEvent(QResizeEven t*)' .obj/moc_wvisualwaveform.o(.gnu.linkonce.r._ZTV15WVisualWaveform+0x1c0): undefined reference to `QGLWidget::makeCurrent()' .obj/moc_wvisualwaveform.o(.gnu.linkonce.r._ZTV15WVisualWaveform+0x1c4): undefined reference to `QGLWidget::swapBuffers()' .obj/moc_wvisualwaveform.o(.gnu.linkonce.r._ZTV15WVisualWaveform+0x1c8): undefined reference to `QGLWidget::setFormat(QGLFormat con st&)' .obj/moc_wvisualwaveform.o(.gnu.linkonce.r._ZTV15WVisualWaveform+0x1cc): undefined reference to `QGLWidget::setContext(QGLContext*, QGLContext const*, bool)' .obj/moc_wvisualwaveform.o(.gnu.linkonce.r._ZTV15WVisualWaveform+0x1d0): undefined reference to `QGLWidget::renderPixmap(int, int, bool)' .obj/moc_wvisualwaveform.o(.gnu.linkonce.r._ZTV15WVisualWaveform+0x1d4): undefined reference to `QGLWidget::grabFrameBuff .obj/moc_wvisualwaveform.o(.gnu.linkonce.r._ZTV15WVisualWaveform+0x1d8): undefined reference to `QGLWidget::makeOverlayCu .obj/moc_wvisualwaveform.o(.gnu.linkonce.r._ZTV15WVisualWaveform+0x1dc): undefined reference to `QGLWidget::updateGL()' .obj/moc_wvisualwaveform.o(.gnu.linkonce.r._ZTV15WVisualWaveform+0x1e0): undefined reference to `QGLWidget::updateOverlay .obj/moc_wvisualwaveform.o(.gnu.linkonce.r._ZTV15WVisualWaveform+0x1f0): undefined reference to `QGLWidget::initializeOve .obj/moc_wvisualwaveform.o(.gnu.linkonce.r._ZTV15WVisualWaveform+0x1f4): undefined reference to `QGLWidget::resizeOverlay t)' .obj/moc_wvisualwaveform.o(.gnu.linkonce.r._ZTV15WVisualWaveform+0x1f8): undefined reference to `QGLWidget::paintOverlayG .obj/moc_wvisualwaveform.o(.gnu.linkonce.r._ZTV15WVisualWaveform+0x1fc): undefined reference to `QGLWidget::glInit()' .obj/moc_wvisualwaveform.o(.gnu.linkonce.r._ZTV15WVisualWaveform+0x200): undefined reference to `QGLWidget::glDraw()' .obj/moc_wvisualwaveform.o(.gnu.linkonce.r._ZTI15WVisualWaveform+0x8): undefined reference to `typeinfo for QGLWidget' collect2: ld returned 1 exit status distcc[6507] ERROR: compile (null) on localhost failed make: *** [mixxx] Error 1 !!! ERROR: media-sound/mixxx-1.3.2 failed. !!! Function src_compile, Line 40, Exitcode 2 !!! make failed Am I missing something in my QT? ruben@neferteti ~ $ emerge info Portage 2.0.50-r9 (default-x86-1.4, gcc-3.3.4, glibc-2.3.4.20040808-r0, 2.6.8-rc2-love3) ================================================================= System uname: 2.6.8-rc2-love3 i686 Intel(R) Pentium(R) 4 CPU 2.40GHz Gentoo Base System version 1.5.2 distcc 2.16 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled] ccache version 2.3 [enabled] Autoconf: sys-devel/autoconf-2.59-r4 Automake: sys-devel/automake-1.8.5-r1 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-O3 -march=pentium4 -funroll-loops -pipe -fomit-frame-pointer -mfpmath=sse -msse2 -mmmx" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.3/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O3 -march=pentium4 -funroll-loops -pipe -fomit-frame-pointer -mfpmath=sse -msse2 -mmmx" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs buildpkg ccache digest distcc" GENTOO_MIRRORS="ftp://ftp.easynet.nl/mirror/gentoo/" MAKEOPTS="-j5" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/overlays/bmg-main /usr/local/overlays/portage /usr/local/overlays/bmg-gnome-current" SYNC="rsync://rsync.fr.gentoo.org/gentoo-portage/" USE="X aalib acpi acpi4linux alsa apache2 apm avi berkdb cdr cjk crypt cscope cups dba dvd encode esd evo fam flac foomaticdb gd gd-external gdbm gif gnome gnomedb gphoto2 gpm gstreamer gtk gtk2 gtkhtml guile imap imlib java jpeg libg++ libwww mad mcal mhash mikmod mmx motif mozilla moznocompose moznoirc moznomail mpeg mysql ncurses nls nptl oggvorbis opengl pam pcntl pdflib perl pic png python radeon readline sdl session simplexml slang sockets spell sse ssl tcltk tcpd theora tiff tokenizer truetype video_cards_radeon x86 xinetd xml xml2 xv xvid zlib"
Did you have opengl in your USE flags when you emerged QT? Which version of QT are you using?
There were too many changes to cvs for me to take time to wade through to make a gcc-3.4 patch, though this should be fixed in the next version that is due out hopefully soon. It should be a simple version bump with no patching once this is done.
ok, I've committed 1.3.2 to portage. Still doesn't work with gcc-3.4, but that will be released soon I hope...