Opened 7 years ago

Closed 7 years ago

#38472 closed defect (invalid)

ImageMagick install failure: unable to execute port

Reported by: shirleyberry@… Owned by: ryandesign (Ryan Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.1.3
Keywords: Cc:
Port: ImageMagick

Description

Installing imagemagick on osx 10.7.5 Lion. When I run sudo port install imagemagick I get the error

Error: Unable to execute port: Could not open file: /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/graphics/ImageMagick/Portfile

Change History (18)

comment:1 Changed 7 years ago by shirleyberry@…

Cc: shirleyberry@… added

Cc Me!

comment:2 Changed 7 years ago by larryv (Lawrence Velázquez)

Cc: shirleyberry@… removed
Resolution: invalid
Status: newclosed

You don’t seem to have a ports tree. Make sure you have installed the latest version of Apple’s Command Line Tools by starting Xcode and going to Xcode > Preferences > Downloads > Components. Then run

sudo port selfupdate

to retrieve the latest ports tree, and try installing imagemagick again.

comment:3 in reply to:  2 Changed 7 years ago by shirleyberry@…

Replying to larryv@…:

You don’t seem to have a ports tree. Make sure you have installed the latest version of Apple’s Command Line Tools by starting Xcode and going to Xcode > Preferences > Downloads > Components. Then run

sudo port selfupdate

to retrieve the latest ports tree, and try installing imagemagick again.

I did install apple's command line tools, and ran port selfupdate, and port upgrade outdated. When I run it, it says I have the latest version.

comment:4 Changed 7 years ago by shirleyberry@…

Cc: shirleyberry@… added

Cc Me!

comment:5 Changed 7 years ago by shirleyberry@…

Resolution: invalid
Status: closedreopened

comment:6 Changed 7 years ago by ryandesign (Ryan Schmidt)

Cc: shirleyberry@… removed
Owner: changed from macports-tickets@… to ryandesign@…
Port: ImageMagick added; imagemagick removed
Status: reopenednew

Does the file /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/graphics/ImageMagick/Portfile exist? If not, how much of that path does exist?

comment:7 Changed 7 years ago by shirleyberry@…

Yes, it exists, and I'm able to manually open the portfile.

comment:8 Changed 7 years ago by ryandesign (Ryan Schmidt)

Ok, then it's not a file not found situation as Larry presumed. When you tried to install ImageMagick, did MacPorts print the location of a main.log file? If so, please attach that log file here so we can see what all it says.

comment:9 Changed 7 years ago by shirleyberry@…

No, all it printed was the error message.

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

Ok, please try again with the debug switch and see if that prints any more information:

sudo port -d install ImageMagick

comment:11 Changed 7 years ago by shirleyberry@…

Yep, here you go.

DEBUG: Copying /Users/gordonsmith/Library/Preferences/com.apple.dt.Xcode.plist to /opt/local/var/macports/home/Library/Preferences
DEBUG: Changing to port directory: /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/graphics/ImageMagick
DEBUG: OS darwin/11.4.2 (Mac OS X 10.7) arch i386
DEBUG: org.macports.load registered provides 'load', a pre-existing procedure. Target override will not be provided
DEBUG: org.macports.unload registered provides 'unload', a pre-existing procedure. Target override will not be provided
DEBUG: org.macports.distfiles registered provides 'distfiles', a pre-existing procedure. Target override will not be provided
DEBUG: Using group file /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/_resources/port1.0/group/archcheck-1.0.tcl
DEBUG: Using group file /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/_resources/port1.0/group/conflicts_build-1.0.tcl
DEBUG: Reading variant descriptions from /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/_resources/port1.0/variant_descriptions.conf
DEBUG: adding the default universal variant
DEBUG: Executing variant q16 provides q16
DEBUG: changing euid/egid - current euid: 0 - current egid: 0
DEBUG: egid changed to: 501
DEBUG: euid changed to: 503
DEBUG: Could not open file: /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/graphics/ImageMagick/Portfile
    while executing
"sha256 file ${portpath}/Portfile"
    (procedure "open_statefile" line 44)
    invoked from within
"open_statefile"
    (procedure "check_variants" line 29)
    invoked from within
"check_variants activate"
    invoked from within
"$workername eval check_variants $target"
    (procedure "mportexec" line 7)
    invoked from within
"mportexec $workername $target"
Error: Unable to execute port: Could not open file: /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/graphics/ImageMagick/Portfile

comment:12 Changed 7 years ago by ryandesign (Ryan Schmidt)

Hmm, that doesn't really say much either.

Have you been able to install any other ports before? Are you able to install any ports other than this one now?

Maybe a permissions problem? Could we see the permissions of every component of that path?

ls -ld /opt /opt/local /opt/local/var /opt/local/var/macports /opt/local/var/macports/sources /opt/local/var/macports/sources/rsync.macports.org /opt/local/var/macports/sources/rsync.macports.org/release /opt/local/var/macports/sources/rsync.macports.org/release/tarballs /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/graphics /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/graphics/ImageMagick /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/graphics/ImageMagick/Portfile

comment:13 Changed 7 years ago by cooljeanius (Eric Gallager)

This might be dangerous, but you could always try using the -f flag (for "force") with your port command. I've had similar situations where doing that has solved it.

comment:14 Changed 7 years ago by neverpanic (Clemens Lang)

I doubt -f will help in this case. The only relevant flag around this code location is -o, but specifying that will not stop the code from trying to generate a sha256 sum of the Portfile, which fails.

Last edited 7 years ago by neverpanic (Clemens Lang) (previous) (diff)

comment:15 Changed 7 years ago by shirleyberry@…

No, I've never tried to install any other ports before (I'm a bit new to this, can you tell?), but I'll give that a try.

