Thread: [Sv1-devel] Building a debug version of Sonic Visualiser
Brought to you by:
cannam
From: Jakob L. <jak...@gm...> - 2014-02-27 01:24:32
|
Hi, I'm experiencing a crash with SV, and I'm trying to build a debug version in order to get a better backtrace. However, when I configure with "configure --enable-debug", the build does not produce the "sonic-visualiser" executable. Any ideas what's going on? Best regards, Jakob Leben |
From: Jakob L. <jak...@gm...> - 2014-02-27 01:34:46
|
On Wed, Feb 26, 2014 at 5:24 PM, Jakob Leben <jak...@gm...> wrote: > I'm experiencing a crash with SV, and I'm trying to build a debug version > in order to get a better backtrace. However, when I configure with > "configure --enable-debug", the build does not produce the > "sonic-visualiser" executable. Any ideas what's going on? > Hmm, actually, doing make clean, reconfiguring without debug, and rebuilding doesn't produce the executable anymore, either. And I mean without any error reported. |
From: Jakob L. <jak...@gm...> - 2014-02-27 01:53:41
|
OK, cleaning up my working copy of the repo seems to solve the previous issue. However, there is a build error in debug mode: g++ -m64 -o sonic-visualiser o/main.o o/OSCHandler.o o/MainWindow.o o/NetworkPermissionTester.o o/Surveyer.o o/PreferencesDialog.o o/moc_MainWindow.o o/moc_Surveyer.o o/moc_PreferencesDialog.o o/qrc_sonic-visualiser.o -L/usr/lib/x86_64-linux-gnu -Wl,-Bstatic -Lsvapp -Lsvgui -Lsvcore -Ldataquay -lsvapp -lsvgui -lsvcore -ldataquay -Wl,-Bdynamic -lbz2 -lfftw3 -lfftw3f -lsndfile -lsamplerate -L/usr\%LIBDIR\% -lvamp-hostsdk -ldl -lrubberband -lsord-0 -lserd-0 -llo -lportaudio -lasound -lm -ljack -lpulse -llrdf -lmad -lX11 -lpthread -lQtXml -lQtGui -lQtNetwork -lQtCore o/MainWindow.o: In function `MainWindow::MainWindow(bool, bool)': /home/jakob/programming/sonic-visualiser/main/MainWindow.cpp:167: undefined reference to `Profiler::Profiler(char const*, bool)' ...and many more similar undefined references to Profiler constructor and destructor.... On Wed, Feb 26, 2014 at 5:34 PM, Jakob Leben <jak...@gm...> wrote: > > On Wed, Feb 26, 2014 at 5:24 PM, Jakob Leben <jak...@gm...>wrote: > >> I'm experiencing a crash with SV, and I'm trying to build a debug version >> in order to get a better backtrace. However, when I configure with >> "configure --enable-debug", the build does not produce the >> "sonic-visualiser" executable. Any ideas what's going on? >> > > Hmm, actually, doing make clean, reconfiguring without debug, and > rebuilding doesn't produce the executable anymore, either. And I mean > without any error reported. > |
From: Jakob L. <jak...@gm...> - 2014-02-27 02:19:43
|
On Wed, Feb 26, 2014 at 5:53 PM, Jakob Leben <jak...@gm...> wrote: > /home/jakob/programming/sonic-visualiser/main/MainWindow.cpp:167: > undefined reference to `Profiler::Profiler(char const*, bool)' > > ...and many more similar undefined references to Profiler constructor and > destructor.... > Ah, I first purged using "hg purge" which only cleaned the root repository but not subrepository. After tediously purging each subrepository individually, the build would restart correctly. However, there's definitely something broken: each manual call to "make" only builds one target. First time it builds svcore. Second time it builds svgui. Third time svapp. Only the fourth manual call to make produces sonic-visualiser executable. Btw, next call to make tries to build testing stuff, and that fails with: o/moc_TestRangeMapper.o: In function `TestRangeMapper::linearUpBackward()': /home/jakob/programming/sonic-visualiser/svcore/base/test/o/../TestRangeMapper.h:73: undefined reference to `bool QTest::qCompare<float, double>(float const&, double const&, char const*, char const*, char const*, int)' /home/jakob/programming/sonic-visualiser/svcore/base/test/o/../TestRangeMapper.h:74: undefined reference to `bool QTest::qCompare<float, double>(float const&, double const&, char const*, char const*, char const*, int)' /home/jakob/programming/sonic-visualiser/svcore/base/test/o/../TestRangeMapper.h:75: undefined reference to `bool QTest::qCompare<float, double>(float const&, double const&, char const*, char const*, char const*, int)' /home/jakob/programming/sonic-visualiser/svcore/base/test/o/../TestRangeMapper.h:76: undefined reference to `bool QTest::qCompare<float, double>(float const&, double const&, char const*, char const*, char const*, int)' /home/jakob/programming/sonic-visualiser/svcore/base/test/o/../TestRangeMapper.h:79: undefined reference to `bool QTest::qCompare<float, double>(float const&, double const&, char const*, char const*, char const*, int)' o/moc_TestRangeMapper.o:/home/jakob/programming/sonic-visualiser/svcore/base/test/o/../TestRangeMapper.h:80: more undefined references to `bool QTest::qCompare<float, double>(float const&, double const&, char const*, char const*, char const*, int)' follow |
From: Chris C. <ca...@al...> - 2014-02-27 09:24:12
|
On Thu, Feb 27, 2014, at 01:34 AM, Jakob Leben wrote: > Hmm, actually, doing make clean, reconfiguring without debug, and > rebuilding doesn't produce the executable anymore, either. And I mean > without any error reported. I don't think I've ever seen this -- though I have seen subdirectory ordering problems when doing a parallel build (e.g. make -j3) which require running make twice in order to get the binary. (recursive make considered harmful, etc) Which platform and version of Qt do you have? Does a new clone work? Chris |
From: Jakob L. <jak...@gm...> - 2014-02-27 09:29:29
|
On Thu, Feb 27, 2014 at 1:24 AM, Chris Cannam <ca...@al...>wrote: > I don't think I've ever seen this -- though I have seen subdirectory > ordering problems when doing a parallel build (e.g. make -j3) which > require running make twice in order to get the binary. (recursive make > considered harmful, etc) > Yeah, I figured so much: parallel make was probably the cause for my building issues. > Which platform and version of Qt do you have? Does a new clone work? > Ubuntu 13.10, Qt 4.x. I also have Qt 5.2 installed, but I don't know how to let the Sonic Visualiser's build system know where to look for Qt 5. Could you help with this? Anyway, building is succesful now, I'm more worried about the crash that I've mentioned in another thread. |
From: Chris C. <ca...@al...> - 2014-02-27 09:42:09
|
On Thu, Feb 27, 2014, at 09:29 AM, Jakob Leben wrote: > I also have Qt 5.2 installed, but I don't know how to let the Sonic > Visualiser's build system know where to look for Qt 5. Could you help > with this? The configure looks for qmake-qt5 in $QTDIR/bin qmake in $QTDIR/bin qmake-qt5 in $PATH qmake in $PATH and uses the first of those that it finds. It doesn't mind whether that is a Qt5 or Qt4 version (either should work). Chris |