[tlbuild] interact.cc and getline insanity

Mojca Miklavec mojca.miklavec.lists at gmail.com
Thu Apr 24 16:10:39 CEST 2014


On Thu, Apr 24, 2014 at 3:35 PM, John Bowman wrote:
> On Thu, Apr 24, 2014 at 2:05 AM, Mojca Miklavec wrote:
>>
>> The getline function is not portable.  It is GNU/Linux specific.  It
>> is documented as such on the manpage and in the libc
>
> That is incorrect. From the Linux man page:

I was indeed citing a post from 2005. Solaris 10 was released in the
same year (with end of support in 2021).

> "CONFORMING TO
>        Both getline() and getdelim() were  originally  GNU  extensions.
> They
>        were standardized in POSIX.1-2008."
>
> It is now 2014: only very old (and neglected) platforms should be affected.

IPv6 standard was published in 1998. ;)

> May I suggest that one either upgrade such systems or simply ignore them.
>
> You may need to define some macro to enable _POSIX_C_SOURCE
> (for details, check the stdio.h header).
> Let me know what is needed for Solaris 11 and I will add it to interact.cc.

For me a minimal example compiles out-of-the-box on Sparc Solaris 11
with GCC 4.8. No extra flags or defines. (Solaris seems to be only
POSIX 2003 compliant and I cannot make it work with any kind of
defines.)

> But please first check your headers to see how to make your system POSIX
> 2008 compliant
> (and complain to your vendor; as this really shouldn't be necessary).

TeX Live binaries are trying to support as old systems as can
reasonably be done. There is no way the vendor could possibly fix such
kind of issues on old systems. That might actually break a lot more
issues than it can fix (I imagine that some software might rely on
specific os versions not having specific features). On top of that,
there is no incentive for the vendor to do so.

Mojca



More information about the tlbuild mailing list