Building error: Jack_latency_range_t does not have a type

Hello guys, I’m trying to build ardour2.8.12 and I can’t figure out the error message that it gives me:

[...] In file included from libs/ardour/audio_diskstream.cc:45: libs/ardour/ardour/audioengine.h:262: error: ‘jack_latency_callback_mode_t’ has not been declared libs/ardour/ardour/audioengine.h:264: error: ‘jack_latency_callback_mode_t’ has not been declared In file included from libs/ardour/ardour/audio_diskstream.h:42, from libs/ardour/audio_diskstream.cc:47: libs/ardour/ardour/port.h:173: error: ‘jack_latency_range_t’ has not been declared libs/ardour/ardour/port.h:175: error: ‘jack_latency_range_t’ has not been declared libs/ardour/ardour/port.h:176: error: ISO C++ forbids declaration of ‘jack_latency_range_t’ with no type libs/ardour/ardour/port.h:176: error: expected ‘;’ before ‘&’ token libs/ardour/ardour/port.h:178: error: ‘jack_latency_range_t’ has not been declared libs/ardour/ardour/port.h:179: error: ‘jack_latency_range_t’ does not name a type libs/ardour/ardour/port.h:216: error: ‘jack_latency_range_t’ does not name a type libs/ardour/ardour/port.h:217: error: ‘jack_latency_range_t’ does not name a type scons: *** [libs/ardour/audio_diskstream.os] Error 1 scons: building terminated because of errors.

I can’t find any information about that error.
I’m using Debian squeeze that I reinstalled 3 days ago.
Before reinstalling Debian I managed to compile ardour without any problems.

I appreciate any hint :smiley:

Do you have the latest JACK development package(s) installed?

:o maybe not, I have the ones in the repos of debian.

I will try to compile the latest jack available now and see what happens :smiley: thanks

Edit: I will install jack2, unless ardour works better with jack1

Thanks linuxdsp, that was it for installing ardour :smiley:
Now I have problems compiling jack with alsa drivers xD

@rombus: because you also don’t have the development version of the ALSA library installed.

Have you tried building JACK1 (JACK2 is not an improved version of JACK1, but a fork, and I would recommend trying JACK1 if possible)
Also - have you tried configuring the JACK build with ./configure --prefix=/usr

Thanks for answering paul, and again I have an older package of the dev alsa library. Can’t install the latest one, it give’s me an “breaks existing dependency” I’m going to install debian testing to se if I can have a more “bleeding edge” system :smiley:

I'm using Debian squeeze that I reinstalled 3 days ago. Before reinstalling Debian I managed to compile ardour without any problems.

Which prompts the question, what, if you had a perfectly good functioning system on which you could compile and use ardour, prompted you to tear it down and re-install?

Which prompts the question, what, if you had a perfectly good functioning system on which you could compile and use ardour, prompted you to tear it down and re-install?

It wasn’t a perfectly good functioning system xD, I managed to compile ardour2 with out any problems, but from experimenting with other stuff I broke many things as nautilus won’t start up, can’t gksu nautilus, kde4 desktop won’t start neither, and many things that annoyed me (still a usable system though). So I decided to reinstall (I use different partitions to my personal data so it isn’t that big of a deal)

And don’t know how now I cant get jack with alsa driver support and back then with the same system it didn’t took me more than an hour to set all up.

Squeeze repos are too old, ardour is in ver 1.x and alsa and jack are old too.

I had all the dev libraries installed but from the repos.
While writing this post I managed to install all alsa packages from here:
https://luxitude.net/debian/pool/main/a/
but still got the same error while configuring jack.

JACK 1.9.8 exported from r4653 Build with a maximum of 64 JACK clients Build with a maximum of 768 ports per application Install prefix : /usr/local Library directory : /usr/local/lib Drivers directory : /usr/local/lib/jack Build debuggable binaries : no C compiler flags : ['-Wall'] C++ compiler flags : ['-Wall'] Linker flags : ['-lm -lstdc++'] Build doxygen documentation : no Build with engine profiling : no Build with 32/64 bits mixed mode : no Build standard JACK (jackd) : yes Build D-Bus JACK (jackdbus) : no Build with ALSA support : no Build with FireWire (FreeBob) support : no Build with FireWire (FFADO) support : no

Hi,

One confusing thing about JACK is if you build JACK1 is has the extra configure options enabled by default however in Squeeze there is no freebob libs so to build JACK1 in Squeeze you should use --prefix=/usr --disable-freebob on your configure command.

JACK2 is the complete opposite and requires you to build with each option explicitly added to the configure line (ie --dbus --alsa) I don’t use JACK2 so you need to check out what the actual configs are…