Getting the permissions turned up:

drwx------    5 gordonsmith  wheel    170 Mar 21 11:49 /opt
drwxr-xr-x   11 root         admin    374 Mar 21 11:16 /opt/local
drwxr-xr-x    3 root         admin    102 Jan 31 07:01 /opt/local/var
drwxr-xr-x   10 root         admin    340 Mar 21 11:16 /opt/local/var/macports
drwxr-xr-x    3 root         admin    102 Mar 20 14:24 /opt/local/var/macports/sources
drwxr-xr-x    3 root         admin    102 Mar 20 14:24 /opt/local/var/macports/sources/rsync.macports.org
drwxr-xr-x    3 root         admin    102 Mar 20 14:24 /opt/local/var/macports/sources/rsync.macports.org/release
drwxr-xr-x   10 root         admin    340 Mar 21 15:11 /opt/local/var/macports/sources/rsync.macports.org/release/tarballs
drwxr-xr-x   51 root         wheel   1734 Mar 21 15:12 /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports
drwxr-xr-x  305 root         wheel  10370 Feb 26 18:00 /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/graphics
drwxr-xr-x    4 root         wheel    136 Mar 21 17:13 /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/graphics/ImageMagick
-rw-r--r--    1 root         wheel   9467 Feb 27 09:01 /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/graphics/ImageMagick/Portfile

In reply to the second suggestion, what are the risks of forcing it?

comment:16 Changed 7 years ago by ryandesign (Ryan Schmidt)

Forcing it won't work.

I would say the problem is your /opt directory, which is configured so that only gordonsmith can read it. That means macports cannot read it. Change /opt to have 755 permission like its subdirectories. Then anyone can read it.

sudo chmod 755 /opt

comment:17 Changed 7 years ago by shirleyberry@…

That did it, thank you so much for helping (and explaining everything so clearly)!

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

Resolution: invalid
Status: newclosed

Glad that worked! Hope everything goes smoothly from now on. If you find bugs, please file new tickets; if you have other questions about MacPorts, you can write to the macports-users mailing list.

Note: See TracTickets for help on using tickets.