[MacPorts] #33551: levmar @2.6 Error: Unable to open port
#33551: levmar @2.6 Error: Unable to open port --------------------------------------+------------------------------------- Reporter: nonstop.server@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.0.4 Keywords: | Port: levmar --------------------------------------+------------------------------------- Port levmar returns an error after issuing the port info command. {{{ % port info levmar Error: Unable to open port: invalid command name "lassign" }}} On another system it presents a likewise error during the port sync command. {{{ % sudo port -d sync 2>&1 |tee -a macports_sync.log DEBUG: Synchronizing ports tree(s) <snip output for brevity> Failed to parse file devel/levmar/Portfile: invalid command name "lassign" Total number of ports parsed: 24 Ports successfully parsed: 23 Ports failed: 1 Up-to-date ports skipped: 13667 }}} -- Ticket URL: <https://trac.macports.org/ticket/33551> MacPorts <http://www.macports.org/> Ports system for Mac OS
#33551: levmar @2.6 Error: Unable to open port --------------------------------------+------------------------------------- Reporter: nonstop.server@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.0.4 Keywords: | Port: levmar --------------------------------------+------------------------------------- Comment(by lockhart@…): Replying to [ticket:33551 nonstop.server@…] ... Neither of these symptoms are reproducible on my Lion system. Do you have more details on your OS and version of MacPorts? What tcl installation would be missing the lassign command? -- Ticket URL: <https://trac.macports.org/ticket/33551#comment:1> MacPorts <http://www.macports.org/> Ports system for Mac OS
#33551: levmar: uses lassign which is incompatible with Tiger's Tcl 8.4 --------------------------------------+------------------------------------- Reporter: nonstop.server@… | Owner: lockhart@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.0.4 Keywords: tiger | Port: levmar --------------------------------------+------------------------------------- Changes (by ryandesign@…): * owner: macports-tickets@… => lockhart@… * keywords: => tiger * cc: lockhart@… (removed) * cc: ryandesign@… (added) Comment: According to [http://wiki.tcl.tk/1530 this page], lassign was not part of Tcl until version 8.5. Tiger has Tcl 8.4, and I am able to reproduce the problem on Tiger. So MacPorts should not use lassign. lassign is the only port doing so; since we've gotten by for years with thousands of ports without lassign, I imagine levmar can get along without it too. -- Ticket URL: <https://trac.macports.org/ticket/33551#comment:2> MacPorts <http://www.macports.org/> Ports system for Mac OS
#33551: levmar: uses lassign which is incompatible with Tiger's Tcl 8.4 --------------------------------------+------------------------------------- Reporter: nonstop.server@… | Owner: lockhart@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.0.4 Keywords: tiger | Port: levmar --------------------------------------+------------------------------------- Comment(by ryandesign@…): Replying to [comment:2 ryandesign@…]:
lassign is the only port doing so
*''levmar'' is the only port doing so -- Ticket URL: <https://trac.macports.org/ticket/33551#comment:3> MacPorts <http://www.macports.org/> Ports system for Mac OS
#33551: levmar: uses lassign which is incompatible with Tiger's Tcl 8.4 --------------------------------------+------------------------------------- Reporter: nonstop.server@… | Owner: lockhart@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.0.4 Keywords: tiger | Port: levmar --------------------------------------+------------------------------------- Comment(by lockhart@…): Replying to [comment:2 ryandesign@…]:
According to [http://wiki.tcl.tk/1530 this page], lassign was not part of Tcl until version 8.5. Tiger has Tcl 8.4, and I am able to reproduce the problem on Tiger. So MacPorts should not use lassign. lassign is the only port doing so; since we've gotten by for years with thousands of ports without lassign, I imagine levmar can get along without it too. OK, will submit patches asap. I'm also working on fixing a failure mode in "port test levmar". The levmar library is not found by lmdemo since it has an @rpath in the linker information so runs when the port is installed but does not run out of a temporary installation such as test uses.
-- Ticket URL: <https://trac.macports.org/ticket/33551#comment:4> MacPorts <http://www.macports.org/> Ports system for Mac OS
#33551: levmar: uses lassign which is incompatible with Tiger's Tcl 8.4 --------------------------------------+------------------------------------- Reporter: nonstop.server@… | Owner: lockhart@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.0.4 Keywords: tiger | Port: levmar --------------------------------------+------------------------------------- Comment(by ryandesign@…): Replying to [comment:4 lockhart@…]:
I'm also working on fixing a failure mode in "port test levmar". The levmar library is not found by lmdemo since it has an @rpath in the linker information so runs when the port is installed but does not run out of a temporary installation such as test uses.
In the ImageMagick port, I handle a similar situation by adding this line: {{{ test.env DYLD_LIBRARY_PATH=${worksrcpath}/magick/.libs }}} Perhaps something like that will help you with levmar. -- Ticket URL: <https://trac.macports.org/ticket/33551#comment:5> MacPorts <http://www.macports.org/> Ports system for Mac OS
#33551: levmar: uses lassign which is incompatible with Tiger's Tcl 8.4 --------------------------------------+------------------------------------- Reporter: nonstop.server@… | Owner: lockhart@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.0.4 Keywords: tiger | Port: levmar --------------------------------------+------------------------------------- Comment(by lockhart@…): Replying to [comment:2 ryandesign@…]:
According to [http://wiki.tcl.tk/1530 this page], lassign was not part of Tcl until version 8.5. Tiger has Tcl 8.4, and I am able to reproduce the problem on Tiger. So MacPorts should not use lassign. lassign is the only port doing so; since we've gotten by for years with thousands of ports without lassign, I imagine levmar can get along without it too. I've posted a patch which replaces lassign with explicit "set x [lindex...]" commands. Tested successfully on Lion.
-- Ticket URL: <https://trac.macports.org/ticket/33551#comment:6> MacPorts <http://www.macports.org/> Ports system for Mac OS
#33551: levmar: uses lassign which is incompatible with Tiger's Tcl 8.4 ---------------------------------------+------------------------------------ Reporter: nonstop.server@… | Owner: lockhart@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: 2.0.4 Resolution: fixed | Keywords: tiger Port: levmar | ---------------------------------------+------------------------------------ Changes (by ryandesign@…): * status: new => closed * resolution: => fixed Comment: Replying to [comment:6 lockhart@…]:
I've posted a patch which replaces lassign with explicit "set x [lindex...]" commands. Tested successfully on Lion.
Thanks; committed in r90595. Replying to [comment:5 ryandesign@…]:
{{{ test.env DYLD_LIBRARY_PATH=${worksrcpath}/magick/.libs }}} I see now that you already have a similar line in the levmar portfile. I'm not familiar with rpath. Is its use necessary? I can't recall another port using it. Would it work if you don't use it? This matter should probably be discussed elsewhere however; this ticket is now resolved. -- Ticket URL: <https://trac.macports.org/ticket/33551#comment:8> MacPorts <http://www.macports.org/> Ports system for Mac OS
#33551: levmar: uses lassign which is incompatible with Tiger's Tcl 8.4 ---------------------------------------+------------------------------------ Reporter: nonstop.server@… | Owner: lockhart@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: 2.0.4 Resolution: fixed | Keywords: tiger Port: levmar | ---------------------------------------+------------------------------------ Comment(by pixilla@…): Tom, sorry for the bad advice with regard to "lassign". MacPorts prefers unified diff patches. [http://guide.macports.org/#development.patches.portfile development.patches.portfile] I will have your fix committed momentarily. -- Ticket URL: <https://trac.macports.org/ticket/33551#comment:9> MacPorts <http://www.macports.org/> Ports system for Mac OS
#33551: levmar: uses lassign which is incompatible with Tiger's Tcl 8.4 ---------------------------------------+------------------------------------ Reporter: nonstop.server@… | Owner: lockhart@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: 2.0.4 Resolution: fixed | Keywords: tiger Port: levmar | ---------------------------------------+------------------------------------ Comment(by lockhart@…): Replying to [comment:9 pixilla@…]:
Tom, sorry for the bad advice with regard to "lassign".
MacPorts prefers unified diff patches. [http://guide.macports.org/#development.patches.portfile development.patches.portfile]
I will have your fix committed momentarily. Thanks. I'll open a separate ticket for the rpath issue (I have a fix).
-- Ticket URL: <https://trac.macports.org/ticket/33551#comment:10> MacPorts <http://www.macports.org/> Ports system for Mac OS
participants (1)
-
MacPorts