[PlanetCCRMA] FW: [Ardour-users] Ardour/jack totally broken on two systems now using jack 0.39.0...

Fernando Pablo Lopez-Lezcano nando@ccrma.Stanford.EDU
Thu Oct 10 10:25:05 2002


>    What's the preferred method to remove packages that were installed with
> apt-get? 

>From the command line you can either use rpm (as in "rpm -e package_name") 
or apt-get ("apt-get remove package_name"). Rpm will warn you if the 
package is needed by others, it would not be good to bypass that and 
remove it anyway :-) Apt-get will tell you which other packages will be 
removed as well so that dependencies are clean and prompt you on whether 
to proceed. 

I have not tried synaptic for package removal. You probably have to select
the package, click "remove" and then at some point "execute" the removal.

> The PlanetCCRMA process and the straight compile process are
> putting jack in different places and this seems to be causing problems for
> me as I am trying to run a newer version of jack.

I'm using a "/usr" prefix as that is the default for all other redhat
packages. Some (most?) programs by default select "/usr/local" as the
prefix. You can change where the package will be installed by adding a
"--prefix=/usr" argument to the configure process, the make install will 
install with /usr as the prefix (that is what I'm doing in the rpm spec 
file).

So now let's assume that you go ahead and rebuild jack with a plain
configure, make, make install cycle and select "/usr" as the prefix,
without removing the existing jack rpm first (because if you do you will
have to also remove all the jack aware applications so that dependencies
are not broken - remember, apt-get will not work on a system with broken
dependencies and that is good).

That may (will?) break existing applications if the library version number
or api compatibility of the newer jack have changed. That is, a plain
configure, make, make install will check that jack can be installed (ie:  
all libraries and programs it needs are there), it will definitely not
check if _other_ existing programs in the system that need jack can work
with the newly installed jack libraries.

The only proper solution (IMHO) is rebuild a jack rpm with the newer
version and deal with all the dependency problems properly. That is if you
want stability. You can always test things by "writing over" the existing
rpm with a make install, with the proviso that applications might stop
working. You then can make uninstall the new package and force a reinstall
of the original rpm if you want things to be back to where they were.

There is some very strong advocacy from time to time for just using
configure, make, make install for all installs and strong criticism of
packaging systems (not you, of course :-) Yet nobody talks much about the
fact that the configure method has serious maintenance problems, it does
not mantain consistency with already installed programs, that is, a
perfectly legal install can break already installed programs. Of course if
you _know_ what you are doing at the dependency level you can get away
with it, or if your system is one of a kind and you never have to
reinstall from scratch then it is fine (or if your library is used by one
program only and you update the program and library at the same time).

-- Fernando