Skip site navigation (1)Skip section navigation (2)
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>