This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: ctypes extension does not compile on Mac OS 10.3.9
Type: Stage:
Components: None Versions: Python 2.5
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: theller Nosy List: dalke, theller
Priority: high Keywords:

Created on 2006-03-29 08:28 by dalke, last changed 2022-04-11 14:56 by admin. This issue is now closed.

Messages (5)
msg27945 - (view) Author: Andrew Dalke (dalke) * (Python committer) Date: 2006-03-29 08:28
I compiled Python from CVS this morning.  It silently failed to compile 
ctypes.  Here is the text surrounding the failure

gcc [deleted] -c /Users/dalke/cvses/python-svn/Modules/_ctypes/
libffi/src/powerpc/darwin_closure.S -o build/temp.darwin-7.9.0-
Power_Macintosh-2.5/darwin_closure.o
darwin_closure.S:249:unknown section attribute: live_support
darwin_closure.S:249:Rest of line ignored. 1st junk character valued 69 
(E).
building 'itertools' extension
 ...

Python installed but when I tried to import ctypes I got

  File "/usr/local/lib/python2.5/ctypes/__init__.py", line 8, in 
<module>
    from _ctypes import Union, Structure, Array
ImportError: No module named _ctypes

I tracked it down to the '+live_support' attribute from the 
darwin_closure.S.  My compiler does not understand that.

Thomas Heller (in private email) pointed out the text from the ctypes 
README

        On OS X, the segment attribute live_support must be
	defined. If your compiler doesn't know about it, upgrade or
	set the environment variable CCASFLAGS="-Dno_live_support".

Upgrading is out of the option.  I set the environment variable but that 
did not fix things when I tried to recompile Python.  However, editing 
the file to remove the "+live_support" works.  All the self-tests passed, 
and my experimentation this afternoon was successful.

msg27946 - (view) Author: Thomas Heller (theller) * (Python committer) Date: 2006-04-03 20:18
Logged In: YES 
user_id=11105

As a temporary fix, I removed the '+live_support' attribute
in the source file.  Andrew, can you please verify that this
works for you?

Thanks, Thomas
msg27947 - (view) Author: Andrew Dalke (dalke) * (Python committer) Date: 2006-04-14 00:51
Logged In: YES 
user_id=190903

Sorry - was ill and not doing anything for a week.

I've built the latest code from SVN.  No problems with the compilation and I 
am able to import just fine.

I did get the following compiler warnings

/Users/dalke/cvses/python-svn/Modules/_ctypes/cfield.c: In function 
`CField_repr':
/Users/dalke/cvses/python-svn/Modules/_ctypes/cfield.c:259: warning: 
signed size_t format, Py_ssize_t arg (arg 3)
/Users/dalke/cvses/python-svn/Modules/_ctypes/cfield.c:267: warning: 
signed size_t format, Py_ssize_t arg (arg 3)


/Users/dalke/cvses/python-svn/Modules/_ctypes/libffi/src/powerpc/
ffi_darwin.c:383: warning: function declaration isn't a prototype
/Users/dalke/cvses/python-svn/Modules/_ctypes/libffi/src/powerpc/
ffi_darwin.c:384: warning: function declaration isn't a prototype
/Users/dalke/cvses/python-svn/Modules/_ctypes/libffi/src/powerpc/
ffi_darwin.c:388: warning: function declaration isn't a prototype
/Users/dalke/cvses/python-svn/Modules/_ctypes/libffi/src/powerpc/
ffi_darwin.c:389: warning: function declaration isn't a prototype
/Users/dalke/cvses/python-svn/Modules/_ctypes/libffi/src/powerpc/
ffi_darwin.c:394: warning: function declaration isn't a prototype
/Users/dalke/cvses/python-svn/Modules/_ctypes/libffi/src/powerpc/
ffi_darwin.c: In function `ffi_closure_helper_DARWIN':
/Users/dalke/cvses/python-svn/Modules/_ctypes/libffi/src/powerpc/
ffi_darwin.c:622: warning: unused variable `temp_ld'

When I run the self test I get one error

FAILED (errors=1)
Traceback (most recent call last):
  File "Lib/test/test_ctypes.py", line 12, in <module>
    test_main()
  File "Lib/test/test_ctypes.py", line 9, in test_main
    run_suite(unittest.TestSuite(suites))
  File "/Users/dalke/cvses/python-svn/Lib/test/test_support.py", line 285, in 
run_suite
    raise TestFailed(err)
test.test_support.TestFailed: Traceback (most recent call last):
  File "/Users/dalke/cvses/python-svn/Lib/ctypes/test/test_loading.py", line 
30, in test_load
    cdll.load(libc_name)
  File "/Users/dalke/cvses/python-svn/Lib/ctypes/_loader.py", line 112, in 
load
    return self._load(libname, mode)
  File "/Users/dalke/cvses/python-svn/Lib/ctypes/_loader.py", line 153, in 
_load
    return self.load_library(pathname, mode)
  File "/Users/dalke/cvses/python-svn/Lib/ctypes/_loader.py", line 124, in 
load_library
    return self._dlltype(libname, mode)
  File "/Users/dalke/cvses/python-svn/Lib/ctypes/__init__.py", line 288, in 
__init__
    self._handle = _dlopen(self._name, mode)
OSError: dlcompat: unable to open this file with RTLD_LOCAL


which is probably ignorable - OS X has its own sense of what shared libraries 
do.
msg27948 - (view) Author: Thomas Heller (theller) * (Python committer) Date: 2006-04-15 20:33
Logged In: YES 
user_id=11105

Thanks for the feedback.

For the warnings in Modules/_ctypes/cfield.c, I have no idea
what is wrong there.

For the warnings in the libffi-sources I tend to ignore them
because I don't want to change them too much.

For the test-failure: can you find out why this fails?

(In the meantime I'm trying to get hold of 10.3 installation
disks - any tips how to shrink the only existing partition
on my mac mini running 10.4 and setting up a multi-boot
system would be appreciated, if anyone wants to help.  As an
alternative ssh-access to an existing osx installation for
testing would of course also help. I don't know if this is
feasible or not ;-)
msg27949 - (view) Author: Thomas Heller (theller) * (Python committer) Date: 2006-05-09 18:36
Logged In: YES 
user_id=11105

I forgot to close this item.
History
Date User Action Args
2022-04-11 14:56:16adminsetgithub: 43109
2006-03-29 08:28:53dalkecreate