Opened 6 years ago

Closed 6 years ago

#56749 closed defect (fixed)

activation error of port gmic

Reported by: karo11 Owned by: Schamschula (Marius Schamschula)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: raimue (Rainer Müller), ryandesign (Ryan Carsten Schmidt), maehne (Torsten Maehne)
Port: gmic

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

Installation of port gmic delivers during activation an error

--->  Computing dependencies for gmic
--->  Fetching archive for gmic
--->  Attempting to fetch gmic-2.3.2_0.darwin_17.x86_64.tbz2 from http://nue.de.packages.macports.org/gmic
--->  Attempting to fetch gmic-2.3.2_0.darwin_17.x86_64.tbz2 from https://packages.macports.org/gmic
--->  Attempting to fetch gmic-2.3.2_0.darwin_17.x86_64.tbz2 from http://lil.fr.packages.macports.org/gmic
--->  Fetching distfiles for gmic
--->  Attempting to fetch gmic_2.3.2.tar.gz from http://nue.de.distfiles.macports.org/gmic
--->  Verifying checksums for gmic
--->  Extracting gmic
--->  Applying patches to gmic
--->  Configuring gmic
--->  Building gmic
--->  Staging gmic into destroot
--->  Installing gmic @2.3.2_0
Error: unknown target: clean
--->  Computing dependencies for gmic
Error: Couldn't activate gmic 2.3.2_0: can't read "targetname": no such variable
Error: Follow https://guide.macports.org/#project.tickets to report a bug.

Succeeding manual activation works!

Installation with debug flag delivers some add. messages

...
DEBUG: activating file: /opt/local/share/man/fr/man1/gmic.1.gz
DEBUG: activating directory: /opt/local/share/man/man1
DEBUG: activating file: /opt/local/share/man/man1/gmic.1.gz
DEBUG: Executing portactivate::activate_finish
Error: unknown target: load
Error: Failed to load gmic
Error: unknown target: clean
--->  Scanning binaries for linking errors
DEBUG: Ignoring loadcommand containing @executable_path in /opt/local/libexec/ld64/ld-latest
DEBUG: Ignoring loadcommand containing @rpath in /Applications/MacPorts/Qt5/Qt Creator.app/Contents/Frameworks/libCPlusPlus.4.6.1.dylib
DEBUG: Ignoring loadcommand containing @rpath in /Applications/MacPorts/Qt5/Qt Creator.app/Contents/Frameworks/libClangsupport.4.6.1.dylib
...

Change History (10)

comment:1 Changed 6 years ago by Schamschula (Marius Schamschula)

Cc: raimue ryandesign added; Rainer Müller or Ryan Schmidt according M. Schamschula removed
Description: modified (diff)
Owner: set to Schamschula
Status: newassigned

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

Description: modified (diff)

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

Keywords: activation problem removed

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

Sorry, I can't explain why this is happening.

comment:5 Changed 6 years ago by Schamschula (Marius Schamschula)

I'm stumpped as well, that's why I asked Karsten to open a ticket.

Last edited 6 years ago by Schamschula (Marius Schamschula) (previous) (diff)

comment:6 Changed 6 years ago by Schamschula (Marius Schamschula)

Boy do I like Apple's autocorrect...

comment:7 Changed 6 years ago by maehne (Torsten Maehne)

Cc: maehne added

comment:8 Changed 6 years ago by jmroot (Joshua Root)

It's because targets is a variable used internally by portutil.

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

Oh. So the bug is that the gmic portfile is using a variable called targets. It should use a different variable name.

Isn't it weird that what looks like a local variable in the configure phase of a port would overwrite a variable used by MacPorts in other phases? Isn't it weird that portutil hasn't namespaced its variables so they can't conflict with Portfile variables? Isn't it weird that the author of the port didn't notice this problem before committing?

comment:10 Changed 6 years ago by Schamschula (Marius Schamschula)

Resolution: fixed
Status: assignedclosed

In 750982ef0497232b3466c1fea32ab2407c468e0e/macports-ports (master):

gmic: rename targets variable to gmic_targets

Closes: #56749

Note: See TracTickets for help on using tickets.