[Python-bugs-list] [Bug #131170] make install fails on macosx for Python-2.1a2

noreply@sourceforge.net noreply@sourceforge.net
Fri, 09 Feb 2001 15:30:19 -0800


Bug #131170, was updated on 2001-Feb-05 12:51
Here is a current snapshot of the bug.

Project: Python
Category: Build
Status: Open
Resolution: None
Bug Group: Platform-specific
Priority: 5
Submitted by: sdm7g
Assigned to : nascheme
Summary: make install fails on macosx for Python-2.1a2

Details: Python-2.1a2 on macosx 
make install fails trying to ranlib the shared library:

ranlib: file: /usr/local/lib/python2.1/config/libpython2.1.dylib is not an
archive

(This bug wasn't in 2.0, and I don't think was in 2.1a1.)

-- Steve M.

Follow-Ups:

Date: 2001-Feb-09 15:30
By: tim_one

Comment:
Assigned to Neil for the heck of it.
-------------------------------------------------------

Date: 2001-Feb-07 19:43
By: sdm7g

Comment:
Well, the missing libtool switch to tell it the
library will be installed somewhere else is:

 -install_name  $(LIBPL)/$(LDLIBRARY)

but building with that switch causes python to
be unable to find the os.module and sys.path
is set all  wrong. (and it fails somewhere 
else in 'make' )

It looks like the WITH_NEXT_FRAMEWORK
conditional code in getpath.c is getting
the path not from the executable, but from
the library. 

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

Date: 2001-Feb-07 19:42
By: sdm7g

Comment:
Well, the missing libtool switch to tell it the
library will be installed somewhere else is:

 -install_name  $(LIBPL)/$(LDLIBRARY)

but building with that switch causes python to
be unable to find the os.module and sys.path
is set all  wrong. (and it fails somewhere 
else in 'make' )

It looks like the WITH_NEXT_FRAMEWORK
conditional code in getpath.c is getting
the path not from the executable, but from
the library. 

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

Date: 2001-Feb-07 19:34
By: sdm7g

Comment:
Well, the missing libtool switch to tell it the
library will be installed somewhere else is:

 -install_name  $(LIBPL)/$(LDLIBRARY)

but building with that switch causes python to
be unable to find the os.module and sys.path
is set all  wrong. (and it fails somewhere 
else in 'make' )

It looks like the WITH_NEXT_FRAMEWORK
conditional code in getpath.c is getting
the path not from the executable, but from
the library. 

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

Date: 2001-Feb-07 15:07
By: sdm7g

Comment:
Note: after removing the ranlib, installation succeeds, and the program
works when you are in
the python directory, however, running the installed program from somewhere
else gives the 
fatal error:

dyld: python2.1 can't open library: libpython2.1.dylib  (No such file or
directory, errno = 2)

If you look at the python executable with 
"otool -L" , you can see that system frameworks,
for example, have their complete pathnames, while
libpython2.1.dylib has no path, so it's expected 
in the current directory. 

(looking for the libtool option to correct this...)  -- Steve M. 
-------------------------------------------------------

Date: 2001-Feb-05 13:12
By: nobody

Comment:
Commenting out the $(RANLIB) line in the
install section of Makefile seems to fix the problem on macosx, but I don't
know if it is a problemon any other platforms. 

       @if test -d $(LDLIBRARY); then :; else \
                $(INSTALL_DATA) $(LDLIBRARY) $(LIBPL)/$(LDLIBRARY) ; \
#               $(RANLIB) $(LIBPL)/$(LDLIBRARY) ; \

-- Steve M.
-------------------------------------------------------

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