• Do not register here on develop.twiki.org, login with your twiki.org account.
• Use View topic Item7848 for generic doc work for TWiki-6.1.1. Use View topic Item7851 for doc work on extensions that are not part of a release. More... Close
• Anything you create or change in standard webs (Main, TWiki, Sandbox etc) will be automatically reverted on every SVN update.
Does this site look broken?. Use the LitterTray web for test cases.

Item3476: Configure should warn instead of dying when perl is older then v5.8.0

Item Form Data

AppliesTo: Component: Priority: CurrentState: WaitingFor: TargetRelease ReleasedIn
Engine   Urgent Closed   patch 4.1.1

Edit Form Data

Summary:
Reported By:
Codebase:
Applies To:
Component:
Priority:
Current State:
Waiting For:
Target Release:
Released In:
 

Detail

See TWiki:Support/TWikiInstallErrorForPerl : The configure script dies with error "Perl v5.8.0 required--this is only v5.6.1, stopped at (eval 3) line 3."

TWiki 4.0 had this in configure:

$perlverRequired = 5.00503;

TWiki 4.1 has now this:

eval 'require 5.008';
die $@ if $@;

e.g. 5.8.0 is required. This is exessive and bad for two reasons:

  • We will lose evaluators because they get stuck in the evaluation process.
  • Many TWiki admins are not trained sys admins and do not know how to upgrade Perl.
  • Users of hosted sites do not have control over the Perl version.
  • The required env for TWiki was raised without agreeing on it in a release meeting. Doing so without community agreement should raise a big red flag.

Fix: Change the code to:

eval 'require 5.00503';
die $@ if $@;

I am setting this to urgent, it needs to be fixed in the first patch release.

-- PTh

Peter, sorry to harp on about this, but have you tested on Perl 5.5? Because I haven't, and I don't recall anyone else saying that they had. I am doubtful that configure works on this version, much less TWiki, though I would be happy to be proved wrong.

If you feel strongly that old perl versions must be supported, then you have to organise the means to test them. If you feel the user should take responsibility for testing their perl version that's also fine, but you better tell them so. By adding this 'require' you are making an implicit claim on all our behalfs that the code is tested on that version, and I for one cannot support that claim.

-- CC

Dear dev team:

We need to resolve four issues: Customer focus; not raise TWiki system requirements arbitrarily; make community based decisions; do what we say.

1. Customer focus:

Some developers expect all users downloading TWiki to know about Perl, CPAN and system administration. The reality is that only a small percentage does. If we expect all users to know as much as the dev team we will lose 90% of the evaluators because they get stuck at some point of the installation and give up. I have seen that more than I like to see. We need to try hard to make it easier for Joe Goodwill to download and install TWiki.

2. Not raise TWiki system requirements arbitrarily:

The system requirement of Perl is documented as 5.005_03 (aka 5.5.3); TWiki 4.0.x had a hard requirement on Perl 5.5.3; TWiki 4.1 has suddenly a hard requirement on Perl 5.8. This change slipped into the configure script without anybody noticing it. I consider this change a bug, and it is fixed for the upcoming 4.1.1.

3. Make community based decisions:

We have a solid process that helps enhance TWiki so that it is in line with the majority of the community and with the TWiki mission. Changes to TWiki that have an impact on the users need to follow the process we defined at http://twiki.org/cgi-bin/view/Codev/TWikiRelease04x01Process. Raising the hard requirement on Perl from 5.5.3 to 5.8 certainly falls under that category. If we raise the required environment for TWiki it should be done in line with our process.

4. Do what we say:

We claim that TWiki runs on Perl 5.5.3, but nobody is testing, and nobody is reviewing the code if it actually runs on that version. We made a lot of headway in automated testing thanks to Crawford and other folks. To me it looks like this infrastructure is a good opportunity to test TWiki on Perl 5.5.3.

-- PTh - sent to twiki-dev on 2007-01-21

I applied the fix, and now configure renders the page, but only incompletely. See my site. There appears to be more to this than meets the eye.

-- BKS

I think we need to see the Apache error_log to find out why it stops now.

-- KJL

Ok, the problem was that 4.1.0 also added a '-w' to the #!, which my host cannot support. I'd complain about that too, but I guess that'd belong in a separate bug that wouldn't get any votes...

Fix works for me.

-- BKS

Strike that "Fix works for me", I still have a passel of other dependency problems, all of which I probably can't get my (admittedly crappy) host to upgrade.


In the "TWiki module in @INC path" section:

Error: TWiki.pm could not be loaded. The error was: Can't locate Unicode/Normalize.pm

Yes, I triple-checked the lib path in LocalLib.cfg. I tried copying Normalize.pm from Unicode-Normalize-1.01 via CPAN into twiki/lib/CPAN/lib and got:

Error: TWiki.pm could not be loaded. The error was: Can't locate loadable object for module Unicode::Normalize


