SID-00291: Unicodepath Error on New 4.3.1 Install
| Status: |
Answered |
TWiki version: |
4.3.1 |
Perl version: |
5.8.5 |
| Category: |
CategoryInstallation |
Server OS: |
RHEL 4u7 |
Last update: |
15 years ago |
I had a working, fresh installation of TWiki 4.3.0. After yesterday's hotfix release, I tried to install the new 4.3.1 over it (I know this shouldn't be done normally, but this was a completely fresh installation). The configure worked fine, but viewing a topic failed with an error:
TWiki detected an internal error - please check your TWiki logs and webserver logs for more information.
Can't locate Unicodepath in
@INC
(
@INC
contains: path . path-linux-thread-multi path path-linux-thread-multi path-linux-thread-multi path-linux-thread-multi path-linux-thread-multi path-linux-thread-multi path-linux-thread-multi path path path path path path path path-linux-thread-multi path-linux-thread-multi path-linux-thread-multi path-linux-thread-multi path-linux-thread-multi path-linux-thread-multi path path path path path path path path path-linux-thread-multi path path)
I then tried deleting
LocalSite.cfg, got a fresh configure, saved the new configuration, tried viewing a page, and got the same error. I then deleted the entire installation, started over with a brand-new 4.3.1 tarball, repeated the process, got through configuration ... and got the same error. What is going on? Why would 4.3.0 work fine, and 4.3.1 not?
By the way, in a remotely related note, I tried to join the IRC channel via Mibbit to ask questions and get help, but it seems that either I, or Mibbit users in general, are banned from the channel. Maybe these users have a reputation for doing stupid things, but by banning the lot, you're also banning legitimate users who may need help.
--
JohnDeStefano - 2009-04-30
Discussion and Answer
I have never seen a Unicodepath Perl module, and it is also nowhere referenced in TWiki. What is the exact output you get in your Apache error_log?
On Mibbit ban on #twiki IRC, we had pretty badly abuse for a few month. I removed the ban for now, but will restore if abuse continues.
--
PeterThoeny - 2009-04-30
Peter, I can't find another reference to this error anywhere, so it's a bit peculiar ...
Here's a sample error log entry: [Thu Apr 30 11:00:02 2009] [error] [client 127.0.0.1] Can't locate Unicode/String.pm in
@INC
(
@INC
contains: /var/www/twiki/lib . /usr/lib/perl5/5.8.5/i386-linux-thread-multi /usr/lib/perl5/5.8.5 /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.4/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.3/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.2/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.1/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl/5.8.4 /usr/lib/perl5/site_perl/5.8.3 /usr/lib/perl5/site_perl/5.8.2 /usr/lib/perl5/site_perl/5.8.1 /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.4/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.3/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.2/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.1/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl/5.8.4 /usr/lib/perl5/vendor_perl/5.8.3 /usr/lib/perl5/vendor_perl/5.8.2 /usr/lib/perl5/vendor_perl/5.8.1 /usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl /var/www/twiki/lib/CPAN/lib//arch /var/www/twiki/lib/CPAN/lib//5.8.5/i386-linux-thread-multi /var/www/twiki/lib/CPAN/lib//5.8.5 /var/www/twiki/lib/CPAN/lib/) at /var/www/twiki/lib/TWiki/Render.pm line 15., referer:
http://localhost/twiki/bin/configure?t=1241103593&expert=1
Note that this error only appears in a 4.3.1 install: if I wipe this install out and install 4.3.0 in the same location, the error no longer appears. Wipe that out, and install a new 4.3.1, and the error re-appears once again ....
--
JohnDeStefano - 2009-04-30
You need to install
CPAN:Unicode::String
. See
HowToInstallCpanModules.
Note to myself: Review dependency at
TWiki.TWikiSystemRequirements.
--
PeterThoeny - 2009-04-30
So upgrading from 4.3.0 --> 4.3.1 requires an additional CPAN package as a dependency? It seems odd to introduce a new dependency in a minor version release, especially as a hotfix.
Anyway, thanks for the info.
--
JohnDeStefano - 2009-04-30
Ah, I see, this is a recent dependency introduced by work in progress
TWikibug:Item4074
. Agree, this should not have gone into the patch release.
--
PeterThoeny - 2009-04-30
Also, this module is not mentioned in configure -> CGI Setup -> Perl Modules. The only Unicode module there is Unicode::MapUTF8, which doesn't seem to be required unless you need international chars. That would be a good place to give admins a clue that something is missing or gone wrong.
--
JohnDeStefano - 2009-04-30
Please give your feedback at
TWikibug:Item4074
so that the developer can follow up.
--
PeterThoeny - 2009-04-30
Will do.
--
JohnDeStefano - 2009-04-30
I'm a newby at this particular game and I tried to install Twiki 4.3.1 today (following the instructions at
TWikiOnMacOSXLeopard; I'm using 10.5.6). Got essentially the same error as
JohnDeStefano describes.
Next I tried to install
CPAN:Unicode::String
as suggested above. The process seems to work down to this point, where writing the makefile fails:
Checking if your kit is complete... Looks good Writing Makefile for Unicode::String -- NOT OK Running make test Can't test without successful make Running make install make had returned bad status, install seems impossible
Same kind of thing happens if I try to update CPAN. Tried this while logged in as my usual admin self (with "sudo" in front of the commands), and also fully logged in as Root.
What am I missing? I have Perl 5.8.8. CPAN v1.7602. I probably don't have the dev tools installed from the OS X CD-ROM since I got the 50+
RCS errors when configuring Twiki and fixed it by switching to RCSLite.
--
GrahamCollins - 2009-05-12
Instead of fighting CPAN install you can manually patch the
twiki/lib/TWiki/Render.pm file:
1. Remove this line:
use Unicode::String qw(utf8 latin1 utf16be);
2. Replace the following two lines:
my $utf8AnchorName = Unicode::String->new($anchorName);
$anchorName = $utf8AnchorName->substr(0, 32);
with this line:
$anchorName =~ s/^(.{32})(.*)$/$1/; # limit to 32 chars
--
PeterThoeny - 2009-05-13
Thanks -- that has fixed it.
On the CPAN troubles, I'm now pretty sure I need to install the relevant dev tools. For instance, I don't have "make" anywhere. But dealing with that can wait for another day.
--
GrahamCollins - 2009-05-13
Additional Info:
I encountered the same error on a fresh 431 install onto an ubuntu box. Peter's fix for Render.pm above worked just fine to eliminate the problem.
Thanks! -pbr
--
PaulReiber - 2009-05-14
On Debian or Ubuntu, apt-get libunicode-string-perl fixes this issue
--
TomaszGrzegurzko - 2009-05-22
Sorry, the previous command should be
apt-get install libunicode-string-perl
--
TomaszGrzegurzko - 2009-05-22
I entountered same issue, after patching Peter's codes I got the wiki site like this:
http://www.wikidao.com/twiki/bin/view/TWiki/WebHome
Any clue on this?
--
CoriaXu - 2009-05-31
This is unrelated. Please open a new support question with details.
--
PeterThoeny - 2009-06-01
I had the same problem as the original poster with 4.3.2 (naturally) however I had Unicode::String installed. I upgraded Unicode::String to 2.09 which solved the problem. So, those of us with older servers to take care of (
CentOS 4.4) simply need to upgrade this module.
--
JuliusBrendalaen - 2009-09-11
I used the Manual patch. The top of the Unicode-String-2.09 README files states:
"These are experimental modules to handle various Unicode issues. They
were made before perl included native UTF8 support."
I don't know much about perl UTF8 support, but if it is included in perl, shouldn't that be used before an experimental module?
--
GregNeugebauer - 2009-09-11
Native UTF8 support is available since Perl 5.8+. TWiki requires 5.6.1 or higher, 5.8.4 or higher recommended. So unless we raise the required version we can't depend on native UTF8 support. If interested, I invite you to participate in related
InternationalisationEnhancements topics.
--
PeterThoeny - 2009-09-11
Generally Unicode::String should not be required, as pointed out - the TWiki
I18N code's limited UTF8 support (for URLs, in
EncodeURLsWithUTF8) uses other Unicode:* modules for Perl 5.6 only, or the Encode module that's built into Perl 5.8.
--
RichardDonkin - 2009-09-22
This needs to be fixed for TWiki 5.0. I raised urgent
TWikibug:Item6439
to track this.
--
PeterThoeny - 2010-04-27
For Fedora core 13 this bug can be fixed for Twiki 4.3.2 by installing perl-Unicode-String
--
SteveEcob - 2010-06-29
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.