SID-02480: 'rcs too old' even though it's version 5.10.0
| Status: |
Answered |
TWiki version: |
6.1.0 |
Perl version: |
5.34.0 |
| Category: |
CategoryInstallation |
Server OS: |
Alpine 3.15 |
Last update: |
6 months ago |
Hello,
I'm trying to install TWiki 6.1.0 on an Alpine box and have installed rcs from the 'edge' repository. But I'm seeing errors that the version is too old and I should install version 5.7 or higher........
Thank you in advance for your help.
With regards,
Angelo Machils
--
Angelo Machils - 2021-12-03
Discussion and Answer
Could you post the output of this:
rcs --version
--
Peter Thoeny - 2021-12-04
Hello,
twiki:~$ rcs --version
rcs (GNU
RCS) 5.10.0
Copyright (C) 2010-2020 Thien-Thi Nguyen
Copyright (C) 1990-1995 Paul Eggert
Copyright (C) 1982,1988,1989 Walter F. Tichy, Purdue CS
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
With regards,
Angelo Machils
--
Angelo Machils - 2021-12-04
It turns out that the configure script has a bug with
major.minor number comparison. You can safely ignore the error, or you could apply the patch at
TWikibug:Item7934
--
Peter Thoeny - 2021-12-05
Hello,
Applying the patch indeed removes the errors that I was seeing. Thank you!
With regards,
Angelo Machils
--
Angelo Machils - 2021-12-06
Peter,
The link to
TWikibug:Item7934
is not working anymore. Develop Web is not available.
--
Emiel Van Riel - 2025-08-11
Here is the content of Item7934 so that it is available while the Bugs database is down
When
RCS 5.10 is installed, the configure script reports an erroneous error message:
/usr/bin/rcs is too old, upgrade to version 5.7 or higher.
Cause: The
major.minor number compare
5.7 < 5.10 is incorrect.
Fix:
--- lib/TWiki/Configure/Checker.pm (revision 31043)
+++ lib/TWiki/Configure/Checker.pm (working copy)
@@ -298,14 +298,17 @@
if( !$prog ) {
$err .= $key.' is not set';
} else {
- my $version = `$prog --version` || '';
- if ( $version !~ /Can't exec/ && $version =~ /\s(\d+\.\d+)((:?\.\d+)*)/ ) {
+ my $stdOut = `$prog --version` || '';
+ my $version = 0;
+ if ( $stdOut !~ /Can't exec/ && $stdOut =~ /\s(\d+\.\d+)((:?\.\d+)*)/ ) {
$version = $1;
+ $version =~ s/\.(\d)$/.0$1/; # zero-pad minor version if only single digit
} else {
- $version = '';
$err .= $this->ERROR($prog.' did not return a version number (or might not exist..)');
}
- if( $version =~ /^\d/ && $version < $rcsverRequired ) {
+ my $required = $rcsverRequired;
+ $required =~ s/\.(\d)$/.0$1/; # zero-pad minor version if only single digit
+ if( $version > 0 && $version < $required ) {
# RCS too old
$err .= $prog.' is too old, upgrade to version '.
$rcsverRequired.' or higher.';
--
Peter Thoeny - 2025-08-11
If you answer a question - or someone answered one of your questions - please remember to edit the page and set the status to answered. The status selector is below the edit box.