|Summary:||Resampler.h : Compile problem with gcc 4.1.0|
|Product:||LinuxSampler||Reporter:||Marc-Olivier Barre <mo.barre>|
|Component:||other||Assignee:||Christian Schoenebeck <cuse>|
|Attachments:||Possible fix to compile with gcc-4|
Description Marc-Olivier Barre 2006-04-22 00:54:37 CEST
"../common/Resampler.h:142: error: memory input 2 is not directly addressable" This bug was previously reported when using gcc prior to 3.3 (as indicated in the FAQ). FAQ needs to be corrected to state this fact and eventualy, a patch could help since people using gcc 4.1 will need to disable assembly code to get things going (it's a shame on a system that's meant to be real time ;-) )
Comment 1 Christian Schoenebeck 2006-04-22 01:19:19 CEST
Could you please give additional information about your system, like distribution, gcc -v, etc.
Comment 2 Marc-Olivier Barre 2006-04-22 11:25:21 CEST
Output of "gcc -v" : Target: i686-pc-linux-gnu Configured with: ../gcc-4.1.0/configure --prefix=/usr --libexecdir=/usr/lib --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --enable-languages=c,c++ Thread model: posix gcc version 4.1.0 ___________________________________________________ system is an LFS with the folowing key packages : Linux 126.96.36.199 with ingo molnar's RT patch binutils : 2.16.1 glibc : 2.4 jack : 0.100.0 libgig : 2.0.2 liblscp : 0.3.2 qsampler : 0.1.2 ____________________________________________________ Hardware is an Asus A7v laptop (Pentium M 1.7 GHz, RAM : 2x512Gb, chipset is i915GM) with a Hammerfall multiface. ____________________________________________________ I had time last evening to test my setup with linuxsampler by disabling assembly code. I used a midi keyboard as input, a huge Grand Piano Gig, and my HDSP as output. Seems to be stable, but CPU consuming when using to much of the sustain pedal.
Comment 3 David Paleino 2006-05-20 15:59:08 CEST
I've tried compiling it with gcc 4.0.4. Same problem. Then I tried installing gcc 4.1.1 (which is 4.1.0-4 in Debian repositories), but the problem is still there. Any solution? David
Comment 4 James Stone 2006-05-25 14:00:31 CEST
Same problem on my system. g++ -v Using built-in specs. Target: i486-linux-gnu Configured with: ../src/configure -v --enable-languages=c,c++,java,f95,objc,ada,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --program-suffix=-4.0 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --enable-java-awt=gtk-default --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-4.0-188.8.131.52/jre --enable-mpfr --disable-werror --with-tune=i686 --enable-checking=release i486-linux-gnu Thread model: posix gcc version 4.0.4 20060507 (prerelease) (Debian 4.0.3-3)
Comment 5 Christian Schoenebeck 2006-06-19 18:38:38 CEST
I'm sorry to say, but chances are low that we'll investigate this problem any further. Either use an older version of GCC (i.e. 3.3 or 3.4) to compile the old 0.3.3 tarball release of LinuxSampler or try using the latest CVS version of LinuxSampler. Read this thread for details: http://sourceforge.net/mailarchive/forum.php?thread_id=14063621&forum_id=12792
Comment 6 Christian Schoenebeck 2006-10-22 15:28:19 CEST
Created attachment 15 [details] Possible fix to compile with gcc-4 I just accidently stumbled on this patch from the Gentoo BTS. Please try if it works for you (both on compile time as well as on runtime).
Comment 7 Michał Gawron 2007-01-30 16:21:06 CET
Solution: C++ does NOT allow getting pointers to consts, and there are two places in Resampler.h where it is tried to be done. Look at: const float __4f = 4.0f; Few lines below a pointer to __4f is requested (in asm). Just remove `const' from variable declaration and it will work. This repeats in: void GetNext4SamplesMonoMMXSSE(sample_t* pSrc, void* Pos, float& Pitch) and void GetNext4SamplesStereoMMXSSE(sample_t* pSrc, void* Pos, float& Pitch)
Comment 8 Jordan B 2007-03-30 19:32:02 CEST
(In reply to comment #6) > Created an attachment (id=15)  > Possible fix to compile with gcc-4 > > I just accidently stumbled on this patch from the Gentoo BTS. Please try if it > works for you (both on compile time as well as on runtime). Compiling with gcc 4.1, 4.0, and 3.4 all failed, so I tried this attachment and it worked! Basically you change the __4f s to &__4f. Thanks!
Comment 9 Christian Schoenebeck 2007-05-12 22:44:15 CEST
Closing this report as WONTFIX now, since we don't maintain the old 0.3.x branch of LinuxSampler anymore. In case this bug affects you, please update to the 0.4.x branch of LinuxSampler.