[Python-bugs-list] [Bug #112289] NetBSD1.4.2 build issue

noreply@sourceforge.net noreply@sourceforge.net
Fri, 15 Sep 2000 12:15:41 -0700


Bug #112289, was updated on 2000-Aug-18 19:50
Here is a current snapshot of the bug.

Project: Python
Category: Core
Status: Open
Resolution: None
Bug Group: Platform-specific
Priority: 6
Summary: NetBSD1.4.2 build issue

Details: the recent fileobjects.c work done for large files (tmick) appears
broken when compiled against NetBSD1.4.2.

During the final link, you get the following output:

gcc   python.o  ../libpython2.0.a   -lutil -lm  -o python
fileobject.c:280: Undefined symbol `_TELL64' referenced from text segment

Follow-Ups:

Date: 2000-Aug-18 19:55
By: none

Comment:
NOTE:  I didn't include the configure output.  If that
would be helpful, go ahead and indicate that in this
tracking system.

If tmick (or whoever) would like me to contact them directly,
I would happily do so.
-------------------------------------------------------

Date: 2000-Aug-31 08:45
By: tmick

Comment:
Sent to python-dev:

1. Who reported this bug? He talked about providing more information and I
would like to speak with him. I cannot find his email address.
2. Does anybody have a NetBSD1.4.2 (or close) machine that I can get shell
access to? Do you know if they have such a machine at SourceForge that users
can get shell access to? Or failing that can someone with such a machine give
me the full ./configure and make output and maybe run this command:
   find /usr/include -name "*" -type f | xargs -l grep -nH _TELL64
and give me the output.


-------------------------------------------------------

Date: 2000-Aug-31 08:47
By: tmick

Comment:
I got no reponse and I have no NetBSD machine on which to reproduce so, as Jeremy suggested, if I wouldn't get it by this evening then assign back to him.

Other questions:
- How old/recent is version 1.4.2 of NetBSD?
- Where is _TELL64 coming from? Not from Python code.

-------------------------------------------------------

Date: 2000-Sep-06 08:43
By: tmick

Comment:
Thanks to Brad (knotwell@NOSPAM f5 NOSPAM.com) who reported the bug I got shell access on his NetBSD 1.4.2 box to play a little bit. I found the problem but I don't have the Right (tm) fix. Here is what I found:

The _TELL64 compilation failure is for the #define TELL64 usage in fileobject.c for a 64-bit capable tell() system function. Currently this is only defined and used for Win64. The funny thing is that to get to the code section using TELL64 the NetBSD box had to (1) pass the configure test for HAVE_LARGEFILE_SUPPORT, (2) have sizeof(fpos_t) >= 8, and (3) *not* have fseeko (as required by the Single Unix Specification) or fseek64 defined.

As far as I can tell NetBSD *should* define fseeko() and ftello() if it wants to say that it supports largefiles. I *think* that you can manage it via fsetpos() and fgetpos(), which is what I did for largefile support on Win64 (although on Win64 I still relied on a 64-bit capable tell() function -- hence TELL64).  I don't have the time right now to get and verify a working fsetpos/fgetpos solution.

A quick fix is to ifdef out HAVE_LARGEFILE_SUPPORT for NetBSD 1.4.2 but I don't know the proper #define's for that. It is also ugly.

-------------------------------------------------------

Date: 2000-Sep-15 12:15
By: jhylton

Comment:
Trent -- will you have time to work on this between now and 2.0b2?

-------------------------------------------------------

For detailed info, follow this link:
http://sourceforge.net/bugs/?func=detailbug&bug_id=112289&group_id=5470