Bug 490267

Summary: tcl-snack package missing snackConfig.sh and no devel companion package.
Product: [Fedora] Fedora Reporter: Kev 'Kyrian' Green <kyrian>
Component: tcl-snackAssignee: Tom "spot" Callaway <tcallawa>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: 10CC: tcallawa
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Fixed In Version: 2.2.10-10.fc9 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-03-20 18:31:57 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Description Kev 'Kyrian' Green 2009-03-14 13:55:14 UTC
Description of problem:

Try building anything against tcl-snack, and it will fail due to the lack of snackConfig.sh, which appears to be the standard method of acquiring the configuration of anything TCL/Tk.

Version-Release number of selected component (if applicable):


How reproducible: See description.
Steps to Reproduce: See description.
Actual results: See description.

Expected results:

snackConfig.sh to be packaged in with tcl-snack, or its devel companion, so building against it works.

The file is there when you build a SRC/binary RPM, and just copying it into place from BUILD/snack2.2.10/unix/snackConfig.sh will do, but it ought to be packaged really I suppose.

Comment 1 Kev 'Kyrian' Green 2009-03-14 15:03:54 UTC
Doh. Of course this then leads on to that the following header files aren't installed either:


Oh, and this relates to https://bugzilla.redhat.com/show_bug.cgi?id=489430 because the relevant Festival bits and bobs need the aforementioned to compile the EMU system, which relies on tcl-snack, by the looks of it.

I'd assume there are other applications that require this, but you never know.

Comment 2 Tom "spot" Callaway 2009-03-16 15:43:58 UTC
Is there a dependent software component I could test against?

Comment 3 Kev 'Kyrian' Green 2009-03-16 16:00:12 UTC
I'm not at the same workstation as I was when I opened this, so I'm uncertain, but OTOH if you get the TCL ASSP SRC RPM from the noted bug:


Then it should show up the issue.

Try to rebuild it without having grabbed snackConfig.sh from the .src.rpm then it won't go far...


Comment 4 Tom "spot" Callaway 2009-03-16 16:08:31 UTC
Seems to be looking for tclConfig.sh, not snackConfig.sh. You sure about that one?

(also, passing --with-tcl=%{libdir} should get it past that)

Comment 5 Kev 'Kyrian' Green 2009-03-16 19:18:40 UTC
Ah, found it...


Emu 2.x download tarball.

[me@mybox snackssff]$ ./configure --help | grep -i snack
  --with-snack=DIR        use Snack files from DIR
[me@mybox snackssff]$ grep snackConfig.sh ./configure
[me@mybox snackssff]$ 

I would hazard that it is part of TEA (TCL Extension Architecture) that requires the [something]Config.sh file to be present, and that this is true of all similar packages?

Comment 6 Tom "spot" Callaway 2009-03-17 22:25:45 UTC
That picture of the emu cracks me up!

I wasted far too much time packaging up the pre-requisites so I could test emu properly, but I understand how to fixup tcl-snack now.

BTW, I redid some of your packages from 489430... they needed some love.


I'm 75% done with an emu package. Were you considering maintaining these in Fedora?

Comment 7 Kev 'Kyrian' Green 2009-03-18 00:16:04 UTC
Yes, it is quite amusing.

Those assp packages were just for the purposes of getting Emu and hence the festival stuff I wanted done, and included on the bug/ticket in case they helped someone else in the future. It didn't matter so much if they were "messy". Glad you're on track with the snack-devel or whatever stuff.

I don't mind maintaining those packages for as long as I am doing the festival project that I am working on, which may translate to a 4 year PhD course, or may be done on a more casual basis.

I have been working on an Emu package myself. I wasn't suggesting that you should build one, but given that mine tend to get the job done rather than possess all that much finesse, perhaps it's best if you complete yours instead? I'd be fine with testing it, whichever one that is.

That said, I'll wait for your response on this before doing any more on mine, as an Emu package is a lot of work, and there's no point in doing it twice. If you want me to post my work so far then that's fine too.

Apropos, I have found that using 'make -n' can make producing spec files a hell of a lot more easy.

Comment 8 Fedora Update System 2009-03-18 17:00:38 UTC
tcl-snack-2.2.10-10.fc9 has been submitted as an update for Fedora 9.

