Impacts of libc versioning (just committed)

John Marino dragonflybsd at marino.st
Mon Sep 14 13:58:02 PDT 2015


On 9/12/2015 4:59 PM, John Marino wrote:
> I just made a commit that will cause libc to be built with symbol
> versions from now on.  Among other benefits, this means that libc will
> never be "bumped" again, so the library's name is frozen at /lib/libc.so.8.
> 
> All third-party programs should continue to work (with a possible
> exception of a program wrongly using a libc variable or function that
> shouldn't have been exposed and which is no longer exposed).
> 
> It is possible that a quickworld build is sufficient to upgrade.
> However, this is neither tested nor recommended.  You should plan on
> your next build being the "full" build type just to be on the safe side.
> 
> All dports "master" packages (4.4) built after this date will not
> function on older systems that have not been upgraded past this commit:
> http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/43a397d9530c74c94b1d6555fa851d394f2ed930
> 
> Consequently, when the next bulk build for "master" is published, the
> current build will be moved from:
> dragonfly:4.4:x86:64/LATEST
> to
> dragonfly:4.4:x86:64/OLD_LIBC
> 
> This "OLD_LIBC" directory will be frozen and will remain in place until
> DragonFly 4.4 is officially released.  It is only for people that
> haven't the time to upgrade to the latest master version, but still need
> to install some new packages.
> 
> When the new packages are available, it would be a good idea to
> explicitly replace *ALL* packages on the master system.  To do that, you
> can use the "Bullet-proof upgrade technique" outlined here:
> https://www.dragonflybsd.org/docs/howtos/HowToDPorts/#index4h1
> 
> Hopefully everything will go smoothly with this transition, but
> understand that this is a pretty significant change to libc.

To follow up:
The newly built packages have been uploaded to LATEST and the older
packages have been moved to OLD_LIBC.

Remember not to update packages from LATEST until your machine is on the
current master.  If you can't upgrade immediate, update your pkg
configuration files to use OLD_LIBC repository until you can upgrade
everything.  Note that it will take some time for the packages to get
uploaded to the mirrors; I just updated mirror-master.

John



More information about the Users mailing list