[ic] Error installing ic 5.10 on debian 9

marco m.mescoli at omnib.it
Sat Sep 30 10:23:28 UTC 2017

Il 30/09/2017 02:21, marco ha scritto:
> Il 29/09/2017 22:28, Josh Lavin ha scritto:
>> Quoting David Christensen (david at endpoint.com):
>>>> with perl 5.24.1
>>>> # perl -MCPAN -e 'install "Bundle::InterchangeKitchenSink"'
>>>> inside interchange source dir
>>>> # perl Makefile.PL
>>>> # make
>>>> On make I obtain this error:
>>>> Can't locate scripts/initp.pl in @INC (..snip..) at relocate.pl line
>>>> 25.
>>>> Makefile:907: recipe for target 'scripts/crontab' failed
>>>> make: *** [scripts/crontab] Error 2
>>> Hi Marco,
>>> What version of IC are you trying to install?
>>> I tested with a fresh plenv-based install of 5.24.1 on git HEAD, and
>>> was not able to reproduce the issue. You could provide the Makefile if
>>> you want to provide more detail.
>> I did have to change relocate.pl recently for 5.26:
>> https://github.com/interchange/interchange/commit/2f4212b67b0c3ccfa2741bb7be4c1036afe226ca#diff-860d2f1b7abed392558a5cd7f2ea9e6d
>> This should not have affected prior versions of Perl, since David's
>> test went OK, and also we are passing all the TravisCI tests of various
>> Perl versions.
>> 5.24 should have worked with the prior version of relocate.pl too, but
>> you might need to use the "Git latest" version of Interchange, instead
>> of the "5.10 release". See README-DEVELOPMENT on how to use this:
>> https://github.com/interchange/interchange/blob/master/README-DEVELOPMENT
>> I have a few more fixes for 5.26, which I need to commit soon.
> Hi David and Josh, thanks for the help
> The version I have tried to install was 5.10.0 from icdevgroup.org:
> interchange-5.10.0.tar.gz
> Now I have installed with success from git the same version downloading:
> https://github.com/interchange/interchange/archive/master.zip
> I have created and run demo strap but on restart interchange server:
> su -c "/usr/local/interchange/bin/interchange -r" interch
> give this error:
> table userdb index failed: Table 'test_strap.userdb' doesn't exist
> DBI: Index creation query 'CREATE UNIQUE INDEX `userdb_usernick` ON
> `userdb` (`usernick`)' failed: Table 'test_strap.userdb' doesn't exist
> table 'userdb' failed: list_fields execute on `userdb`: Table
> 'test_strap.userdb' doesn't exist at
> /usr/local/interchange/lib/Vend/Table/DBI.pm line 2066.
> Anyway the strap catalog run but none can login.

Is a mysql create problem.
I have mariaDB server 10.1.26-MariaDB-0+deb9u1 Debian 9.1
characterset: utf8mb4
With utfmb4 creating userdb:
  `username` varchar(255) NOT NULL PRIMARY KEY,
give error:
ERROR 1071 (42000) at line 1 in file: 'userdb.sql': Specified key was 
too long; max key length is 767 bytes

4 byte every varchar(255) * 4 = 1020 > 767

Looking at

Changing the userdb create sql `username` line in:
  `username` varchar(191) NOT NULL PRIMARY KEY,
the script run without errors.
Also changing db characterset from utf8mb4 to utf8
ALTER DATABASE test_strap CHARACTER SET utf8 COLLATE utf8_unicode_ci;

the create usedb query runs well with varchar(255) and strap users can 
login :-)

"Fino alla bara sinpara"
"Up to demise we rize"

More information about the interchange-users mailing list