[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

ardour



Hi debian-devel!

It's about ardour, a Ardour is a multichannel hard disk recorder (HDR)
and digital audio workstation (DAW) [http://ardour.sourceforge.net/]. An
ITP was filed a while ago [http://bugs.debian.org/95870].  It is quite
big, written in C++, making heavy use of jack, ladspa, midi, rt.  

Way back last year, Mandrake distributed a C++ library compiled
with options, that caused ardour not to be compilable and/or showing
strange behaviour, strange bugs... 

Users complained they were not able to compile ardour because of these
libraries and C++'s ABI instability.

So Paul Davis (upstream) decided to include all C++ libraries except
libstdc++ (I don't understand that exception) in the CVS tree. Namely
libgtk-canvas, libgtkmm, libsigc++, libart. They are built along with
ardour, compiled as static objects and linked statically.  The other C++
libraries (libpbd, libmidi++, libgtkmmext, libardour) belong to ardour
and are in the CVS anyway. The libraries having to do with GUI
(libgtk-canvas, libgtkmm, libart, libgtkmmext) are statically linked
into the ardour executable, the others are statically linked together
into libardour (libpbd, libmidi++, libardour, libsigc++) which itself is
shared.

That makes the build process overly long and the binaries and the
library overly large.

In my attempt to prepare ardour for Debian I removed the external
libraries and linked against the ones in Debian dynamically.
[http://n.ethz.ch/student/robertjo/download/ardour/]. Paul reacted with
"I will firmly and publically denounce any packaging of Ardour that use
dynamic linking to any C++ library except (and possibly including)
libstdc++." (He means "linking to libraries not compiled in one run with
ardour").
http://boudicca.tux.org/hypermail/ardour-dev/2002-Jun/0068.html

Although stating this is problably not against the GPL, disobeying Paul as
upstream won't make maintaining the Debian package very easy.

It is clearly against policy and libpkg-guide.

http://www.debian.org/doc/debian-policy/ch-files.html#s11.2
http://www.netfort.gr.jp/~dancer/column/libpkg-guide/libpkg-guide.html#AEN199

Other threads about the discussion:

http://boudicca.tux.org/hypermail/ardour-dev/2002-May/0415.html
http://boudicca.tux.org/hypermail/ardour-dev/2002-Jun/0038.html
http://boudicca.tux.org/hypermail/ardour-dev/2002-Aug/0256.html

So there remain the following options:

a) No ardour in Debian

b) build the libraries with ardour and link statically against them
   (Pauls wish, against policy and my feelings)
   
c) dynamically link against the libraries in Debian (against Paul,
   compliant with policy and my feelings)
   
d) distribute *-dbg binaries that are statically compiled as a reference 
   that is to be used prior to writing bug reports (I don't know how Paul 
   thinks about this, whether he he wants fresh libraries to be compiled 
   and whether that's okay with policy. At least lintian complains, though.)
   
e) introduce a system to check the libraries for their correct
   compilation flags at runtime (I have no idea how to do that)

What are the opinions?

    Robert.

-- 

Attachment: pgpV5NkhzyhFy.pgp
Description: PGP signature


Reply to: