Opened 13 years ago

Closed 12 years ago

#33606 closed defect (wontfix)

python27: build fails with segmentation fault

Reported by: nathanielbreedlove@… Owned by: jyrkiwahlstedt
Priority: Normal Milestone:
Component: ports Version: 2.0.4
Keywords: Cc: ryandesign (Ryan Carsten Schmidt), erikmouw (Erik Mouw), bugports@…, nathanielbreedlove@…
Port: python27

Description (last modified by ryandesign (Ryan Carsten Schmidt))

Last login: Mon Mar 12 12:33:34 on console
Nathans-MacBook-Pro:~ nathanbreedlove$ sudo port install wine
Password:
--->  Computing dependencies for wine
--->  Dependencies to be installed: apple-gcc42 gst-plugins-base gnome-vfs gconf dbus-glib gtk-doc gnome-doc-utils py27-libxml2 python27 python27 py27-libxml2 rarian getopt gtk2 atk gdk-pixbuf2 jasper jpeg jpeg libpng libpng tiff tiff hicolor-icon-theme pango Xft2 xrender xorg-libX11 autoconf help2man p5.12-locale-gettext automake libtool xorg-bigreqsproto xorg-inputproto xorg-kbproto xorg-libXau xorg-xproto xorg-libXdmcp xorg-libxcb xorg-libpthread-stubs xorg-xcb-proto xorg-util-macros xorg-xcmiscproto xorg-xextproto xorg-xf86bigfontproto xorg-xtrans xorg-renderproto xrender cairo libpixman xorg-xcb-util shared-mime-info xorg-libXcomposite xorg-compositeproto xorg-libXext xorg-libXfixes xorg-fixesproto xorg-libXcomposite xorg-libXcursor xorg-libXcursor xorg-libXdamage xorg-damageproto xorg-libXi xorg-libXi xorg-libXinerama xorg-xineramaproto xorg-libXinerama xorg-libXrandr xorg-randrproto xorg-libXrandr orbit2 libidl policykit eggdbus gnome-mime-data gstreamer gzip texinfo gstreamer libtheora libvorbis libogg orc lcms mesa makedepend xorg-dri2proto xorg-glproto xorg-libXmu xorg-libXt xorg-libsm xorg-libice xorg-libsm xorg-libXxf86vm xorg-xf86vidmodeproto
--->  Building python27
Error: Target org.macports.build returned: shell command failed (see log for details)
Error: Failed to install python27
Log for python27 is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_python27/python27/main.log
Error: The following dependencies were not installed: gst-plugins-base gnome-vfs gconf dbus-glib gtk-doc gnome-doc-utils py27-libxml2 python27 python27 py27-libxml2 rarian getopt gtk2 atk gdk-pixbuf2 jasper jpeg jpeg libpng libpng tiff tiff hicolor-icon-theme pango Xft2 xrender xorg-libX11 autoconf help2man p5.12-locale-gettext automake libtool xorg-bigreqsproto xorg-inputproto xorg-kbproto xorg-libXau xorg-xproto xorg-libXdmcp xorg-libxcb xorg-libpthread-stubs xorg-xcb-proto xorg-util-macros xorg-xcmiscproto xorg-xextproto xorg-xf86bigfontproto xorg-xtrans xorg-renderproto xrender cairo libpixman xorg-xcb-util shared-mime-info xorg-libXcomposite xorg-compositeproto xorg-libXext xorg-libXfixes xorg-fixesproto xorg-libXcomposite xorg-libXcursor xorg-libXcursor xorg-libXdamage xorg-damageproto xorg-libXi xorg-libXi xorg-libXinerama xorg-xineramaproto xorg-libXinerama xorg-libXrandr xorg-randrproto xorg-libXrandr orbit2 libidl policykit eggdbus gnome-mime-data gstreamer gzip texinfo gstreamer libtheora libvorbis libogg orc lcms mesa makedepend xorg-dri2proto xorg-glproto xorg-libXmu xorg-libXt xorg-libsm xorg-libice xorg-libsm xorg-libXxf86vm xorg-xf86vidmodeproto
Error: Status 1 encountered during processing.
To report a bug, see <http://guide.macports.org/#project.tickets>
Nathans-MacBook-Pro:~ nathanbreedlove$ 

Attachments (3)

main.log (1.2 MB) - added by erikmouw (Erik Mouw) 13 years ago.
python27-main.log
main.2.log (4.0 KB) - added by nathanielbreedlove@… 13 years ago.
ok i think this is it
main.3.log (326.9 KB) - added by nathanielbreedlove@… 13 years ago.
ok, i cleaned it (pretty sure i cleaned it before too), here it is

