Date: Wed, 12 Jul 2017 19:21:41 +0200 From: Stefan Esser <se@freebsd.org> To: freebsd-ports@freebsd.org Subject: Re: make install for print/texinfo fails on -CURRENT Message-ID: <c6235227-7b27-163b-4200-af992b3caf4f@freebsd.org> In-Reply-To: <3334253.jqyq3Qq0X5@dragon.local> References: <20170710190004.GE96529@rancor.immure.com> <1596485265.85516.1499779591107@office.mailbox.org> <20170711134717.GL96529@rancor.immure.com> <3334253.jqyq3Qq0X5@dragon.local>
next in thread | previous in thread | raw e-mail | index | archive | help
Am 12.07.17 um 18:11 schrieb David Naylor: > On Tuesday, 11 July 2017 08:47:17 Bob Willcox wrote: >> Hmm, I just tried running synth on my test system again (this is the system >> that I successfully built and install texinfo on just a bit ago) and synth >> still fails with the same build errors as before. I'm not all that familiar >> with synth, but it appears that it may be working with some old stuff. > > Hi > > (Replying to a random email) > > I've encountered the exact same issue while building the i386 packages for > wine. Once I forced a rebuild of _all_ texinfo dependencies, installation > worked. > > I suspect an ABI change in -CURRENT that broke a dependency (sounds like perl > based on the thread). I had a problem with subversion after the upgrade to 1.9.6, and this was due to an incompatibility with the apr library, which had not been rebuilt for some time. Seems that this is fall-out from the ino64 changes. Seems that while symbol versioning allows old libraries to access struct stat as it was before the change, this struct stat passed to a freshly built binary (or library) by reference will cause obvious failures. So, if you compile any port after the ino64 change, better make sure that all referenced libraries (that operate on struct stat and might pass such a struct to a fresh binary) have been rebuilt before. As long as binary packages are built on a pre-ino64 machine, the resulting packages ought to work on any -CURRENT system. But if you build any port that references a library installed by such a package, you risk mixing different versions of struct stat. This will continue to be a problem as long as the -CURRENT package builders are pre-ino64. If the package builders are upgraded to support ino64, all ports that call stat() (or other functions with call signature affected by ino64) should have PORTREVISION bumped, as should all ports depending on them. Regards, STefan
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?c6235227-7b27-163b-4200-af992b3caf4f>