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. --
pgptcFJfTQTpy.pgp
Description: PGP signature