Error on start

Bug #234224 reported by sander
6
Affects Status Importance Assigned to Milestone
Coccinella
Fix Released
Medium
Mats

Bug Description

sander (s-devrieze)
Changed in coccinella:
assignee: nobody → matsben
importance: Undecided → Medium
Revision history for this message
Mats (matsben) wrote :

It looks like they are running from sources and their installation is incomplete and missing the msgcat package.
I do:
    uplevel #0 namespace import ::msgcat::mc
which defines the 'mc' command at the global namespace. msgcat is an integrated part in Tcl.
Maybe it is better to advice people to run from one of single xecutable tclkits instead. They can be found as usual here: http://www.equi4.com/tclkit/download.html

Revision history for this message
João Pinto (joaopinto) wrote :

Actually we are using the Linux binary package.
The error reported on the comments could not be reproduced on my main system neither on clean base Ubuntu Hardy chroot.

Revision history for this message
Mats (matsben) wrote : Re: [Bug 234224] Re: Error on start

As far as I can tell it is a problem with the Tcl/Tk installation.
A quick fix is to use any single executable from:
http://www.equi4.com/tclkit/download.html

Revision history for this message
Michael Kogan (michael-kogan) wrote :

Sry for the dumb question, but how to use the TclKit packages with Coccinella? Btw, an older version of Coccinella (0.96.2) from its HP is working fine with the existing TclKit install. :)

Revision history for this message
sander (s-devrieze) wrote :

1) Download a TclKit binary for your platform on the URL Mats gave.
2) Make sure the binary is executable on your platform
3) Download the Coccinella sources and unpack them
4) Run the tclkit binary to start Coccinella, either (assuming you are in the coccinella directory):

a) ./tclkit ./Coccinella.tcl
b) ./tclkit
source Coccinella.tcl

Note: on Mac OS X you also can open the Coccinella.app directory and simply replace the tclkit with another version; that should work too.

Revision history for this message
Michael Kogan (michael-kogan) wrote :

Thanks, this way it is starting. Is there a way to make a deb-package so it does run easier? Or are the Tcl packages in the Ubuntu 8.04 repos just too old for the new version?

Revision history for this message
sander (s-devrieze) wrote :

The binaries at the Coccinella website include are requirements (so, also tclkit). I don't know how the binary at getdeb is built, but the error in the comment on getdeb indicates that msgcat is not found. Msgcat is used for the translations. Ask the packager of the getdeb deb-package. Coccinella 0.96.8 should be compatible with both Tcl/Tk 8.4 and Tcl/Tk 8.5, since this week the development version only supports 8.5 as 8.4 support is dropped (see Mats blog post on the website).

Revision history for this message
João Pinto (joaopinto) wrote :

The getdeb package is built from the binary package, are you refering to the "msgcat" binary ?
gettext is not listed as a package depency, if cocinella needs msgcat I will need to add it.
Thanks

Revision history for this message
sander (s-devrieze) wrote :

No, it's not the msgcat of gettext. It's the msgcat of Tcl/Tk; that's something difference. Anyway, if you are using the binary, all should be fine.

