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

Re: [ardour-dev] ardour



> > >work, helped by the autobuilders. Moreover, the build dependencies can
> > >guarantee you the package will build fine if you try at home.
> > 
> > !!NO THEY DO NOT!! why can people not understand this? there is no

Yes, they do *inside a distribution*.  And as long as whomever is compiling
stuff does so without ever using _binaries_ from anywhere else, it will keep
doing so.

If an user of a Debian stable system compiles all his C++ stuff using his
Debian tools, and only gets binaries (i.e. stuff he did not compile himself)
from Debian, he never hits any compatibilities.

> > dependency system for linux in existence that can check this. its not

Actually, there is if you don't mind patching ld and gcc.  But it causes
more pain than what is worth, and it helps little.  Here it is:

1.  Teach gcc to always version symbols using the soname, and for C++
    also append a internal gcc C++ ABI "soname" to the versioning.
    (you must also make sure to take proper care of all the sonames,
    including the internal C++ ABI one. Ouch)

2.  Recompile the entire distribution.  You want versioned symbols
    everywhere.

3.  Teach ld.so that libraries without versioning are a fatal error.  Think
    of it as a non-optional safety measure against users doing what they
    should not be doing.

I doubt anyone will be doing that anytime soon.  And the above system can be
easily sabotaged anyway, you just need someone 'helpfully' distributing
binaries that have all the versionings matching the ones in your system, but
are not really 100% ABI-compatible.

> > i don't know, and nobody that i have spoken to knows, of any way to do
> > this. without it, "building at home" is subject to the kind of bizarre
> > breakage we saw with ardour for a year or more.

"Building at home" is safe if you don't get binary crap from "untrustable"
sources.  At least as long as you are using something high-quality, I won't
speak for other Linux distributions (but I very much doubt they ship
something that much broken).

The Debian user can, and is encouraged to, build whatever crap he wants at
home.  It will all work fine as far as a constant toolchain can guarantee
it, and *it bloody hell CAN* guarantee it for C++.

We are not asking you, Ardor upstream, to use our build system (although you
*are* welcome to).   But it would be very helpful if you were not against
what would be done to Ardor's build system so that it can be added to
Debian.

-- 
  "One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie." -- The Silicon Valley Tarot
  Henrique Holschuh



Reply to: