Is it time for a libc_fixes library yet?

Ken Cunningham ken.cunningham.webuse at gmail.com
Mon Jul 3 17:07:18 UTC 2017


So the last 10 or so tickets in trac seem like they are all for basically the same issue - a few missing symbols from libc prior to 10.7.

It is easy enough, but time consuming, to patch each individual source file that is missing the definition (there might be several, also, so you might have to do it multiple times in different files).

With this library of these missing functions <https://github.com/kencu/snowleopardfixes>, all of them from the Apple open source website IIRC, all you need to do is the following in the Portfile:

if {${os.platform} eq "darwin" && ${os.major} < 11}  {
	depends_lib-append          port:snowleopardfixes
	configure.ldflags-append   -lsnowleopardfixes
}
It could be better named, perhaps libcfixes, as it applies to 10.4 to 10.6, not just SnowLeopard. 

It works for wine, and all the other ports that have had this issue. It takes 10 seconds to do, and no patching.

Is it time for this? Or shall we continue as we are?


Best,

Ken




Addendum 1

I have a header in there as well to provide the function definitions, but that header can cause trouble by bringing in other #defines, and it seems that no port actually needs the header. Perhaps the header idea can be improved by someone with more knowledge of #include_next, etc, or more specific defines.

Addendum 2

As we have said before (last year) this library could be automatically linked in by base. That would cause trouble with the ports that have already patched in a def, tho.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macports.org/pipermail/macports-dev/attachments/20170703/048cada2/attachment.html>


More information about the macports-dev mailing list