btw: you also can use the source version for the getdeb deb-package and just add depenencies for Tcl/Tk 8.4 or 8.5 (8.5 recommended) and some other Tcl/TK related tools (I believe only Metakit is required besides Tcl/Tk, but I believe Coccinella will work without it, although you will have some non-critical errors (some things will not work). You also can replace the binaries in bin/unix/Linux/i686 with dependencies to Debian packages, but AFAIR there are no packages for all of them. Other suggestion: when using Tcl/Tk 8.4, you can add a dependency for libpng.so.3. If this library is available on the system, tileqt will work. This allows the user to use Qt window decorations in the theme section of Coccinella. So, you will get a better integration into KDE...and I believe there also is a special GTK integration theme for Qt... All this does not yet work when using Tcl/Tk 8.5 (which is recommended).

Revision history for this message
Anacharsis (anakharsis) wrote :

This bug appears because something was messed up in config files:
> wget http://prdownloads.sourceforge.net/coccinella/Coccinella-0.96.8Linux-x86.tar.gz
...
> md5sum Coccinella-0.96.8Linux-x86.tar.gz
79830cf96c9a774788aa7600b6653425 Coccinella-0.96.8Linux-x86.tar.gz
> tar zxf Coccinella-0.96.8Linux-x86.tar.gz
> cd Coccinella-0.96.8Linux-x86
> ./Coccinella-0.96.8.bin
invalid command name "mc"
    while executing
"mc Error"
    (procedure "::PrefUtils::Init" line 19)
    invoked from within
"::PrefUtils::Init"
    (file "/home/vadim/Coccinella-0.96.8Linux-x86/Coccinella-0.96.8.bin/lib/app-Coccinella/Coccinella.tcl" line 155)
    invoked from within
"source /home/vadim/Coccinella-0.96.8Linux-x86/Coccinella-0.96.8.bin/lib/app-Coccinella/Coccinella.tcl"
    ("package ifneeded app-Coccinella 1.0" script)
    invoked from within
"package require app-Coccinella"
    (file "/home/vadim/Coccinella-0.96.8Linux-x86/Coccinella-0.96.8.bin/main.tcl" line 3)
> mv ~/.coccinella ~/c
> ./Coccinella-0.96.8.bin

And now I need to set up my account again.

I have tried both binary and source development versions: Coccinella-0.96.9Linux-x86.tar.gz, Coccinella-0.96.9Src.tar.gz (18-Aug-2008 05:49) and this bug is still there.

Revision history for this message
Mats (matsben) wrote :

Sounds weird.
I do:
    uplevel #0 namespace import ::msgcat::mc
which defines the 'mc' command. One possible reason for this bug is if
there is an error dialog or something else that uses 'mc' before it
was imported from ::msgcat::mc. Try run the source distro but do:

wish or wish8.5
namespace import ::msgcat::mc
source Coccinella.tcl

to be sure 'mc' is defined before its usage.
In any case I just checked in a few fixes where I switched to
::msgcat::mc in cases before the import. See if this helps. If my
assumption is right you will likely see a dialog:
"Error reading preference file: $prefsFilePath."
which says you don't have read access to the prefs path.

Revision history for this message
Anacharsis (anakharsis) wrote :

Yep, the dialog complained about preferences.rdb file. It seems like the "Google Talk" profile has been added incorrectly.
Below are (a little altered) changes that fixed this problem:

--- preferences.rdb.orig 2008-08-19 16:23:52.000000000 -0400
+++ preferences.rdb 2008-08-19 16:30:27.000000000 -0400
@@ -23,10 +23,7 @@
 *jprefs_gchat_colScheme: Naive
 *jprefs_autoLogin: 1
 *jprefs_ui_main_infoType: mejid
-*profiles: xxxx {...} {Google Talk} {
- gmail.com You from_gmail_your_account
- -ip talk.google.com -port 5223 -secure 1 -method ssl -digest 0
- }
+*profiles: xxxx {...} {Google Talk} { gmail.com You from_gmail_your_account -ip talk.google.com -port 5223 -secure 1 -method ssl -digest 0 }
 *selected_profile: xxxx
 *jprefs_status_menu: {away {}}
 *jprefs_subsc_auto: 1

Revision history for this message
Mats (matsben) wrote :

I think this is fixed now. I had used a multiline value for a profile which didn't save correctly in the X11 rdb format which takes single lines only:
 * [Bugfix]: an old profile had multiline value.
 * [Bugfix]: prefs values now protected for multiline values.

Changed in coccinella:
milestone: none → 0.96.10
status: New → Fix Committed
Revision history for this message
João Pinto (joaopinto) wrote :

Any planned date for a release with this bug fix ?
Thanks

Revision history for this message
sander (s-devrieze) wrote :
sander (s-devrieze)
Changed in coccinella:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.