Comment 9 Fedora Update System 2009-03-18 17:00:44 UTC
tcl-snack-2.2.10-10.fc10 has been submitted as an update for Fedora 10.

Comment 10 Kev 'Kyrian' Green 2009-03-19 18:16:52 UTC
If you do opt to build your own package, could you add a symlink in it from 'labeller2' to 'emulabel'? 

I believe that simple thing will save a lot of people hassle using the Emu system, because eg. from here: http://festvox.org/bsv/x1003.html

That is what it used to be called, and people are hunting for it by the old name.

Either that, or put something in a README.RPM file about it.

Alternatively if you want me to continue to build my Emu RPM I've already done that.

Comment 11 Tom "spot" Callaway 2009-03-19 18:40:00 UTC
My emu package is 95% done. My only remaining concerns are about how a lot of the emu tcl scripts seem to want to use "tkemu" or "emush", neither of which I can find in the source.

Comment 12 Tom "spot" Callaway 2009-03-19 18:51:51 UTC
There isn't a "labeller2" binary... there is /usr/lib64/tcl8.5/labeller2/app/labeller.tcl. I'm not sure if making a symlink to that for emulabel will help the people trying to use it as described in that festvox page.

Here's the latest emu SRPM and SPEC I have... perhaps you'll have a better idea how to accomplish your suggestion:


Comment 13 Kev 'Kyrian' Green 2009-03-19 19:10:28 UTC
"binary" was stretching the definition a lot, I'll grant you.

In my .spec file I have references to this call from the makefile's voodoo:

        /usr/bin/tclsh8.5 fixandcp.tcl ./${a} ;

Where $a is:

autoDBinstaller/app/autoDBinstall.tcl  snacktrack/app/formant.tcl
confgui/app/confgui.tcl                snacktrack/app/snacktrack-tool.tcl
emuconfgui/app/emuconfgui.tcl          tkassp/app/tkassp.tcl
labeller2/app/labeller.tcl             tkwizard/app/snitwiztest.tcl

Hence including labeller2 to create a command line program (although not 'binary', really, just a shell script wrapper for the TCL code), and although I'm not 100% certain, I believe 'labeller2' equates to 'emulabel' from earlier versions.

I'll investigate in more detail later.

Comment 14 Tom "spot" Callaway 2009-03-19 19:20:31 UTC
labeller2/app/labeller.tcl needs to be invoked with wish to work. I suspect it might get called from inside the dbemu environment (dbemu being the only obvious binary in the set).

Comment 15 Kev 'Kyrian' Green 2009-03-19 19:41:43 UTC
I haven't worked out what dbemu is for yet ;-)

But I do know what 'fixandcp.tcl' adds this header to the scripts to make them into shell scripts:


# The next line is executed by /bin/sh, but not tcl
exec $command  \$0 \${1+"$@"}

--- END

Where $command is set to one of /usr/bin/wish8.5 or /usr/bin/tclsh8.5

Which I think lands us back on the same wavelength...

Comment 16 Tom "spot" Callaway 2009-03-19 20:03:58 UTC
Yes... but fixandcp.tcl is only run on: dbemu/app/dbemu, because that is the only item in apps= in applications/Makefile...

Comment 17 Fedora Update System 2009-03-20 18:31:52 UTC
tcl-snack-2.2.10-10.fc10 has been pushed to the Fedora 10 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 18 Fedora Update System 2009-03-20 18:33:26 UTC
tcl-snack-2.2.10-10.fc9 has been pushed to the Fedora 9 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 19 Kev 'Kyrian' Green 2009-03-20 20:19:12 UTC
Perhaps a new ticket for this Emu package would be good at this time?

I've looked at it, and it certainly seems you were right :-)

I'm trying it now, and neither your package, or the binary installer version from http://emu.sourceforge.net/ actually work when following the instructions:

[myuser@mybox bin]$ EMU_TEMPLATE_PATH=/my/home/path/data/time/etc/ dbemu
Emu: ./generic/emu_vec.h:265: T& emu_vector<T>::operator[](int) [with T = emu_string]: Assertion `i>=0 && i<length()' failed.
[myuser@mybox bin]$ 

I suspect I know why (multiple template files, some of a different format) and will experiment some more...