Download all attachments as: .zip

Change History (23)

comment:1 Changed 13 years ago by nathanielbreedlove@…

sorry didn't realize it would paste like this, may have to open new ticket or something cause i don't see an edit option anywhere

comment:2 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Description: modified (diff)
Port: python27 added
Summary: trying to install wine, followed steps but when i get to the actual wine part this happenspython27: build fails

Please attach python27's main.log file so we can see what happened.

comment:3 Changed 13 years ago by nathanielbreedlove@…

sorry but i don't even know how to get that... I don't know how to navigate the terminal (didn't think i would have to with the guide). I might be able to attach it if you explain how to get python27's main log?

comment:4 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: ryandesign@… added
Owner: changed from macports-tickets@… to jwa@…

To attach the logfile you would follow these steps, which don't involve any use of the Terminal:

  1. If you are reading this message in your email program, click the link to open the ticket into your web browser.
  2. Select and copy to the clipboard the logfile's path which was printed in the error message: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_python27/python27/main.log
  3. Click the "Attach file" button above in this ticket. This will load a new page.
  4. Click the "Choose file" button to bring up the file selection sheet.
  5. Press Command-Shift-G to access the "Go to folder" sheet.
  6. Press Command-V to paste the logfile path you copied before.
  7. Click the "Go" button to go to the pasted location and dismiss the "Go to folder" sheet.
  8. Click the "Choose" button to select the file and dismiss the file selection sheet.
  9. Click the "Add attachment" button to upload it and attach it to the ticket.

But I can already tell, by the fact that the output above shows MacPorts skipping directly to the Building phase, skipping the other phases that usually come before it, that this was not a clean build attempt, and that can cause build failures. So regardless what the incomplete log says, the first thing I'll ask you to do is to "sudo port clean python27" and try installing it again; cleaning and trying again is a good first thing to try anytime any port fails to build. If it fails again after cleaning, then we'll want to see that complete main.log file.

comment:5 in reply to:  3 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Oh, and:

Replying to nathanielbreedlove@…:

I don't know how to navigate the terminal (didn't think i would have to with the guide).

You should familiarize yourself with how to use the terminal, or rather the shell known as bash, which is what a terminal window shows you. Use of MacPorts, and of most of the software you can install using MacPorts, is rather dependent on your knowing how to get around a command line.

Changed 13 years ago by erikmouw (Erik Mouw)

Attachment: main.log added

python27-main.log

comment:6 Changed 13 years ago by erikmouw (Erik Mouw)

Same here while upgrading:

$ sudo port clean python27
--->  Cleaning python27
$ sudo port upgrade outdated
--->  Computing dependencies for xorg-libxcb
--->  Dependencies to be installed: python27
--->  Fetching archive for python27
--->  Attempting to fetch python27-2.7.2_4+universal.darwin_10.i386-x86_64.tgz from http://packages.macports.org/python27
--->  Fetching python27
--->  Verifying checksum(s) for python27
--->  Extracting python27
--->  Applying patches to python27
--->  Configuring python27
--->  Building python27
--->  Staging python27 into destroot
Error: Target org.macports.destroot returned: shell command failed (see log for details)
Error: Failed to install python27
Log for python27 is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_python27/python27/main.log
Error: The following dependencies were not installed: python27
Error: Unable to upgrade port: 1
To report a bug, see <http://guide.macports.org/#project.tickets>

I have attached the main.log.

It looks like the installation is looking for the file tclIndex in /System/Library/Frameworks/Tcl.framework/Versions/8.5/Resources/ , but that file can be found in /System/Library/Frameworks/Tcl.framework/Versions/8.5/Resource/Scripts/ .
I have tried to symlink /System/Library/Frameworks/Tcl.framework/Versions/8.5/Resource/tclIndex to that, but then the upgrade fails while looking for /usr/lib/tclIndex. This could of course be a red herring, the cause might be somewhere else.

HTH,

Regards,

Erik

comment:7 Changed 13 years ago by erikmouw (Erik Mouw)

Cc: erikmouw@… added

Cc Me!

comment:8 Changed 13 years ago by nathanielbreedlove@…

I cleaned python 27 but it still didn't work and Erik has attached the main log

comment:9 Changed 13 years ago by bugports@…

At the end of the logfile:

:debug:destroot couldn't open "/System/Library/Frameworks/Tcl.framework/Versions/8.5/Resources/tclIndex": no such file or directory

right, the path to tclIndex on my Mac is: /System/Library/Frameworks/Tcl.framework/Versions/8.5/Resources/Scripts/tclIndex

