I was trying to build ardourvst 2.5 in a 32bits chroot on my Debian amd64, but i got this error message :
libs/pbd/fpu.cc: In constructor 'PBD::FPU::FPU()':
libs/pbd/fpu.cc:66: warning: dereferencing type-punned pointer will break strict-aliasing rules
{standard input}: Assembler messages:
{standard input}:117: Error: bad register name `%rbx'
{standard input}:118: Error: bad register name `%rax'
{standard input}:120: Error: bad register name `%rdx'
{standard input}:121: Error: bad register name `%rbx'
{standard input}:212: Error: bad register name `%rbx'
{standard input}:213: Error: bad register name `%rax'
{standard input}:215: Error: bad register name `%rdx'
{standard input}:216: Error: bad register name `%rbx'
scons: *** [libs/pbd/fpu.os] Error 1
scons: building terminated because of errors.
I’m not an expert, so does someone what i did wrong?
I have no idea. I can tell you that is much more likely that its a problem with your build setup, since I build ardour on an amd64 platform all the time. It may be that the build system for arodur is not able to correctly identify your chroot-ed environment as a 32 bit one, and thus attempts to use the 64 bit branch of the FPU-management code. I am not sure that chroot can alter the way that the processor type will be perceived (its determined by reading /proc/cpuinfo)
I changed the file SConstruct and replaced the line 684
env['DIST_TARGET'] = 'x86_64'
by
env['DIST_TARGET'] = 'i686'
and it built ardourvst in my chroot.
But.
After configuring jackd in the chroot, i start it :
$ dchroot -d
I : [chroot i32] Exécution de l'interpréteur de commandes : « /bin/bash »
$ /usr/bin/jackd -t 0 -m -p 128 -R -P 90 -T -d alsa -n 2 -r 96000 -p 1024 -d hw:0,0
jackd 0.109.2
Copyright 2001-2005 Paul Davis and others.
jackd comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
JACK compiled with System V SHM support.
loading driver …
apparent rate = 96000
creating alsa driver … hw:0,0|hw:0,0|1024|2|96000|0|0|nomon|swmeter|-|32bit
control device hw:0
configuring for 96000Hz, period = 1024 frames (10.7 ms), buffer = 2 periods
ALSA: final selected sample format for capture: 32bit little-endian
ALSA: use 2 periods for capture
ALSA: final selected sample format for playback: 32bit little-endian
ALSA: use 2 periods for playback
Then i start ardourvst :
$ dchroot -c i32 -d ardourvst
But it just stays on the startup logo and jack crashes.
There is this error message :
$ subgraph starting at ardour timed out (subgraph_wait_fd=7, status = 0, state = Triggered)
**** alsa_pcm: xrun of at least 0.020 msecs
cannot read event response from client [ardour] (Connection reset by peer)
bad status for client event handling (type =8)
cannot send event to client [ardour] (Broken pipe)
bad status for client event handling (type =8)
**** alsa_pcm: xrun of at least 29.683 msecs
In /32bits/usr/local/lib/vst there is xxx.fst file for the vst xxx.dll that i put there for the tests.