In the "Perl modules" section:

CGI::Carp Error: 1.20 installed. Version 1.26 required for for base TWiki
File::Copy Error: 2.03 installed. Version 2.06 required for for base TWiki
File::Find Error: installed. Version 1.05 required for for base TWiki
IO::File Error: 1.08 installed. Version 1.10 required for for base TWiki

I tried loading CGI.pm-3.25 into twiki/lib/CPAN/lib, and it didn't override the default library provided.


For reference:

My twiki's pwd:

/kunden/homepages/24/d98403219/htdocs/twiki3

My LocalLib.cfg:

$twikiLibPath = "/kunden/homepages/24/d98403219/htdocs/twiki3/lib";

An "ls -R" in /twiki3/lib/CPAN/lib after described module installation:

.:
Algorithm  CGI  CGI.pm  Error.pm  Locale  Normalize.pm  Text  Unicode 

./Algorithm:
Diff.pm

./CGI:
Apache.pm  Carp.pm  Cookie.pm  Fast.pm  Pretty.pm  Push.pm  Switch.pm  Util.pm

./Locale:
Maketext

./Locale/Maketext:
Extract  Extract.pm  Lexicon  Lexicon.pm

./Locale/Maketext/Extract:
Run.pm

./Locale/Maketext/Lexicon:
Auto.pm  Gettext.pm  Msgcat.pm  Tie.pm

./Text:
Diff.pm

./Unicode:
Normalize.pm

-- BKS

It looks like more work needs to be done clarify / clean up the required versions. Changing from "waiting for release" to "new".

-- PTh

Restoring the required Perl version to 5.5.3 has been reverted up to 5.8. This is a release blocker. I am not going to engage in a ping-pong action. Lets follow our TWikiRelease04x01Process and debate this in a release meeting.

-- PTh

Action item: Restore to original 5.5.3 until TWiki:Codev/WhatVersionsOfPerlAreSupported is sorted out.

-- PTh

Well, I have the same problem - 1and1.com is hosting me with Perl 5.6.5, and now that I have made the suggested fix, the config page still does not work show everything I suspect it should. Pity, because I spent quite a while researching to settle on TWiki, and I have no chance of convincing 1and1 to upgrade Perl.

-- TWiki:Main.EricWoods - 28 Jan 2007

Ok, after more testing, I can now say that with Perl 5.6.5, "configure" does not work on TWiki 4.1.0, but does work on 4.0.5. The big problem is that when it doesn't work, some of the page does display, which mislead me, as a new user, to think it did work, and spend more time scratching my head as to why I would not find something called "General Path" wink So I cannot support PTh's reccomendation to "Restore to 5.5.3". I think people in my position should be aware that they have to use TWiki 4.0.5 until this matter is sorted out. At least that would have saved me untold grief.

-- TWiki:Main.EricWoods - 30 Jan 2007

deleted things not related to this bug item. Eric do not use bugs web as a support web and open new bug items if you have additional bugs. I have opened a bug on what you wrote.

From the release meeting it was decided that for release 4.1.1 the following action will be taken.

Instead of having configure block execution on perl versions lower than 5.8 configure will warn that Twiki will most likely not run without tweaking both TWiki and Perl libs with perl versions older than 5.8.

For 4.1.2 the community will seek to get TWiki working at least on 5.6.X and if possible and feasible on earlier.

-- TWiki:Main.KennethLavrsen - 30 Jan 2007

I'm setting the worked on field to Kenneth, as reports in that state should be specific

CC

Instead of explaining myself I coded what we had agreed at the release meeting.

I decided to warn both in error_log and in CGI setup of the browser.

The log because configure may die very fast.

The CGI setup because this is the natural place.

The log will not be flooded as this is only when you run configure. Not normal TWiki runtime.

-- TWiki:Main.KennethLavrsen - 31 Jan 2007

Kenneth, what you have done is good so far. However I think you have to include a link to a topic in Codev which describes the experiences of someone who has successfully run TWiki on at least one earlier perl version. Otherwise the current text is implying it's possible, but leaving the admin in the dark as to how they should proceed (apart from a nebulous "upgrade some modules and tweak the code". You might as well say "upgrade perl").

The (harsher) alternative is to re-word to something closer to the text I proposed i.e. "TWiki is only tested on Perl 5.8.x. It may work on earlier Perl versions, but has not been tested with them".

I think this is a serious enough lack to re-open this item, so I'm setting it "Waiting for Feedback"

CC

Since our plan is to make an effort in getting TWiki to play on 5.6.X (I doubt it is feasible to do 5.5.3) then I would rather just live with this compromize between yours and Peter's views for a short while.

And I actually hope that someone will try and make it work and post their experience. People do not read long stories in a user interface. I will add this to the release note instead and refer to the Codev topics from there.

-- TWiki:Main.KennethLavrsen - 01 Feb 2007

