Subject: ELF vs. a.out and Python 2.0 build
To: None <tech-pkg@NetBSD.ORG>
From: Kent Polk <>
List: tech-pkg
Date: 11/08/2000 17:22:02
IT appears to me that Python 2.0 shared modules build correctly on
ELF machines, but aren't built correctly on the older a.out machines.

on a.out (NetBSD 1.4.2) :

Python 2.0 (#2, Nov  6 2000, 16:01:37) 
[GCC egcs-2.91.60 19981201 (egcs-1.1.1 release)] on netbsd1
Type "copyright", "credits" or "license" for more information.
>>> import _socket
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
ImportError: dynamic module does not define init function (init_socket)

$ nm | grep init_socket
00002714 T _init_socket
(note      ^ underscore)
On ELF (1.5 alpha) :

$ nm | grep init_socket
00003644 T init_socket
(which works)

Evidently there's a problem with the symbol naming mechanism to be
used when building shared modules for a.out. I compared configure
options with Python 1.5.2 and can't determine how this should be
fixed for a.out with Python 2.0. (Tried a number of possibilities)

Any suggestions? Thanks