From owner-freebsd-stable@FreeBSD.ORG Wed Mar 19 20:28:38 2008 Return-Path: Delivered-To: freebsd-stable@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5B18F1065674 for ; Wed, 19 Mar 2008 20:28:38 +0000 (UTC) (envelope-from olli@lurza.secnetix.de) Received: from lurza.secnetix.de (unknown [IPv6:2a01:170:102f::2]) by mx1.freebsd.org (Postfix) with ESMTP id BDCF08FC2E for ; Wed, 19 Mar 2008 20:28:37 +0000 (UTC) (envelope-from olli@lurza.secnetix.de) Received: from lurza.secnetix.de (localhost [127.0.0.1]) by lurza.secnetix.de (8.14.1/8.14.1) with ESMTP id m2JKSZYl098817; Wed, 19 Mar 2008 21:28:36 +0100 (CET) (envelope-from oliver.fromme@secnetix.de) Received: (from olli@localhost) by lurza.secnetix.de (8.14.1/8.14.1/Submit) id m2JKSZen098816; Wed, 19 Mar 2008 21:28:35 +0100 (CET) (envelope-from olli) Date: Wed, 19 Mar 2008 21:28:35 +0100 (CET) Message-Id: <200803192028.m2JKSZen098816@lurza.secnetix.de> From: Oliver Fromme To: freebsd-stable@FreeBSD.ORG, mlerota@iskon.hr In-Reply-To: <868x0ezh9u.fsf@zid.claresco.hr> X-Newsgroups: list.freebsd-stable User-Agent: tin/1.8.3-20070201 ("Scotasay") (UNIX) (FreeBSD/6.2-STABLE-20070808 (i386)) MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-2.1.2 (lurza.secnetix.de [127.0.0.1]); Wed, 19 Mar 2008 21:28:36 +0100 (CET) Cc: Subject: Re: Upgrading to 7.0 - stupid requirements X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: freebsd-stable@FreeBSD.ORG, mlerota@iskon.hr List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Mar 2008 20:28:38 -0000 Marko Lerota wrote: > This thing should be solved. I liked the way that my OS have > independance from ports. Well, they are not really completely independent. The ports still use libraries from the base OS, e.g. libc, threading libraries etc. Please try to understand the following simple example. The problem is this: Program A from ports links against library B from ports. Both programm A and libray B als link against libc.so.6 from the base OS (FreeBSD 6). Now you update to FreeBSD 7, but you don't update all the ports. Everything still works (even though FreeBSD has a new libc.so.7), because the old software uses libc.so.6 from the compat6x port. BUT ... As soon as you have to update the old library B because of a security problem or anything, you will run into problems: The new library B will link against the new libc.so.7, but the old program A (which uses library B) is still linked against the libc.do.6 from compat6x. So when you try to run program A, it will try to load both libc.so.6 and libc.so.7 (via library B), which will fail, because a binary cannot use two different versions of the same library at once. So program A stops working. Of course, rebuilding program A will solve the problem, so it links to the new libc.so.7, too. That's easy. But in practice it is a lot more complicated, because you have many ports with many binaries and many libraries, with many dependencies between them. You could try to run "pkg_info -R" each time you update something, so you can make sure to update all ports dependent on the one you update. If you do this every time, everything will continue to work, but it's tedious, and as soon as you forget something, you will run into trouble. Really, the easiest and most reliable way is to rebuild all ports (or download compiled packages) and be done with it. > So no metter what I do with ports, my OS and his apps will work. They _will_ work. The trouble only starts when you update some of the ports on which other ports depend, as explained above. > If this thing can be solved (I'm not programmer so I don't know) I can > donate some amount of $ for development. I think that this would make > lots of people happy. I have to admit I see no way how the problem could be solved in a different way, I'm afraid. Best regards Oliver -- Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M. Handelsregister: Registergericht Muenchen, HRA 74606, Geschäftsfuehrung: secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht Mün- chen, HRB 125758, Geschäftsführer: Maik Bachmann, Olaf Erb, Ralf Gebhart FreeBSD-Dienstleistungen, -Produkte und mehr: http://www.secnetix.de/bsd "C++ is over-complicated nonsense. And Bjorn Shoestrap's book a danger to public health. I tried reading it once, I was in recovery for months." -- Cliff Sarginson