comment:10 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: bugports@… added

The error message about tclIndex is completely irrelevant to this problem; ignore it.

erikmouw, your log shows the following:

:info:destroot ImportError: dlopen(/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/_xmlplus/parsers/pyexpat.so, 2): no suitable image found.  Did find:
:info:destroot 	/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/_xmlplus/parsers/pyexpat.so: mach-o, but wrong architecture

This means you have python27 already installed but for a different architecture. "sudo port -f uninstall python27", then "sudo port clean python27" and try again.

nathanielbreedlove, erikmouw's log showed a failure at destroot time but your log showed a problem at build time, so I don't believe the two of you are experiencing the same problem. Please attach your main.log.

comment:11 Changed 13 years ago by nathanielbreedlove@…

Cc: nathanielbreedlove@… added

Cc Me!

comment:12 Changed 13 years ago by nathanielbreedlove@…

sorry guys but even with those instructions I seem to be unable to attach let alone find the main.log, thanks for the help but don't worry about it I'll just do without

comment:13 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

At which step of the instructions did you run into problems?

It's possible the problem you're experiencing building python27 is unique to your system, but on the other hand it could affect other users, and if so, we'd love the opportunity to fix it before other users encounter it. But we can't know what went wrong until we see the log.

comment:14 in reply to:  10 Changed 13 years ago by erikmouw (Erik Mouw)

Replying to ryandesign@…:

This means you have python27 already installed but for a different architecture. "sudo port -f uninstall python27", then "sudo port clean python27" and try again.

Almost there. I was wondering how that different architecture got there, but I found out it's the universal variant that fails. What happens is that python27 is installed, a package that is being updated requires python27+universal, which forces an upgrade of python27 to python27+universal:

$ sudo port -f uninstall python27
Password:
--->  Unable to uninstall python27 @2.7.2_4, the following ports depend on it:
--->  	asciidoc @8.6.6_0+python27
--->  	cfv @1.18.3_2+python27
--->  	duplicity @0.6.17_1
--->  	gnome-doc-utils @0.20.6_0+python27
--->  	gtk-doc @1.18_0+python27
--->  	libproxy @0.4.7_0+python27
--->  	librsvg @2.34.2_0
--->  	py27-boto @2.1.1_1
--->  	py27-cairo @1.8.10_1
--->  	py27-distribute @0.6.24_0
--->  	py27-distribute @0.6.25_0
--->  	py27-gnupg @0.3.2_0
--->  	py27-gobject @2.26.0_1
--->  	py27-gtk @2.22.0_1
--->  	py27-libxml2 @2.7.8_0
--->  	py27-lxml @2.3_0
--->  	py27-numpy @1.6.1_1+atlas+gcc44
--->  	py27-py @1.1.1_0
--->  	py27-pyqt4 @4.9_0
--->  	py27-sip @4.13.2_0
--->  	py27-xml @0.8.4_0
--->  	scons @2.0.1_1
--->  	timedrive @0.4.0_0
Warning: Uninstall forced.  Proceeding despite dependencies.
--->  Deactivating python27 @2.7.2_4
--->  Unable to deactivate python27 @2.7.2_4, the following ports depend on it:
--->  	asciidoc @8.6.6_0+python27
--->  	cfv @1.18.3_2+python27
--->  	duplicity @0.6.17_1
--->  	gnome-doc-utils @0.20.6_0+python27
--->  	gtk-doc @1.18_0+python27
--->  	libproxy @0.4.7_0+python27
--->  	librsvg @2.34.2_0
--->  	py27-boto @2.1.1_1
--->  	py27-cairo @1.8.10_1
--->  	py27-distribute @0.6.25_0
--->  	py27-gnupg @0.3.2_0
--->  	py27-gobject @2.26.0_1
--->  	py27-gtk @2.22.0_1
--->  	py27-libxml2 @2.7.8_0
--->  	py27-lxml @2.3_0
--->  	py27-numpy @1.6.1_1+atlas+gcc44
--->  	py27-py @1.1.1_0
--->  	py27-pyqt4 @4.9_0
--->  	py27-sip @4.13.2_0
--->  	py27-xml @0.8.4_0
--->  	scons @2.0.1_1
--->  	timedrive @0.4.0_0
Warning: Deactivate forced.  Proceeding despite dependencies.
--->  Cleaning python27
--->  Uninstalling python27 @2.7.2_4
--->  Cleaning python27
$ sudo port clean python27
--->  Cleaning python27
$ sudo port install python27
--->  Computing dependencies for python27
--->  Fetching archive for python27
--->  Attempting to fetch python27-2.7.2_4.darwin_10.x86_64.tgz from http://packages.macports.org/python27
--->  Fetching python27
--->  Verifying checksum(s) for python27
--->  Extracting python27
--->  Applying patches to python27
--->  Configuring python27
--->  Building python27
--->  Staging python27 into destroot
--->  Installing python27 @2.7.2_4
--->  Activating python27 @2.7.2_4

