"../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
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" :
Configured with: ../gcc-4.1.0/configure --prefix=/usr --libexecdir=/usr/lib
--enable-shared --enable-threads=posix --enable-__cxa_atexit
Thread model: posix
gcc version 4.1.0
system is an LFS with the folowing key packages :
Linux 220.127.116.11 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
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?
Same problem on my system.
Using built-in specs.
Configured with: ../src/configure -v
--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
--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
Read this thread for details:
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).
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)
void GetNext4SamplesStereoMMXSSE(sample_t* pSrc, void* Pos, float& Pitch)
(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!
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.