Squeeze isn’t that old and provides Ardour 2.8.11 and you should have all the build dependencies to build a JACK update to either version 1 or 2 (I recommend 1).

As a last resort I don’t guarantee this to work with Squeeze but you could try this bundle of JACK 0.121.3 made for AV Linux which is loosely based on Squeeze. Download the zip file, extract it and read the README to install it.

http://bandshed.net/custom/JACK1-0.121.3avlinux.zip

Squeeze is a solid base but is lacking many things like JACK Session, new LV2 libraries etc etc. If you get a newer JACK running I’d forget about Debian Ardour packages and use precompiled binary bundle packages for Ardour 2.8.12 which has all the other stuff you need in addition to JACK available here:

http://ardour.org/download

If you just want to start using a system with all this stuff figured out for you in a Debian Squeeze environment you may want to look at AV Linux: http://www.bandshed.net/AVLinux.html

Thanks for the answers, you’ve given me a lot to research :smiley:

adding the --prefix=/usr gives me the same error.

But I was building jack2, I will try with jack1 now.

JACK2 is the complete opposite and requires you to build with each option explicitly added to the configure line (ie --dbus --alsa) I don't use JACK2 so you need to check out what the actual configs are...

The whole JACK1 / JACK2 thing is a bit of mess it seems :frowning:

  • which is a great pity because JACK is one of the most powerful pieces of the linux (pro)-audio infrastructure.

@linuxdsp

I concur wholeheartedly!

I would suggest that this would be a vital piece of information to be added at jackaudio.org, or perhaps both development branches employ the same configuration method. This is not the first time this issue has come up here, although because relatively few people roll their own JACK it certainly isn’t a daily occurence.

I compiled JACK1, it says that Alsa is enabled, however, it said at the beginning:

WARNING: ON ANY DEBIAN-DERIVED DISTRIBUTION (Debian, Ubuntu etc)
CHANGING THE INSTALLATION PREFIX WILL NOT PRODUCE A WORKING JACK
INSTALL. Please contact the distribution packager for JACK and
ask them to fix their packaging.

I did ./configure --prefix=/usr --disable-freebob and it apparently worked.

But now when I try to run jackd I got this error:

jackd: symbol lookup error: jackd: undefined symbol: clock_source

The weird thing is that I can’t remove jack from my system. I go to synaptic to remove jack2 and it forces jack1 installation. If i try to remove jack1 and it forces jack2 installation.

if I can, I will make a fresh debian squeeze install today. And try to do this again, maybe I broke something in the process. Now I know a few things that maybe in a fresh install will get jack running.

PD: Av linux has no amd64 version? I can’t find one

Hi

I suggest you go into any source folders for JACK you’ve downloaded and built from and run ‘make uninstall’ as root. Then go to Synaptic and (re)install JACK1 from Squeeze which is 0.118.0 I believe. Then see if JACK runs for you… If so grab a fresh source of JACK 0.121.3 from jackaudio .org and build it with '–prefix=/usr --disable-freebob.

You can’t install things willy nilly to /usr and /usr/local and then try bringing repository packages into the mix.

As far as AV Linux not being 64bit… That’s correct, 64bit has no real bearing on producing audio content and in fact throws up several hurdles with legacy 32bit plugins from other platforms. Other than Blender I can’t think of any Linux applications that truly show any significant performance improvements over their 32bit counterparts. 64bit is great and there is nothing ‘wrong’ with it, however a system that works and allows you to freely create is far more important than the CPU architecture.

In acknowledgement of the increased RAM handling afforded by 64bit AV Linux provides optional PAE Kernels which will allow handling up to 64Gb of RAM. Beyond that for audio production the differences between the architectures are virtually invisible.

@linuxdsp and @gmaq : its the FIRST item in the FAQ at http://jackaudio.org/faq

paul

I admittedly had missed the FAQ completely, however like most people I grab the code from the download links on the homepage of jackaudio.org. Perhaps a ‘Before Building JACK See This’ link to the FAQ article from the homepage in a visible spot near the release announcement blurbs would be helpful.

I’m certainly not being critical here, obviously you have taken the time to put a wealth of information on the JACK site. Looking pragmatically at it it might save some headaches for all involved to have more obvious build related information in the same location as the source code.

I got it guys, reinstalled my debian and follow your stepts and finally got jack and ardour working :smiley:

Thanks for the help

@rombus

Glad it worked out for you, something you should realize is that Debian Squeeze as-is will not be capable of building Ardour 3 due to numerous missing dependencies. However to my knowledge now that you have compiled the recent JACK version you should have no problems running Ardour 3 from the binary bundles here at ardour.org.

happy recording!