To make python 2.7 the default (i.e. the version you get when you run
'python'), please run:
    	sudo port select --set python python27

--->  Cleaning python27
$ sudo port upgrade outdated
--->  Computing dependencies for xorg-libxcb
--->  Dependencies to be installed: python27
--->  Fetching archive for python27
--->  Attempting to fetch python27-2.7.2_4+universal.darwin_10.i386-x86_64.tgz from http://packages.macports.org/python27
--->  Fetching python27
--->  Verifying checksum(s) for python27
--->  Extracting python27
--->  Applying patches to python27
--->  Configuring python27
--->  Building python27
--->  Staging python27 into destroot
Error: Target org.macports.destroot returned: shell command failed (see log for details)
Error: Failed to install python27
Log for python27 is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_python27/python27/main.log
Error: The following dependencies were not installed: python27
Error: Unable to upgrade port: 1
To report a bug, see <http://guide.macports.org/#project.tickets>
$

With again the same error in the main.log as you spotted earlier. After that I tried "sudo port -f uninstall python27 ; sudo port clean python27 ; sudo port install python27 +universal", but that again fails with the same error.

In other words: I have narrowed it down to the universal variant. I will try to get rid of all universal variants so I can get away using plain python27, but that's a workaround and not a fix, of course.

Regards,

Erik

comment:15 Changed 13 years ago by erikmouw (Erik Mouw)

I figured out: because xorg-libxcb was compiled with +universal, it required python27 to be installed as +universal as well. Now why xorg-libxcb didn't require python27+universal in the past I don't understand, but apparently there was a change in xorg-libxcb. Still, that doesn't explain why python27+universal doesn't compile properly.

Regards,

Erik

comment:16 in reply to:  15 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to erikmouw@…:

I figured out: because xorg-libxcb was compiled with +universal, it required python27 to be installed as +universal as well. Now why xorg-libxcb didn't require python27+universal in the past I don't understand, but apparently there was a change in xorg-libxcb.

In an effort to move to more recent versions, xorg-libxcb's default version of python was changed from 2.6 to 2.7 in r74694 15 months ago. If you already had xorg-libxcb installed at that time, you probably would not have noticed this change or been affected by it until xorg-libxcb's version was increased in r90546 last week.

Still, that doesn't explain why python27+universal doesn't compile properly.

Ah, I now realize this is an error we are tracking in #32090. I workaround is given in comment:ticket:32090:10.

I still don't believe any of this discussion is relevant to the error nathanielbreedlove is reporting, since his error occurs at build time, not at destroot time.

Changed 13 years ago by nathanielbreedlove@…

Attachment: main.2.log added

ok i think this is it

comment:17 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Interesting, the error in the log is:

:info:build /bin/sh: line 1:  7456 Segmentation fault: 11  DYLD_FRAMEWORK_PATH=/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_python27/python27/work/Python-2.7.2: CC='/usr/bin/clang' LDSHARED='/usr/bin/clang -bundle -undefined dynamic_lookup -arch x86_64 -arch i386 -isysroot / -L/opt/local/lib -arch x86_64 -arch i386' OPT='-DNDEBUG -g  -O3 -Wall -Wstrict-prototypes' ./python.exe -E ./setup.py -q --no-user-cfg build

As I suspected, since this was not a clean build attempt, there isn't much in the log before that to help us figure out why it happened, so please clean and try again.

Changed 13 years ago by nathanielbreedlove@…

Attachment: main.3.log added

ok, i cleaned it (pretty sure i cleaned it before too), here it is

comment:18 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Summary: python27: build failspython27: build fails with segmentation fault

Thanks. This problem looks the same as #31720. In that ticket, the user decided to uninstall and reinstall all of MacPorts, and that fixed it for him, so we did no further troubleshooting. That's a bit drastic, but I have no other troubleshooting ideas at the moment.

comment:19 Changed 13 years ago by jmroot (Joshua Root)

Is this still a problem with 2.7.3? If so, please attach the crash log.

comment:20 Changed 12 years ago by jyrkiwahlstedt

Resolution: wontfix
Status: newclosed

Well, as we don't have and won't have a dependency variant control in ports, this seems to be a consequence of that. Python itself builds fine.

Note: See TracTickets for help on using tickets.