"../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 ;-) )
Could you please give additional information about your system, like distribution, gcc -v, etc.
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 2.6.16.3 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.
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
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-1.4.2.0/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)
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
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).
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)
(In reply to comment #6) > Created an attachment (id=15) [edit] > 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!
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.