Program will not run correctly using Slackware 14.1/Tcl 8.6.1
ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
i made that suggestion
prior to knowing that this was a 32 bit program being built on a 64 bit OS that is NOT multi lib
also a TON of older code will NOT compile on gcc 4.8 or 4.9
sometimes it is a simple few line hack to get the old code up to the current gcc specs
other times it is WAY easier to have a few versions of gcc installed
if i see an average gcc4.8 build error i will drop to 4.3 , most of the time it will build
or use gcc34
( old habits and a long history of using Fedora and building most programs i use with the very very very NEW version of gcc )
also IF the code built AND worked in gcc 4.3 then we WOULD know that that is the issue
if it still did not work then a tcl issue
but again
without knowing the full build commands and any errors
nor the last error of a "strace"
or the output of gdb .......
I downloaded as suggested the multilib packages. After successfully downloading I went
to the point in the instructions, "Compiling 32-bit programs" and entered
. /etc/profile.d/32dev.sh. The prompt changed to:
root@work1 (32bit):/bytex/bytex_gui#
At the prompt I then entered gcc -o bytex bytex.c. The following are the error messages returned:
bytex.c: in function 'check error':
bytex.c:1311:37 error: 'Tcl_Interp' has no member named 'result'
fprintf(stderr, "%s\n", interp >result);
bytex.c:1317:54: error: 'Tcl_Interp' has no member named 'result'
fprintf(stderr, "Tcl_Int failed: %s\n", interp >result
bytex.c:1323:53 error: 'Tcl_Interp' has no member named 'result'
fprintf(stderr, "Tk_Init failed: %s\n", interp >result'
Again the program was written on a Slackware version below 12.2 and before my time. I have no C programming experience and I am trying to get the script to work on Slackware 14.1 64 bit.
The actual problem is:
From the command line I would enter go_bytex. A GUI appears with an assortment of function buttons that perform individual functions. For the most part when one of these buttons is pressed, using the mouse, the GUI disappears and I am returned to the command line with an error message. Here is a message when one of the buttons is pressed:
alloc: invalid block: 0x16d9930: 0 0
/bytex/go_bytex: line 4: 3542 Aborted bytex
Well, in this case your program is buggy (only the bug didn't manifest in the older configuration). Your options:
- contact the original programmer
- hire another programmer
- install a virtual computer with the previous working configuration
Try upgrading the 12.2 machine's TCL package to 8.6.1. Then rebuild the program on the 12.2 machine and test it on the 12.2 machine again. If that breaks the application, then you know that the issue is TCL 8.6.1 not being backward compatible with 8.5.5.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.