Aquileo | Recent changes to bugshttps://sourceforge.net/p/alsamodular/bugs/2013-04-06T09:09:32ZRecent changes to bugsAquileo | Cycles in module connections cause instant crash2013-04-06T09:09:32Z2013-04-06T09:09:32ZEdwardhttps://sourceforge.net/u/userid-1257499/https://sourceforge.net791c9b2b1461af5384b644ade17e4d9f175d99d6<div class="markdown_content"><p>Any time you create a cycle in the module graph, AMS crashes with a segmentation fault. For example, using the demo file example_basic.ams, connect the output of the VCA (ID 4) to the linear FM input of the VCO (ID 5) and the application will crash immediately. Note that if you first disconnect the PCM Out (ID 1) this crash does not occur. There may be technical reasons why such cycles can't be allowed, but I hope a future release of the app can provide an error message rather than crashing.</p></div>Aquileo | Function blocks don't work.2012-02-18T23:05:23Z2012-02-18T23:05:23ZBill Yerazunishttps://sourceforge.net/u/wsy/https://sourceforge.net9d133838c2c10849a61dfbc1c4c5a60be841cf48<div class="markdown_content"><p>The function blocks (1-&gt;1, 1-&gt;2, and 1-&gt;4) have two problems:</p> <p>1) the "track line" needs to be reinitialized by the user before it even draws correctly (mode pulldown to "reset", then click on the line).</p> <p>2) Even when it draws correctly, the output is always zero, no matter what the input.</p> <p>I looked at the code but I don't have a fix for either.</p></div>Aquileo | bad window function in FFT Vocoder2012-02-16T17:41:54Z2012-02-16T17:41:54ZBill Yerazunishttps://sourceforge.net/u/wsy/https://sourceforge.netcdd73b200f1e368e7eb25c29e656dd5930ee1b88<div class="markdown_content"><p>For some incomprehensible-to-me reason, the Hann window (one of the FFT window functions) fails - and locks up AMS.</p> <p>For now, I'll just disable that wndow function.</p> <p>Patch attached.</p></div>Aquileo | ams-2.0.1 fails to link because of missing -ldl2012-01-20T23:19:22Z2012-01-20T23:19:22ZSamuli Suominenhttps://sourceforge.net/u/ssuominen/https://sourceforge.net0e277da86c48e08ba9011a6ab356ce5abebdb1fc<div class="markdown_content"><p>First, LDADD should be used to pass libraries, not LDFLAGS and then...<br /> src/ladspadialog.cpp is using functions like dlsym, dlerror, and dlopen but src/Makefile.am doesn't have any references to -ldl so we end up with errors like:</p> <p>attached patch solves the issues</p> <p>-- cut --</p> <p>i686-pc-linux-gnu-g++ -DQT_SHARED -I/usr/include/qt4 -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtOpenGL -Wall -march=pentiumpro -msse -mfpmath=sse -ffast-math -O2 -pipe -L/usr/lib/qt4 -lQtGui -lQtCore -Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu -L/usr/lib/qt4 -o ams box.o canvas.o canvasfunction.o colorwidget.o configdialog.o envelope.o function.o guiwidget.o intmidislider.o ladspadialog.o m_ad.o m_advenv.o m_advmcv.o m_amp.o m_conv.o m_cvs.o m_delay.o m_dynamicwaves.o m_env.o m_function.o m_inv.o m_ladspa.o m_lfo.o m_mcv.o m_midiout.o m_mix.o m_mphlfo.o m_noise.o m_noise2.o m_pcmin.o m_pcmout.o m_quantizer.o m_ringmod.o m_scmcv.o m_scope.o m_scquantizer.o m_seq.o m_sh.o m_slew.o m_spectrum.o m_stereomix.o m_vca.o m_vcdoubledecay.o m_vcenv.o m_vcenv2.o m_vcf.o m_vco.o m_vco2.o m_vcorgan.o m_vcpanning.o m_vcswitch.o m_vquant.o m_wavout.o main.o mainwindow.o mced.o midicheckbox.o midicombobox.o midicontrollable.o midicontroller.o midiguicomponent.o midipushbutton.o midislider.o midisliderbase.o midiwidget.o modularsynth.o module.o multi_envelope.o port.o port_popup.o prefwidget.o scopescreen.o synthdata.o textedit.o notelist.o box_moc.o canvas_moc.o colorwidget_moc.o configdialog_moc.o function_moc.o guiwidget_moc.o ladspadialog_moc.o m_ad_moc.o m_advenv_moc.o m_advmcv_moc.o m_amp_moc.o m_conv_moc.o m_cvs_moc.o m_delay_moc.o m_dynamicwaves_moc.o m_env_moc.o m_function_moc.o m_inv_moc.o m_ladspa_moc.o m_lfo_moc.o m_mcv_moc.o m_midiout_moc.o m_mix_moc.o m_mphlfo_moc.o m_noise_moc.o m_noise2_moc.o m_pcmin_moc.o m_pcmout_moc.o m_quantizer_moc.o m_ringmod_moc.o m_scmcv_moc.o m_scope_moc.o m_scquantizer_moc.o m_seq_moc.o m_sh_moc.o m_slew_moc.o m_spectrum_moc.o m_stereomix_moc.o m_vca_moc.o m_vcdoubledecay_moc.o m_vcenv_moc.o m_vcenv2_moc.o m_vcf_moc.o m_vco_moc.o m_vco2_moc.o m_vcorgan_moc.o m_vcpanning_moc.o m_vcswitch_moc.o m_vquant_moc.o m_wavout_moc.o mainwindow_moc.o midicheckbox_moc.o midicombobox_moc.o midicontrollable_moc.o midiguicomponent_moc.o midipushbutton_moc.o midisliderbase_moc.o midiwidget_moc.o modularsynth_moc.o module_moc.o multi_envelope_moc.o port_moc.o port_popup_moc.o prefwidget_moc.o scopescreen_moc.o textedit_moc.o -lm -lpthread -ljack -lclalsadrv -lasound -lQtOpenGL -lQtGui -lQtCore <br /> ladspadialog.o:ladspadialog.cpp:function LadspaDialog::LadspaDialog(): error: undefined reference to 'dlsym'<br /> ladspadialog.o:ladspadialog.cpp:function LadspaDialog::LadspaDialog(): error: undefined reference to 'dlerror'<br /> ladspadialog.o:ladspadialog.cpp:function LadspaDialog::LadspaDialog(): error: undefined reference to 'dlopen'<br /> collect2: ld returned 1 exit status</p> <p>-- cut --</p> <p>Full build.log: <a href="http://bugs.gentoo.org/attachment.cgi?id=283411" rel="nofollow">http://bugs.gentoo.org/attachment.cgi?id=283411</a><br /> Original downstream bug report: <a href="http://bugs.gentoo.org/379251" rel="nofollow">http://bugs.gentoo.org/379251</a></p></div>Aquileo | qarecord Segmentation fault.2011-11-19T13:41:33Z2011-11-19T13:41:33ZPaolo Patrunohttps://sourceforge.net/u/pat1/https://sourceforge.net008812fc029779f9795cf7316b15d97974110307<div class="markdown_content"><p>On Fedora 16 working with qarecord:</p> <p>(gdb) run<br /> Starting program: /usr/bin/qarecord <br /> [Thread debugging using libthread_db enabled]<br /> Using host libthread_db library "/lib64/libthread_db.so.1".<br /> [New Thread 0x7fffefa0d700 (LWP 26668)]<br /> Using periodsize 2048 frames.<br /> Can't set sched_setscheduler - using normal priority<br /> [New Thread 0x7fffed77d700 (LWP 26669)]<br /> [New Thread 0x7fffecd79700 (LWP 26670)]<br /> [New Thread 0x7fffdffff700 (LWP 26671)]<br /> &lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt; Buffer Overrun &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br /> [Thread 0x7fffecd79700 (LWP 26670) exited]<br /> [New Thread 0x7fffecd79700 (LWP 26673)]<br /> [Thread 0x7fffecd79700 (LWP 26673) exited]<br /> [New Thread 0x7fffecd79700 (LWP 26681)]<br /> [Thread 0x7fffed77d700 (LWP 26669) exited]<br /> [New Thread 0x7fffed77d700 (LWP 26683)]<br /> /home/pat1/tmp/New1.wav already exists, renaming old file to /home/pat1/tmp/New1.old6.wav<br /> Writing to file /home/pat1/tmp/New1.wav<br /> [Thread 0x7fffed77d700 (LWP 26683) exited]<br /> [Thread 0x7fffecd79700 (LWP 26681) exited]<br /> [New Thread 0x7fffecd79700 (LWP 26684)]<br /> /home/pat1/tmp/New1.wav already exists, renaming old file to /home/pat1/tmp/New1.old7.wav<br /> Writing to file /home/pat1/tmp/New1.wav<br /> [Thread 0x7fffecd79700 (LWP 26684) exited]<br /> [New Thread 0x7fffecd79700 (LWP 26685)]<br /> /home/pat1/tmp/New1.wav already exists, renaming old file to /home/pat1/tmp/New1.old8.wav<br /> Writing to file /home/pat1/tmp/New1.wav<br /> [Thread 0x7fffecd79700 (LWP 26685) exited]<br /> [New Thread 0x7fffecd79700 (LWP 26686)]<br /> /home/pat1/tmp/New1.wav already exists, renaming old file to /home/pat1/tmp/New1.old9.wav<br /> Writing to file /home/pat1/tmp/New1.wav<br /> File write error<br /> [Thread 0x7fffecd79700 (LWP 26686) exited]<br /> [New Thread 0x7fffecd79700 (LWP 26687)]<br /> /home/pat1/tmp/New1.wav already exists, renaming old file to /home/pat1/tmp/New1.old10.wav<br /> Writing to file /home/pat1/tmp/New1.wav<br /> [Thread 0x7fffecd79700 (LWP 26687) exited]<br /> [New Thread 0x7fffecd79700 (LWP 26690)]<br /> /home/pat1/tmp/New1.wav already exists, renaming old file to /home/pat1/tmp/New1.old11.wav<br /> Writing to file /home/pat1/tmp/New1.wav<br /> [Thread 0x7fffecd79700 (LWP 26690) exited]<br /> &lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt; Buffer Overrun &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br /> [New Thread 0x7fffecd79700 (LWP 26697)]<br /> [New Thread 0x7fffed77d700 (LWP 26698)]<br /> [New Thread 0x7fffde222700 (LWP 26699)]<br /> [Thread 0x7fffed77d700 (LWP 26698) exited]<br /> [Thread 0x7fffde222700 (LWP 26699) exited]<br /> [New Thread 0x7fffde222700 (LWP 26700)]<br /> [Thread 0x7fffde222700 (LWP 26700) exited]<br /> [New Thread 0x7fffde222700 (LWP 26701)]<br /> [Thread 0x7fffde222700 (LWP 26701) exited]<br /> [New Thread 0x7fffde222700 (LWP 26708)]<br /> /home/pat1/tmp/New1.wav already exists, renaming old file to /home/pat1/tmp/New1.old12.wav<br /> Writing to file /home/pat1/tmp/New1.wav</p> <p>Program received signal SIGSEGV, Segmentation fault.<br /> [Switching to Thread 0x7fffde222700 (LWP 26708)]<br /> __mempcpy_sse2 () at ../sysdeps/x86_64/memcpy.S:273<br /> 273 rep<br /> Missing separate debuginfos, use: debuginfo-install lcms-libs-1.19-4.fc16.x86_64<br /> (gdb) where<br /> #0 __mempcpy_sse2 () at ../sysdeps/x86_64/memcpy.S:273<br /> #1 0x0000003ade4778f6 in _IO_new_file_xsputn (n=18446744073708257280, data=&lt;optimized out&gt;, f=0x7fffc40181b0) at fileops.c:1350<br /> #2 _IO_new_file_xsputn (f=0x7fffc40181b0, data=&lt;optimized out&gt;, n=18446744073708257280) at fileops.c:1305<br /> #3 0x0000003ade46d62d in _IO_fwrite (buf=&lt;optimized out&gt;, size=18446744073708257280, count=1, fp=0x7fffc40181b0) at iofwrite.c:45<br /> #4 0x00000000004089dc in DiskWrite::readBlock (this=0x838fe0, waitIfEmpty=&lt;optimized out&gt;, writeToFile=&lt;optimized out&gt;) at diskwrite.cpp:132<br /> #5 0x0000000000408c67 in DiskWrite::run (this=0x838fe0) at diskwrite.cpp:157<br /> #6 0x0000003f94a7bb1b in QThreadPrivate::start (arg=0x838fe0) at thread/qthread_unix.cpp:298<br /> #7 0x0000003adec07d90 in start_thread (arg=0x7fffde222700) at pthread_create.c:309<br /> #8 0x0000003ade4eeddd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115<br /> (gdb) </p></div>Aquileo | add64 doesn't build2011-05-19T13:27:39Z2011-05-19T13:27:39ZAlexandre Prokoudinehttps://sourceforge.net/u/prokoudine/https://sourceforge.netde3f0c70edd1d2c22377f1266666dbdd0c575c63<div class="markdown_content"><p>Add64 doesn't build on Ubuntu "Lucid" 10.04 with Qt4.6.2 and gcc 4.4.3:</p> <p><a href="http://pastebin.com/ufuSBZ7P" rel="nofollow">http://pastebin.com/ufuSBZ7P</a></p> <p>Please let me know what details you need to know to fix it.</p></div>Aquileo | add to parameter view cancel button does not work2010-09-06T20:44:35Z2010-09-06T20:44:35ZIoannis Babagopouloshttps://sourceforge.net/u/babagau/https://sourceforge.net3620a7f67141ea4c57d5a1639b76263855b4a1a7<div class="markdown_content"><p>the item is added to the parameter view more than once. How can it be deleted? Also how can a preset be deleted?</p></div>Aquileo | QMidiRoute: Output-Note not set correctly after loading .qmr2010-07-13T11:36:22Z2010-07-13T11:36:22ZAnonymoushttps://sourceforge.net/u/userid-None/https://sourceforge.netee648aa4659f093b0e96aaeefb1ef5f3b5834eab<div class="markdown_content"><p>In QMidiRoute, if a .qmr file is loaded in which a saved Map used "Fixed" in the Output-Note dropdown list, the map behaves as though "Offset" was chosen, even though "Fixed" is displayed in the box.<br /> If "Fixed" is reselected, the map then behaves as expected again.</p> <p>Eg:<br /> I make a Map that takes any note and outputs a fixed note 4.<br /> I save the settings to test.qmr<br /> Later, I load test.qmr. The Map shows "Fixed" in the dropdown list, but the output is whatever note played plus 4.<br /> I reselect "Fixed" from the list. The output is now always note 4 as expected.</p></div>Aquileo | ams.real crashed with SIGSEGV in jack_port_unregister()2010-04-14T09:17:59Z2010-04-14T09:17:59Zquadrisprohttps://sourceforge.net/u/quadrispro/https://sourceforge.netdb96c32c94f0e70f0e7d21d45709b012b65e9291<div class="markdown_content"><p>This bug was originally reported to Launchpad, please see the following link for more information:<br /> <a href="https://bugs.launchpad.net/ubuntu/+source/ams/+bug/553366" rel="nofollow">https://bugs.launchpad.net/ubuntu/+source/ams/+bug/553366</a><br /> -------------------------------------------------------------------------------------------------------------------------------------------------------<br /> Binary package hint: ams</p> <p>ams.real crashed with SIGSEGV in jack_port_unregister()</p> <p>ProblemType: Crash<br /> DistroRelease: Ubuntu 10.04<br /> Package: ams 2.0.1-2<br /> ProcVersionSignature: Ubuntu 2.6.32-18.27-generic 2.6.32.10+drm33.1<br /> Uname: Linux 2.6.32-18-generic x86_64<br /> NonfreeKernelModules: nvidia<br /> Architecture: amd64<br /> Date: Thu Apr 1 17:08:22 2010<br /> EcryptfsInUse: Yes<br /> ExecutablePath: /usr/lib/ams/ams.real<br /> InstallationMedia: Ubuntu 10.04 "Lucid Lynx" - Alpha amd64 (20100224.1)<br /> ProcCmdline: /usr/lib/ams/ams.real --presetpath /usr/share/ams<br /> ProcEnviron:<br /> LANG=it_IT.utf8<br /> SHELL=/bin/bash<br /> SegvAnalysis:<br /> Segfault happened at: 0x7f5aacb0a28a &lt;jack_port_unregister+26&gt;: mov 0x18(%rsi),%rax<br /> PC (0x7f5aacb0a28a) ok<br /> source "0x18(%rsi)" (0x00000018) not located in a known VMA region (needed readable region)!<br /> destination "%rax" ok<br /> SegvReason: reading NULL VMA<br /> Signal: 11<br /> SourcePackage: ams<br /> StacktraceTop:<br /> jack_port_unregister () from /usr/lib/libjack.so.0<br /> ?? ()<br /> ?? ()<br /> ?? ()<br /> QObjectPrivate::deleteChildren() ()<br /> Title: ams.real crashed with SIGSEGV in jack_port_unregister()<br /> UserGroups: adm admin cdrom dialout lpadmin plugdev sambashare<br /> XsessionErrors: (polkit-gnome-authentication-agent-1:1716): GLib-CRITICAL **: g_once_init_leave: assertion `initialization_value != 0' failed</p></div>Aquileo | FTBFS: error: no matching function for call to 'min(qreal&, 2010-02-26T00:04:01Z2010-02-26T00:04:01Zquadrisprohttps://sourceforge.net/u/quadrispro/https://sourceforge.net7c17a788ec7d645db1e7e79facd7594ce02aede9<div class="markdown_content"><p>ams fails to build from source on armel</p> <p>Please apply the following patch to fix this:</p> <h1 id="noindex-ams-201srccanvasfunctioncpp">Index: ams-2.0.1/src/canvasfunction.cpp</h1> <p>--- ams-2.0.1.orig/src/canvasfunction.cpp 2010-02-23 14:49:01.000000000 +0000<br /> +++ ams-2.0.1/src/canvasfunction.cpp 2010-02-23 14:51:25.000000000 +0000<br /> @@ -34,10 +34,10 @@<br /> qreal x = event-&gt;scenePos().x();<br /> qreal y = event-&gt;scenePos().y();</p> <p>- x = std::min(x, 5.0 * FUNCTION_SCALE);<br /> - x = std::max(x, -5.0 * FUNCTION_SCALE);<br /> - y = std::min(y, 5.0 * FUNCTION_SCALE);<br /> - y = std::max(y, -5.0 * FUNCTION_SCALE);<br /> + x = std::min(x, (qreal)(5.0 * FUNCTION_SCALE));<br /> + x = std::max(x, (qreal)(-5.0 * FUNCTION_SCALE));<br /> + y = std::min(y, (qreal)(5.0 * FUNCTION_SCALE));<br /> + y = std::max(y, (qreal)(-5.0 * FUNCTION_SCALE));</p> <p>switch (*function.mode) {<br /> case 0:<br /> @@ -58,8 +58,8 @@<br /> for (int _p = 0; _p &lt; function.pointCount; ++_p) {<br /> QPointF newPos = canvasPoints.at(_p)-&gt;scenePos();<br /> newPos.setX(newPos.x() + delta);<br /> - newPos.setX(std::min(newPos.x(), 5.0 * FUNCTION_SCALE));<br /> - newPos.setX(std::max(newPos.x(), -5.0 * FUNCTION_SCALE));<br /> + newPos.setX(std::min(newPos.x(), (qreal)(5.0 * FUNCTION_SCALE)));<br /> + newPos.setX(std::max(newPos.x(), (qreal)(-5.0 * FUNCTION_SCALE)));<br /> setPoint(_p, newPos);<br /> }<br /> } break;<br /> @@ -69,8 +69,8 @@<br /> for (int _p = 0; _p &lt; function.pointCount; ++_p) {<br /> QPointF newPos = canvasPoints.at(_p)-&gt;scenePos();<br /> newPos.setY(newPos.y() + delta);<br /> - newPos.setY(std::min(newPos.y(), 5.0 * FUNCTION_SCALE));<br /> - newPos.setY(std::max(newPos.y(), -5.0 * FUNCTION_SCALE));<br /> + newPos.setY(std::min(newPos.y(), (qreal)(5.0 * FUNCTION_SCALE)));<br /> + newPos.setY(std::max(newPos.y(), (qreal)(-5.0 * FUNCTION_SCALE)));<br /> setPoint(_p, newPos);<br /> }<br /> } break;<br /> @@ -80,8 +80,8 @@<br /> for (int _p = 0; _p &lt; function.pointCount; ++_p) {<br /> QPointF newPos = canvasPoints.at(_p)-&gt;scenePos();<br /> newPos.setX(pos0[_p].x() * delta);<br /> - newPos.setX(std::min(newPos.x(), 5.0 * FUNCTION_SCALE));<br /> - newPos.setX(std::max(newPos.x(), -5.0 * FUNCTION_SCALE));<br /> + newPos.setX(std::min(newPos.x(), (qreal)(5.0 * FUNCTION_SCALE)));<br /> + newPos.setX(std::max(newPos.x(), (qreal)(-5.0 * FUNCTION_SCALE)));<br /> setPoint(_p, newPos);<br /> }<br /> } break;<br /> @@ -91,8 +91,8 @@<br /> for (int _p = 0; _p &lt; function.pointCount; ++_p) {<br /> QPointF newPos = canvasPoints.at(_p)-&gt;scenePos();<br /> newPos.setY(pos0[_p].y() * delta);<br /> - newPos.setY(std::min(newPos.y(), 5.0 * FUNCTION_SCALE));<br /> - newPos.setY(std::max(newPos.y(), -5.0 * FUNCTION_SCALE));<br /> + newPos.setY(std::min(newPos.y(), (qreal)(5.0 * FUNCTION_SCALE)));<br /> + newPos.setY(std::max(newPos.y(), (qreal)(-5.0 * FUNCTION_SCALE)));<br /> setPoint(_p, newPos);<br /> }<br /> } break;<br /> Index: ams-2.0.1/src/function.cpp<br /> ===================================================================<br /> --- ams-2.0.1.orig/src/function.cpp 2010-02-23 15:07:29.000000000 +0000<br /> +++ ams-2.0.1/src/function.cpp 2010-02-23 15:09:40.000000000 +0000<br /> @@ -144,7 +144,7 @@<br /> {<br /> qreal y = ceil(rect.topLeft().y() * zoom / FUNCTION_SCALE);<br /> y *= FUNCTION_SCALE / zoom;<br /> - QLineF l(std::max(-5.0 * FUNCTION_SCALE, rect.topLeft().x()), y, std::min(5.0 * FUNCTION_SCALE, rect.topRight().x()), y);<br /> + QLineF l(std::max((qreal)(-5.0 * FUNCTION_SCALE), rect.topLeft().x()), y, std::min((qreal)(5.0 * FUNCTION_SCALE), rect.topRight().x()), y);<br /> while (l.y1() &lt; rect.bottomLeft().y()) {<br /> painter-&gt;drawLine(l);<br /> painter-&gt;drawText(l.p1(), s.setNum(l.y1() / FUNCTION_SCALE));<br /> @@ -154,7 +154,7 @@<br /> {<br /> qreal x = ceil(rect.topLeft().x() * zoom / FUNCTION_SCALE);<br /> x *= FUNCTION_SCALE / zoom;<br /> - QLineF l(x, std::max(-5.0 * FUNCTION_SCALE, rect.topLeft().y()), x, std::min(5.0 * FUNCTION_SCALE, rect.bottomLeft().y()));<br /> + QLineF l(x, std::max((qreal)(-5.0 * FUNCTION_SCALE), rect.topLeft().y()), x, std::min((qreal)(5.0 * FUNCTION_SCALE), rect.bottomLeft().y()));<br /> while (l.x1() &lt; rect.bottomRight().x()) {<br /> painter-&gt;drawLine(l);<br /> painter-&gt;drawText(l.p1(), s.setNum(l.x1() / FUNCTION_SCALE));</p> <p>This bug was originally reported to Debian BTS:<br /> <a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=570848" rel="nofollow">http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=570848</a></p></div>