Opened 4 months ago

Closed 4 months ago

#69218 closed defect (invalid)

py-numba reports meaningless error: Unable to execute port py311-numba: invalid command name "registry::open" (can be closed as invalid)

Reported by: barracuda156 Owned by: stromnov (Andrey Stromnov)
Priority: Normal Milestone:
Component: ports Version: 2.9.0
Keywords: tiger, leopard, snowleopard, powerpc Cc:
Port: py-numba

Description

36-246% sudo port -v -n install py311-numba
Warning: configured user/group macports does not exist, will build as root
--->  Computing dependencies for py311-numba...Error: Unable to execute port py311-numba: invalid command name "registry::open"

Perhaps the problem is that it depends on py-llvmlite, which in turns pulls in dependency on Clang, which obviously will not build on PowerPC. But perhaps some coherent message could be emitted. Setting supported_archs to archs actually supported should resolve the issue.

Change History (4)

comment:1 Changed 4 months ago by jmroot (Joshua Root)

If you provided a log or debug output it might be possible to see where that message is actually coming from and do something about it.

comment:2 in reply to:  1 Changed 4 months ago by barracuda156

Replying to jmroot:

If you provided a log or debug output it might be possible to see where that message is actually coming from and do something about it.

Thank you for pointing out, log was helpful. Turns out that it relies on libcxx port to decide whether this is buildable. While this is perhaps wrong in principle, it works as of now, since libcxx port is Intel-only. So I would get this normally:

--->  Computing dependencies for py310-numba...
Error: Cannot install llvm-14 for the arch 'ppc' because
Error: its dependency libcxx only supports the archs 'i386 x86_64'.
Error: Follow https://guide.macports.org/#project.tickets if you believe there
is a bug.
Error: Processing of port py310-numba failed

However I had libcxx for ppc locally (it trivially builds with no hacks in fact, just minor fixes for the build system), and that did not work for detection:

:debug:main Didn't find receipt, going to depspec regex for: libcxx
:debug:main Opening port in directory: /opt/PPCSnowLeopardPorts/lang/libcxx
:debug:main OS darwin/10.0.0d2 (macOS 10.6) arch powerpc
:debug:main Sourcing PortGroup compiler_blacklist_versions 1.0 from /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/_resources/port1.0/group/compiler_blacklist_versions-1.0.tcl
:debug:main Sourcing PortGroup active_variants 1.1 from /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/_resources/port1.0/group/active_variants-1.1.tcl
:debug:main invalid command name "registry::open"
:debug:main     while executing
:debug:main "registry::open [file join ${registry.path} registry registry.db]"
:debug:main     invoked from within
:debug:main "if {${os.major} < 11 || [variant_isset replacemnt_libcxx]} {
:debug:main 
:debug:main     supported_archs i386 x86_64
:debug:main 
:debug:main     if {${build_arch} in "i386 x86_64"} {
:debug:main         varia..."
:debug:main     (file "/opt/PPCSnowLeopardPorts/lang/libcxx/Portfile" line 87)
:debug:main     invoked from within
:debug:main "source /opt/PPCSnowLeopardPorts/lang/libcxx/Portfile"
:debug:main     invoked from within
:debug:main "$workername eval [list source $portfilepath]"
:debug:main invalid command name "registry::open"
:debug:main     while executing
:debug:main "error $result"
:debug:main     (procedure "mportopen" line 53)
:debug:main     invoked from within
:debug:main "mportopen $dep_portinfo(porturl) $dep_options $variations"
:debug:main     (procedure "mportdepends" line 137)
:debug:main     invoked from within
:debug:main "mportdepends $depport {} $recurseDeps $skipSatisfied 1 $depListName"
:debug:main     (procedure "mportdepends" line 204)
:debug:main     invoked from within
:debug:main "mportdepends $depport {} $recurseDeps $skipSatisfied 1 $depListName"
:debug:main     (procedure "mportdepends" line 204)
:debug:main     invoked from within
:debug:main "mportdepends $mport $target 1 1 0 dlist"
:debug:main     (procedure "mportexec" line 55)
:debug:main     invoked from within
:debug:main "mportexec $workername $target"
:error:main Unable to execute port py310-numba: invalid command name "registry::open"

Removing a local libcxx (which in fact should be removed, since we got libcxx-powerpc which is separate and newer version), I am back to the sensible error message.

So my initial report is a result of confusion. Sorry for that.

Yet, perhaps, it is llvm should fail as being for arm64 i386 x86_64 (it is genuinely unsupported on PowerPC, at least as of now, and will not build), and not libcxx, which a) builds fine and b) can be used with gcc, so it is not something meaningless to have built.

comment:3 Changed 4 months ago by barracuda156

Summary: py-numba reports meaningless error: Unable to execute port py311-numba: invalid command name "registry::open"py-numba reports meaningless error: Unable to execute port py311-numba: invalid command name "registry::open" (can be closed as invalid)

comment:4 Changed 4 months ago by jmroot (Joshua Root)

Resolution: invalid
Status: assignedclosed

OK, so this was just due to you trying to use registry::open in a Portfile.

Note: See TracTickets for help on using tickets.