Jonathan Woithe | 1 May 02:08 2012
Picon

Re: incompatible version of ffado error message

On Mon, Apr 30, 2012 at 03:35:54PM +0200, Adrian Knoth wrote:
> On Mon, Apr 30, 2012 at 11:26:32PM +1000, Allan Klinbail wrote:
> > I've been using jack with ffado as the driver for a few years now.
> > Today, after upgrading ffado to the latest svn , (then tested working).
> > I then upgraded to the latest jack svn version. Following this I started
> > receiving the following incompatible error message. 
> 
> You were doing it in the wrong order.
> 
> FFADO detects the jackd version at compile time. If it's a new jackd
> version supporting the new API, it switches to the new API.

Similarly, if there is no jackd installed at compile time ffado assumes that
the jackd which will ultimately be available will support the new API.

So in Allan's case, he compiled a new FFADO against an old jack, which
resulted in a FFADO which uses the old API.  The old jack was happy with
this and everything worked.

> You've just told FFADO to adjust itself to an old jackd version.
> Simply compile FFADO again.

Yep, that should work.

However, from a development point of view I'm a little surprised that the
latest jackd didn't simply accept FFADO as it was.  The relevant line in
current jack1 is drivers/firewire/ffado_driver.c, line 786 and following.

  if(ffado_get_api_version() < FIREWIRE_REQUIRED_FFADO_API_VERSION) {
    printError("Incompatible libffado version! ...
(Continue reading)

Jonathan Woithe | 1 May 02:18 2012
Picon

Re: incompatible version of ffado error message

Hi Allan

On Mon, Apr 30, 2012 at 11:26:32PM +1000, Allan Klinbail wrote:
> As ffado doesn't seem to put out much by way of releases ...

We're hoping to rectify that soon, now that some of us actually have some
time again.

> ... many of the newer devices are only available by using the svn
> versions. (and some distros don't package them in stages). This could
> cause issues for many users that don't have the option of rolling back to
> the last stable release.
> 
> Is there some way of loosening this rule? 

The rule as it stands in the current git repo really needs to stand for
technical reasons.  However, it is now (as of a month or so ago) somewhat
more forgiving than it used to be.  From here on in, jackd should be much
more flexible as to which versions of libffado it is willing to work with,
which provides a cleaner avenue for future FFADO API updates.

Older versions of jackd are, however, still very picky about what libffado
version they are willing to tolerate.  Obviously we can't retrospectively
fix this so we've just got to accept it.  This is why current libffado
determines whether an old intolerant version of jackd is on the system and
adjusts itself so as to make that jackd version happy.  This, plus the more
flexible approach now taken by jackd, means that users *should* have the
option to upgrade either jackd, FFADO and still have a working system.

This is why I'm puzzled as to why your process broke things.  While the
(Continue reading)

Allan Klinbail | 2 May 00:29 2012
Picon
Picon

Re: incompatible version of ffado error message

On Tue, 2012-05-01 at 09:38 +0930, Jonathan Woithe wrote:
> On Mon, Apr 30, 2012 at 03:35:54PM +0200, Adrian Knoth wrote:
> > On Mon, Apr 30, 2012 at 11:26:32PM +1000, Allan Klinbail wrote:
> > > I've been using jack with ffado as the driver for a few years now.
> > > Today, after upgrading ffado to the latest svn , (then tested working).
> > > I then upgraded to the latest jack svn version. Following this I started
> > > receiving the following incompatible error message. 
> > 
> > You were doing it in the wrong order.
> > 
> > FFADO detects the jackd version at compile time. If it's a new jackd
> > version supporting the new API, it switches to the new API.
> 
> Similarly, if there is no jackd installed at compile time ffado assumes that
> the jackd which will ultimately be available will support the new API.
> 
> So in Allan's case, he compiled a new FFADO against an old jack, which
> resulted in a FFADO which uses the old API.  The old jack was happy with
> this and everything worked.
> 

I tried this in a few different ways in the end .. Same result. 

> > You've just told FFADO to adjust itself to an old jackd version.
> > Simply compile FFADO again.
> 
> Yep, that should work.
> 
> However, from a development point of view I'm a little surprised that the
> latest jackd didn't simply accept FFADO as it was.  The relevant line in
(Continue reading)

Allan Klinbail | 2 May 00:32 2012
Picon
Picon

Re: incompatible version of ffado error message

On Wed, 2012-05-02 at 08:29 +1000, Allan Klinbail wrote:
> On Tue, 2012-05-01 at 09:38 +0930, Jonathan Woithe wrote:
> > On Mon, Apr 30, 2012 at 03:35:54PM +0200, Adrian Knoth wrote:
> > > On Mon, Apr 30, 2012 at 11:26:32PM +1000, Allan Klinbail wrote:
> > > > I've been using jack with ffado as the driver for a few years now.
> > > > Today, after upgrading ffado to the latest svn , (then tested working).
> > > > I then upgraded to the latest jack svn version. Following this I started
> > > > receiving the following incompatible error message. 
> > > 
> > > You were doing it in the wrong order.
> > > 
> > > FFADO detects the jackd version at compile time. If it's a new jackd
> > > version supporting the new API, it switches to the new API.
> > 
> > Similarly, if there is no jackd installed at compile time ffado assumes that
> > the jackd which will ultimately be available will support the new API.
> > 
> > So in Allan's case, he compiled a new FFADO against an old jack, which
> > resulted in a FFADO which uses the old API.  The old jack was happy with
> > this and everything worked.
> > 
> 
> I tried this in a few different ways in the end .. Same result. 
> 
> 
> 
> > > You've just told FFADO to adjust itself to an old jackd version.
> > > Simply compile FFADO again.
> > 
> > Yep, that should work.
(Continue reading)

Jonathan Woithe | 2 May 04:51 2012
Picon

Re: incompatible version of ffado error message

Hi Allan

On Wed, May 02, 2012 at 08:32:45AM +1000, Allan Klinbail wrote:
> > > Oh hang on: Allan, you said "the latest jack svn version".  Did you
> > > literally use jack's subversion repository?  That is no longer carrying the
> > > latest jackd source as far as I know: if you want the latest jackd you need
> > > to get it using git.  This is described at
> > > 
> > >   http://jackaudio.org/download
> > 
> > Okay, jackd was built from the "live" ebuild in the gentoo pro-audio
> > repository, I would have to look at the ebuild for that to determine if
> > it was taking the older svn version or the git version. 
> 
> and there lies the problem ..
> 
> DESCRIPTION="Jackdmp jack implemention for multi-processor machine"
> HOMEPAGE="http://www.grame.fr/~letz/jackdmp.html"
> 
> ESVN_REPO_URI="http://subversion.jackaudio.org/jack/jack2/trunk/jackmp"
> 
> LICENSE="GPL-2"
> SLOT="0"
> KEYWORDS=""
>
> it's using SVN..

It is indeed.  Using the above URL I just checked out the code tree that
this would result in and it definitely pre-dates the latest round of work on
the JACK firewire driver (which uses libffado, in case that wasn't obvious).
(Continue reading)


Gmane