Ticket UUID: | 1482302b360a3a4535c6a8cda69dd2a1f028893a | |||
Title: | Version mismatch in tcllib modules between pkgIndex and source file. | |||
Type: | Bug | Version: | 2.0 | |
Submitter: | anonymous | Created on: | 2023-11-30 18:19:51 | |
Subsystem: | (unused) | Assigned To: | aku | |
Priority: | 5 Medium | Severity: | Critical | |
Status: | Closed | Last Modified: | 2024-01-08 13:03:46 | |
Resolution: | Fixed | Closed By: | aku | |
Closed on: | 2024-01-08 13:03:46 | |||
Description: |
Attempting to run tklib tests fails due to bad version number in tcllib module. This is probably not just this module alone: attempt to provide package term::ansi::code::attr 0.2 failed: package term::ansi::code::attr 0.1 provided instead The full transcript: $ /home/briang42/tcl_core/usr_dist/bin/wish9.0 sak.tcl test run -s "/home/briang42/tcl_core/usr_dist/bin/tclsh9.0" auto_path=./modules //zipfs:/lib/tcl/tcl_library //zipfs:/lib/tcl /home/briang42/tcl_core/usr_dist/lib /home/briang42/tcl_core/usr_dist/lib/tcllib2.0 /home/briang42/tcl_core/usr_dist/lib/vfs1.4.2/template //zipfs:/lib/tk/tk_library //zipfs:/lib/tk/tk_library/ttk Unknown command "run" : attempt to provide package term::ansi::code::attr 0.2 failed: package term::ansi::code::attr 0.1 provided instead ("package ifneeded term::ansi::code::attr 0.2" script) invoked from within "package require $package" (procedure "getpackage" line 9) invoked from within "getpackage term::ansi::code::attr term/ansi/code/attr.tcl" (file "./support/devel/sak/util/color.tcl" line 24) invoked from within "source ./support/devel/sak/util/color.tcl" ("package ifneeded sak::color 1.0" script) invoked from within "package require sak::color" (file "./support/devel/sak/test/run.tcl" line 9) invoked from within "source ./support/devel/sak/test/run.tcl" ("package ifneeded sak::test::run 1.0" script) invoked from within "package require sak::test::$cmd" test -- Execute testsuites sak test run ?-s|--shell PATH? ?-l|--log STEM? ?-g|--valgrind? ?-v? ?MODULE ...? Run the testsuites of the specified modules, using the shell running SAK for the testsuites as well. If no modules are specified the testsuites of all modules are run. If --valgrind is specified the testsuites are run under the valgrind memory checker. NOTE. This feature is not available on the windows platform. Requests for it will be ignored. If one or more --shell's are specified the testsuites are run against them. If none are specified the shells registered with 'shell add' (see below) are used instead. If none are specified the shell executing the sak is used instead. By default the output from a run is animated feedback of the progress made. If -v is specified the actual log is returned instead. If a log STEM is specified the extended log normally activated via -v is written to STEM.log while the user is provided with the regular feedback during execution. In addition the summaries from the feedback are written to STEM.summary as well, and also sorted into STEM.failures, STEM.skipped, and STEM.none. The -l switch overides -v. sak test shells Returns a list of the registered shells, one per line, used to execute the testsuites. sak test shell add PATH... Adds the specified paths to the list of shells to use when executing testsuites. sak test shell delete PATH... Removes the specified paths from the list of shells to use when executing testsuites. NOTE: The list of registered shells is a per-user configuration setting and is saved in the file "$HOME/.Tcllib/Registry". | |||
User Comments: |
aku added on 2024-01-08 13:03:46:
Fixed with commit [7bed00f1fa].
See also ticket [7be06f3334].
Thanks to Brian for the report.
aku added on 2024-01-08 12:31:29: Thanks Brian. Note that `sak.tcl validate versions` should make this kind of check easier. I forgot to run this before and after the integration of Rolf's Tcl 9 work. See also ticket [7be06f3334]. anonymous added on 2023-11-30 19:15:52: Here is a filtered list comparing "package provide" with "package ifneeded". (provide on the right, ifneeded on the left) $ diff -w s_pr_x s_if_x 6,7c6,7 < package base32::core 0.2 < package base32::hex 0.2 --- > package base32::core 0.1 > package base32::hex 0.1 9d8 < package base64c 0.1.1 17a17 > package calendar 0.3 21d20 < package clay 0.8.7 26c25,26 < package configuration 1 --- > package configuration 1.1 > package control 0.1.4 32d31 < package crcc 1.0.0 42,46c41,43 < package dns 1.6 < package docstrip 1.3 < package docstrip 1.3 < package docstrip::util 1.3.2 < package docstrip::util 1.3.2 --- > package dns 1.6.0 > package docstrip 1.3\ > package docstrip::util 1.3.2\ 49c46 < package doctools::config 0.1 --- > package doctools::config 0.2 76c73,74 < package doctools::paths 0.1 --- > package doctools::nroff::man_macros 0.2 > package doctools::paths 0.2 80c78 < package doctools::toc 2.1 --- > package doctools::toc 2 94,101c92 < package doctools::idx::export::plugin 1} < package doctools::idx::import::plugin 1} < package doctools::toc::export::plugin 1} < package doctools::toc::import::plugin 1} < package pt::peg::export::plugin 1} < package pt::peg::import::plugin 1} < package pt::peg::import::plugin 1} < package exif 1.1.3 ; # first release --- > package exif 1.1.3 112,116c103 < package foo 1.2</pre> < package foo::bar 1.0 < package foo::bar 1.0 < package foo::bar 1.0 < package foo::bar 1\&.0 --- > package ftp 2.4.14 117a105,106 > package ftp::geturl 0.2.3 > package generator 0.3 119,121c108,110 < package grammar::aycock 1.1 < package grammar::aycock::debug 1.1 < package grammar::aycock::runtime 1.1 --- > package grammar::aycock 1.1 \ > package grammar::aycock::debug 1.1 \ > package grammar::aycock::runtime 1.1 \ 140a130,142 > # "package " command to set up package-related > # "package " command to set up package-related > # "package " command to set up package-related > # "package " command to set up package-related > # "package " command to set up package-related > # "package " command to set up package-related > # "package " command to set up package-related > # "package " command to set up package-related > # "package " command to set up package-related > # "package " command to set up package-related > # "package " command to set up package-related > # "package " command to set up package-related > ### package pg::peg::grammar 0.1 147d148 < package ipMorec 1.0 152d152 < package jsonc 1.1.2 157c157 < package ldapx 1.3 --- > package ldapx 1.2 161d160 < package ::logger::snit 0.1 163d161 < package ::logger::xotcl 0.2 169a168 > package math 1.2.6 172c171 < package math::calculus 1.1 --- > package math::calculus 1.0 185c184 < package math::interpolate 1.1.4 --- > package math::interpolate 1.1.3 188d186 < package math::numtheory 1.1.3 200c198 < package mbox 1.0 --- > package mbox 1.1 202d199 < package md4c 1.1.0 205d201 < package md5c 0.12; # 207d202 < package md5cryptc 1.0 210d204 < package mktie 1.0 212c206 < package mutl 1.0 --- > package mutl 1.1 215c209 < package nameserv::cluster 0.2.6} --- > package nameserv::cluster 0.2.6 {package require udpcluster ; package provide nameserv::cluster 0.2.6} 218c212 < package namespacex 0.4 --- > package namespacex 0.3 221,224c215,216 < package nmea 1.1.0 < package nns 1.2 < package nnsd 1.0.1 < package nnslog 1.0 --- > package nettool::available_ports 0.2 {package require nettool ; package provide nettool::available_ports 0.2} > package nmea 1.0.0 233,234d224 < package 91 1; class a {proc a {this} {}}}\ < package page 1.0 240a231 > package page::config::peg 0.2 253a245,246 > package page::reader::hb 0.2 > package page::reader::lemon 0.2 255a249,250 > package page::reader::peg 0.2 > package page::reader::ser 0.2 257a253,254 > package page::reader::treeser 0.2 > package page::transform::mecpu 0.2 \ 258a256 > package page::transform::reachable 0.2 \ 259a258 > package page::transform::realizable 0.2 \ 266a266 > package page::writer::hb 0.2 267a268,269 > package page::writer::identity 0.2 > package page::writer::me 0.2 269a272 > package page::writer::mecpu 0.2.1 270a274,275 > package page::writer::null 0.2 > package page::writer::peg 0.2 272a278,279 > package page::writer::ser 0.2 > package page::writer::tpc 0.2 275c282,283 < package pg::peg::grammar 0.2 --- > package page::writer::tree 0.2 > package paths 1.1 288,325d295 < package dict 1 < package dict 1 < package dict 1 < package dict 1 < package doctools::idx::export::plugin 1 < package doctools::idx::export::plugin 1 < package doctools::idx::export::plugin 1 < package doctools::idx::export::plugin 1 < package doctools::idx::export::plugin 1 < package doctools::idx::export::plugin 1 < package doctools::idx::import::plugin 1 < package doctools::idx::import::plugin 1 < package doctools::toc::export::plugin 1 < package doctools::toc::export::plugin 1 < package doctools::toc::export::plugin 1 < package doctools::toc::export::plugin 1 < package doctools::toc::export::plugin 1 < package doctools::toc::export::plugin 1 < package doctools::toc::import::plugin 1 < package doctools::toc::import::plugin 1 < package exif 1.0 < package exif 1.0 < package exif 1.0 < package foo::bar 1.0 < package mime 1.2 < package mime 1.2 < package mime 1.2 < package page::plugin::reader 1.0 < package page::plugin::transform 1.0 < package page::plugin::writer 1.0 < package pt::peg::export::plugin 1 < package pt::peg::export::plugin 1 < package pt::peg::export::plugin 1 < package pt::peg::import::plugin 1 < package pt::peg::import::plugin 1 < package smtp 1.2 < package smtp 1.2 < package smtp 1.2 354c324 < package pt::rde::critcl 1.3.4 --- > package pt::rde::nx 1.2.1.2 361d330 < package rc4c 1.2.0 395d363 < package sha1c 2.0.3 404c372 < package snit 2.3.3 --- > package snit 2.3.3 \ 409d376 < package stringprep::data 1.0.1 414c381 < package struct 2.2 --- > package struct 2.1 453,455d419 < package tcldocstrip 1.0.1 < package tcllibc 0.4 < package tcllib::testutils 1.2 470a435 > package tepam::doc_gen 0.1.2 473c438 < package term::ansi::code::attr 0.1 --- > package term::ansi::code::attr 0.2 475,476c440,441 < package term::ansi::code::macros 0.1 < package term::ansi::ctrl::unix 0.1.1 --- > package term::ansi::code::macros 0.2 > package term::ansi::ctrl::unix 0.2.1 483a449,450 > package textutil 0.9 > package textutil::adjust 0.7.3 484a452 > package textutil::expander 1.3.1 486a455 > package textutil::repeat 0.7 487a457 > package textutil::split 0.8 488a459 > package textutil::string 0.8 489a461 > package textutil::tabify 0.7 490a463 > package textutil::trim 0.7 492,497c465 < package textutil::wcswidth 35.2 < package textutil::wcswidth 35.2 < package textutil::wcswidth 35.2 < package textutil::wcswidth 35.2 < package textutil::wcswidth 35.2 < package textutil::wcswidth 35.2 --- > package textutil::wcswidth 35.0 501a470,475 > package tie::std::array 1.2 > package tie::std::dsource 1.2 > package tie::std::file 1.2 > package tie::std::growfile 1.2 > package tie::std::log 1.2 > package tie::std::rarray 1.2 505,508d478 < package tool::option 0.1 < package tool::option 0.1 < package tool::pipeline 0.1 < package tool::pipeline 0.1 522d491 < package unicode::data 1.0.0 540c509 < package valtype::usnpi 1 --- > package valtype::usnpi 1.1 544c513 < package wip 2.3 --- > package wip 2.2 548d516 < package yencode 1.1.4 |