I totally agree with CC, and can talk from personal experience - being left in the dark as to how to proceed is baaaad - I almost tossed TWiki (and my computer) out the window. I know another guy who tried TWiki and gave up.

If I understand you correctly ("hope that someone will try and make it work and post their experience"), I beleive that is what I did above - I tested TWiki 4.1.0 on Perl 5.6.5 and it failed. Then I tested TWiki 4.0.5 on Perl 5.6.5 and it worked.

So I would suggest the message in configure on perl versions lower than 5.8 should be more like: "Twiki 4.1.1 will most likely not run with perl versions older than 5.8 (without tweaking TWiki and Perl libs). However, TWiki 4.0.5 runs with perl 5.5.3 and greater, and it is planned that TWiki 4.1.2 will run with perl 5.6.x."

-- TWiki:Main.EricWoods - 02 Feb 2007

I said I would add it to the release note where I can much better add a proper explanation. If you add 20 lines of text before a field in configure then I know noone will read it. This is basic user interface. If you write too much people get information flooded. I will look at the text again but I am not going to write a Tolstoj in a configure help text.

There has been a very passionate debate between Peter and Crawford and the current soft version of the text is a compromise. Sometimes a development community has to make compromises to work. Just like in the "real world". wink

-- TWiki:Main.KennethLavrsen - 02 Feb 2007

I have clarified the text so noone thinks TWiki 4.1.1 will work on 5.6.

But I will add links to twiki.org only in the release notes. I track release note elsewhere so I put this in waiting for release again.

Hope this compromise makes everyone more happy.

-- TWiki:Main.KennethLavrsen - 02 Feb 2007

"I tested TWiki 4.1.0 on Perl 5.6.5 and it failed. Then I tested TWiki 4.0.5 on Perl 5.6.5 and it worked." That statement just shows how we do not care about our customers. So, TWiki 4.0.x runs OK on Perl 5.6.x, but TWiki 4.1 requires the latest Perl. Very bad, very very bad for the TWiki project. This is a release blocker.

While I agree that we should say do what we do, I think the current wording is an invitation to do nothing after the release, with voices like "we are only supporting 5.8, and will support earlier versions only if someone commits to do the work." Aka, we lose more evaluators.

I think we need to do two things:

  • Make sure TWiki 4.1 runs on Perl 5.6.x (release blocker)
  • Revert the warning to say somthing the is commiting us to do the right thing: "TWiki has only been tested with Perl revision 5.8.X. Running TWiki with an older Perl version may require upgrading of modules and tweaking of the TWiki code."

-- TWiki:Main.PeterThoeny - 02 Feb 2007

We have a 4.1.0 that does not even run on 5.8.X and we discuss release blocker because it does not run on 5.6.X and discuss wording in an error message which is not going to make ANY difference to our customers.

Instead of all this bullshit use the energy to fix the issue with 5.6.X so we can follow up with a 4.1.2 ASAP. And leave me some space to finish the 4.1.1 work which is very very urgent because 4.1.0 is garbage no matter what perl version. Let us at least get 95% of our customers rolling again.

This is a message to both Crawford AND Peter!

-- TWiki:Main.KennethLavrsen - 02 Feb 2007

OK, so can we agree on this for TWiki 4.1.1:

  • Message: "TWiki has only been tested with Perl revision 5.8.X. Running TWiki with an older Perl version may require upgrading of modules and tweaking of the TWiki code."
  • Commitment to fix TWiki 4.1.2 to run on 5.6.x

-- TWiki:Main.PeterThoeny - 02 Feb 2007

We know that 4.1.1 does not run on 5.6.X.

The current message fits the situation and I am not going to lie to our customers. The current message given is not what Peter or Crawford wanted but what a customer that had wasted his time on trying to get TWiki to work on 5.6.X requested.

I listened to the customer and did what I think it the best we can do in 4.1.1. The essential action after 4.1.1 is to get TWiki to work again with at least Perl 5.6.X in 4.1.2.

Waiting for release.

-- TWiki:Main.KennethLavrsen - 04 Feb 2007

Cleaned "WaitingFor" field.

-- TWiki:Main.GilmarSantosJr - 10 Aug 2008

ItemTemplate
Summary Configure should warn instead of dying when perl is older then v5.8.0
ReportedBy TWiki:Main.PeterThoeny
Codebase 4.1.0
SVN Range TWiki-4.1.0, Mon, 15 Jan 2007, build 12567
AppliesTo Engine
Component

Priority Urgent
CurrentState Closed
WaitingFor

Checkins 12585 12608 12703 12704 12714 12715
TargetRelease patch
ReleasedIn 4.1.1
Edit | Attach | Watch | Print version | History: r36 < r35 < r34 < r33 < r32 | Backlinks | Raw View |  Raw edit | More topic actions
Topic revision: r36 - 2008-08-10 - GilmarSantosJr
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback