Discussion:
[Sguil-devel] Can't find iwidgets
Paul Schmehl
2012-12-20 16:11:55 UTC
Permalink
Bamm, I'm working on updating the FreeBSD ports to sguil 0.8.0. Server and
sensor are done, but I'm having a problem with the client. When I try to
run sguil.tk, I get the Cannot fine the iwidgets extension error.

I can't install ActiveTcl (which seems to be the universal "fix" to this
problem), but surely itcl/tcl/tk has something analogous to perl's @INC
that I can edit to fix this problem. I've googled my ass off, but I can't
seem to find a spec that explains how itcl/tcl/tk goes about finding all
its parts.

I thought creating the TCLLIBDIR environment variable might fix the
problem, but it didn't. I also tried symlinking the iwidgets directory to
the directory that sguil.tk is in, but that did no good either.

It worked when the default tcl port in FreeBSD was 8.4, but now that it's
been bumped to 8.5, it no longer works.

Any ideas?
--
Paul Schmehl, Senior Infosec Analyst
As if it wasn't already obvious, my opinions
are my own and not those of my employer.
*******************************************
"It is as useless to argue with those who have
renounced the use of reason as to administer
medication to the dead." Thomas Jefferson
"There are some ideas so wrong that only a very
intelligent person could believe in them." George Orwell
Voth, Brad (GE Corporate)
2012-12-20 16:15:26 UTC
Permalink
Paul, TCLLIBPATH is the environment variable you're looking for.

Brad.

-----Original Message-----
From: Paul Schmehl [mailto:***@tx.rr.com]
Sent: Thursday, December 20, 2012 11:12 AM
To: Sguil Dev List
Subject: [Sguil-devel] Can't find iwidgets

Bamm, I'm working on updating the FreeBSD ports to sguil 0.8.0. Server and sensor are done, but I'm having a problem with the client. When I try to run sguil.tk, I get the Cannot fine the iwidgets extension error.

I can't install ActiveTcl (which seems to be the universal "fix" to this problem), but surely itcl/tcl/tk has something analogous to perl's @INC that I can edit to fix this problem. I've googled my ass off, but I can't seem to find a spec that explains how itcl/tcl/tk goes about finding all its parts.

I thought creating the TCLLIBDIR environment variable might fix the problem, but it didn't. I also tried symlinking the iwidgets directory to the directory that sguil.tk is in, but that did no good either.

It worked when the default tcl port in FreeBSD was 8.4, but now that it's been bumped to 8.5, it no longer works.

Any ideas?

--
Paul Schmehl, Senior Infosec Analyst
As if it wasn't already obvious, my opinions are my own and not those of my employer.
*******************************************
"It is as useless to argue with those who have renounced the use of reason as to administer medication to the dead." Thomas Jefferson "There are some ideas so wrong that only a very intelligent person could believe in them." George Orwell
Paul Schmehl
2012-12-20 17:36:33 UTC
Permalink
Yeah, I mistyped it in the email. I tried it, but it didn't seem to help.
Maybe I was invoking it incorrectly?

--On December 20, 2012 4:15:26 PM +0000 "Voth, Brad (GE Corporate)"
Post by Voth, Brad (GE Corporate)
Paul, TCLLIBPATH is the environment variable you're looking for.
Brad.
-----Original Message-----
Sent: Thursday, December 20, 2012 11:12 AM
To: Sguil Dev List
Subject: [Sguil-devel] Can't find iwidgets
Bamm, I'm working on updating the FreeBSD ports to sguil 0.8.0. Server
and sensor are done, but I'm having a problem with the client. When I
try to run sguil.tk, I get the Cannot fine the iwidgets extension error.
I can't install ActiveTcl (which seems to be the universal "fix" to this
that I can edit to fix this problem. I've googled my ass off, but I
can't seem to find a spec that explains how itcl/tcl/tk goes about
finding all its parts.
I thought creating the TCLLIBDIR environment variable might fix the
problem, but it didn't. I also tried symlinking the iwidgets directory
to the directory that sguil.tk is in, but that did no good either.
It worked when the default tcl port in FreeBSD was 8.4, but now that it's
been bumped to 8.5, it no longer works.
Any ideas?
--
Paul Schmehl, Senior Infosec Analyst
As if it wasn't already obvious, my opinions are my own and not those of
my employer. *******************************************
"It is as useless to argue with those who have renounced the use of
reason as to administer medication to the dead." Thomas Jefferson "There
are some ideas so wrong that only a very intelligent person could believe
in them." George Orwell
-------------------------------------------------------------------------
----- LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
Remotely access PCs and mobile devices and provide instant support
Improve your efficiency, and focus on delivering more value-add services
Discover what IT Professionals Know. Rescue delivers
http://p.sf.net/sfu/logmein_12329d2d
_______________________________________________
Sguil-devel mailing list
https://lists.sourceforge.net/lists/listinfo/sguil-devel
--
Paul Schmehl, Senior Infosec Analyst
As if it wasn't already obvious, my opinions
are my own and not those of my employer.
*******************************************
"It is as useless to argue with those who have
renounced the use of reason as to administer
medication to the dead." Thomas Jefferson
"There are some ideas so wrong that only a very
intelligent person could believe in them." George Orwell
Bamm Visscher
2012-12-20 17:44:30 UTC
Permalink
Paul Schmehl
2012-12-20 17:56:36 UTC
Permalink
# tclsh
% puts $auto_path
/usr/local/lib/tcl8.5 /usr/local/lib
%

# ls -lsa /usr/local/lib/i*
0 lrwxr-xr-x 1 root wheel 28 Dec 20 17:28 /usr/local/lib/iwidgets ->
/usr/local/lib/iwidgets4.0.1

/usr/local/lib/itcl3.4:
total 44
2 drwxr-xr-x 2 root wheel 512 Dec 20 17:40 .
26 drwxr-xr-x 55 root wheel 26624 Dec 20 17:40 ..
10 -r--r--r-- 1 root wheel 9196 Dec 20 17:40 itcl.tcl
4 -r--r--r-- 1 root wheel 2387 Dec 20 17:40 itclConfig.sh
2 -r--r--r-- 1 root wheel 115 Dec 20 17:40 pkgIndex.tcl

/usr/local/lib/itk3.3:
total 52
2 drwxr-xr-x 2 root wheel 512 Nov 15 20:55 .
26 drwxr-xr-x 55 root wheel 26624 Dec 20 17:40 ..
4 -r--r--r-- 1 root wheel 3527 Nov 15 20:55 Archetype.itk
4 -r--r--r-- 1 root wheel 2686 Nov 15 20:55 Toplevel.itk
4 -r--r--r-- 1 root wheel 2651 Nov 15 20:55 Widget.itk
6 -r--r--r-- 1 root wheel 5303 Nov 15 20:55 itk.tcl
2 -r--r--r-- 1 root wheel 1778 Nov 15 20:55 itkConfig.sh
2 -r--r--r-- 1 root wheel 112 Nov 15 20:55 pkgIndex.tcl
2 -r--r--r-- 1 root wheel 578 Nov 15 20:55 tclIndex

/usr/local/lib/iwidgets4.0.1:
total 38
2 drwxr-xr-x 4 root wheel 512 Dec 20 17:28 .
26 drwxr-xr-x 55 root wheel 26624 Dec 20 17:40 ..
2 drwxr-xr-x 4 root wheel 1536 Dec 20 17:28 demos
2 -r--r--r-- 1 root wheel 1129 Dec 20 17:28 iwidgets.tcl
2 -r--r--r-- 1 root wheel 1759 Dec 20 17:28 license.terms
2 -r--r--r-- 1 root wheel 115 Dec 20 17:28 pkgIndex.tcl
2 drwxr-xr-x 2 root wheel 1536 Dec 20 17:28 scripts

So it seems that auto_path *should* know where iwidgets is but doesn't for
some reason.

I tried adding lappend auto_path /usr/local/lib/iwidget4.0.1 to squil.tk,
but that didn't fix it either.

Even uninstalling and reinstalling tcl8.5, itcl and iwidgets didn't fix it.

# tclsh
% puts $auto_path
/usr/local/lib/tcl8.5 /usr/local/lib
% package require iwidgets
can't find package iwidgets
% exit

I can't help but think there's something fundamental I'm missing here.
Surely there's a way in the tcl language to tell it where to find iwidgets?

--On December 20, 2012 12:44:30 PM -0500 Bamm Visscher
<***@gmail.com> wrote:
Bamm Visscher
2012-12-20 18:11:36 UTC
Permalink
What about this:

% package require Tk
8.5.13
% package require Itcl
3.4
% package require Itk
3.3
% package require Iwidgets
4.0.1

Send any errors you get trying to run those.

Bamm
Post by Paul Schmehl
# tclsh
% puts $auto_path
/usr/local/lib/tcl8.5 /usr/local/lib
%
# ls -lsa /usr/local/lib/i*
0 lrwxr-xr-x 1 root wheel 28 Dec 20 17:28 /usr/local/lib/iwidgets ->
/usr/local/lib/iwidgets4.0.1
total 44
2 drwxr-xr-x 2 root wheel 512 Dec 20 17:40 .
26 drwxr-xr-x 55 root wheel 26624 Dec 20 17:40 ..
10 -r--r--r-- 1 root wheel 9196 Dec 20 17:40 itcl.tcl
4 -r--r--r-- 1 root wheel 2387 Dec 20 17:40 itclConfig.sh
2 -r--r--r-- 1 root wheel 115 Dec 20 17:40 pkgIndex.tcl
total 52
2 drwxr-xr-x 2 root wheel 512 Nov 15 20:55 .
26 drwxr-xr-x 55 root wheel 26624 Dec 20 17:40 ..
4 -r--r--r-- 1 root wheel 3527 Nov 15 20:55 Archetype.itk
4 -r--r--r-- 1 root wheel 2686 Nov 15 20:55 Toplevel.itk
4 -r--r--r-- 1 root wheel 2651 Nov 15 20:55 Widget.itk
6 -r--r--r-- 1 root wheel 5303 Nov 15 20:55 itk.tcl
2 -r--r--r-- 1 root wheel 1778 Nov 15 20:55 itkConfig.sh
2 -r--r--r-- 1 root wheel 112 Nov 15 20:55 pkgIndex.tcl
2 -r--r--r-- 1 root wheel 578 Nov 15 20:55 tclIndex
total 38
2 drwxr-xr-x 4 root wheel 512 Dec 20 17:28 .
26 drwxr-xr-x 55 root wheel 26624 Dec 20 17:40 ..
2 drwxr-xr-x 4 root wheel 1536 Dec 20 17:28 demos
2 -r--r--r-- 1 root wheel 1129 Dec 20 17:28 iwidgets.tcl
2 -r--r--r-- 1 root wheel 1759 Dec 20 17:28 license.terms
2 -r--r--r-- 1 root wheel 115 Dec 20 17:28 pkgIndex.tcl
2 drwxr-xr-x 2 root wheel 1536 Dec 20 17:28 scripts
So it seems that auto_path *should* know where iwidgets is but doesn't for
some reason.
I tried adding lappend auto_path /usr/local/lib/iwidget4.0.1 to squil.tk,
but that didn't fix it either.
Even uninstalling and reinstalling tcl8.5, itcl and iwidgets didn't fix it.
# tclsh
% puts $auto_path
/usr/local/lib/tcl8.5 /usr/local/lib
% package require iwidgets
can't find package iwidgets
% exit
I can't help but think there's something fundamental I'm missing here.
Surely there's a way in the tcl language to tell it where to find iwidgets?
--On December 20, 2012 12:44:30 PM -0500 Bamm Visscher <
Paul Schmehl
2012-12-20 19:39:11 UTC
Permalink
# tclsh
% package require tk
can't find package tk
% package require Tk
no display name and no $DISPLAY environment variable
% package require itcl
can't find package itcl
% package require itk
can't find package itk
% package require iwidgets4.0.1
can't find package iwidgets4.0.1
% exit

Looks like I can't find anything except Tk. They're all installed, though.

On FreeBSD they get installed in their own directories under /usr/local/lib:
/usr/local/lib/tk8.5
/usr/local/lib/itcl3.4
/usr/local/lib/itk3.3
/usr/local/lib/iwidgets4.0.1

Apparently tcl is expecting them to be somewhere else?

--On December 20, 2012 1:11:36 PM -0500 Bamm Visscher
Post by Bamm Visscher
% package require Tk
8.5.13
% package require Itcl
3.4
% package require Itk
3.3
% package require Iwidgets
4.0.1
Send any errors you get trying to run those.
Bamm
# tclsh
% puts $auto_path
/usr/local/lib/tcl8.5 /usr/local/lib
%
# ls -lsa /usr/local/lib/i*
0 lrwxr-xr-x  1 root  wheel  28 Dec 20 17:28 /usr/local/lib/iwidgets
-> /usr/local/lib/iwidgets4.0.1
total 44
2 drwxr-xr-x   2 root  wheel    512 Dec 20 17:40 .
26 drwxr-xr-x  55 root  wheel  26624 Dec 20 17:40 ..
10 -r--r--r--   1 root  wheel   9196 Dec 20 17:40 itcl.tcl
4 -r--r--r--   1 root  wheel   2387 Dec 20 17:40 itclConfig.sh
2 -r--r--r--   1 root  wheel    115 Dec 20 17:40 pkgIndex.tcl
total 52
2 drwxr-xr-x   2 root  wheel    512 Nov 15 20:55 .
26 drwxr-xr-x  55 root  wheel  26624 Dec 20 17:40 ..
4 -r--r--r--   1 root  wheel   3527 Nov 15 20:55 Archetype.itk
4 -r--r--r--   1 root  wheel   2686 Nov 15 20:55 Toplevel.itk
4 -r--r--r--   1 root  wheel   2651 Nov 15 20:55 Widget.itk
6 -r--r--r--   1 root  wheel   5303 Nov 15 20:55 itk.tcl
2 -r--r--r--   1 root  wheel   1778 Nov 15 20:55 itkConfig.sh
2 -r--r--r--   1 root  wheel    112 Nov 15 20:55 pkgIndex.tcl
2 -r--r--r--   1 root  wheel    578 Nov 15 20:55 tclIndex
total 38
2 drwxr-xr-x   4 root  wheel    512 Dec 20 17:28 .
26 drwxr-xr-x  55 root  wheel  26624 Dec 20 17:40 ..
2 drwxr-xr-x   4 root  wheel   1536 Dec 20 17:28 demos
2 -r--r--r--   1 root  wheel   1129 Dec 20 17:28 iwidgets.tcl
2 -r--r--r--   1 root  wheel   1759 Dec 20 17:28 license.terms
2 -r--r--r--   1 root  wheel    115 Dec 20 17:28 pkgIndex.tcl
2 drwxr-xr-x   2 root  wheel   1536 Dec 20 17:28 scripts
So it seems that auto_path *should* know where iwidgets is but doesn't
for some reason.
I tried adding lappend auto_path /usr/local/lib/iwidget4.0.1 to squil.tk,
but that didn't fix it either.
Even uninstalling and reinstalling tcl8.5, itcl and iwidgets didn't fix it.
# tclsh
% puts $auto_path
/usr/local/lib/tcl8.5 /usr/local/lib
% package require iwidgets
can't find package iwidgets
% exit
I can't help but think there's something fundamental I'm missing here.
Surely there's a way in the tcl language to tell it where to find iwidgets?
--On December 20, 2012 12:44:30 PM -0500 Bamm Visscher
Paul Schmehl
2012-12-20 20:46:21 UTC
Permalink
Bamm, apparently these things are case sensitive on FreeBSD:

# tclsh
% package require Tcl
8.5.13
% package require tcl
can't find package tcl
% package require itcl
can't find package itcl
% package require Itcl
3.4
% package require Itk
no display name and no $DISPLAY environment variable
% package require Iwidgets
no display name and no $DISPLAY environment variable
% package require Iwidgets4.0.1
can't find package Iwidgets4.0.1
% package require iwidgets4.0.1
can't find package iwidgets4.0.1
% package require Iwidgets 4.0.1
no display name and no $DISPLAY environment variable
% exit

Unfortunately, changing the package require from iwidgets to Iwidgets in
sguil.tk didn't change a thing. :-(

I'm updating my copy of VMWare Fusion, and I'm going to run FreeBSD with X
on it and see if that will allow me to run the wish shell and do these
package requires...
--
Paul Schmehl, Senior Infosec Analyst
As if it wasn't already obvious, my opinions
are my own and not those of my employer.
*******************************************
"It is as useless to argue with those who have
renounced the use of reason as to administer
medication to the dead." Thomas Jefferson
"There are some ideas so wrong that only a very
intelligent person could believe in them." George Orwell
Voth, Brad (GE Corporate)
2012-12-20 21:26:37 UTC
Permalink
They're case sensitive on all *nix platforms.

-----Original Message-----
From: Paul Schmehl [mailto:***@tx.rr.com]
Sent: Thursday, December 20, 2012 3:46 PM
To: Bamm Visscher
Cc: sguil-***@lists.sourceforge.net
Subject: Re: [Sguil-devel] Can't find iwidgets

Bamm, apparently these things are case sensitive on FreeBSD:

# tclsh
% package require Tcl
8.5.13
% package require tcl
can't find package tcl
% package require itcl
can't find package itcl
% package require Itcl
3.4
% package require Itk
no display name and no $DISPLAY environment variable % package require Iwidgets no display name and no $DISPLAY environment variable % package require Iwidgets4.0.1 can't find package Iwidgets4.0.1 % package require iwidgets4.0.1 can't find package iwidgets4.0.1 % package require Iwidgets 4.0.1 no display name and no $DISPLAY environment variable % exit

Unfortunately, changing the package require from iwidgets to Iwidgets in sguil.tk didn't change a thing. :-(

I'm updating my copy of VMWare Fusion, and I'm going to run FreeBSD with X on it and see if that will allow me to run the wish shell and do these package requires...

--
Paul Schmehl, Senior Infosec Analyst
As if it wasn't already obvious, my opinions are my own and not those of my employer.
*******************************************
"It is as useless to argue with those who have renounced the use of reason as to administer medication to the dead." Thomas Jefferson "There are some ideas so wrong that only a very intelligent person could believe in them." George Orwell
Bamm Visscher
2012-12-20 21:56:08 UTC
Permalink
Hrm. Weird error. I don't think it's a failure finding the package but an
error saying the DISPLAY env var isn't set right (and sguil isn't liking
it). When you run "package require Tk", does a blank window appear?

Bamm
Post by Paul Schmehl
# tclsh
% package require Tcl
8.5.13
% package require tcl
can't find package tcl
% package require itcl
can't find package itcl
% package require Itcl
3.4
% package require Itk
no display name and no $DISPLAY environment variable
% package require Iwidgets
no display name and no $DISPLAY environment variable
% package require Iwidgets4.0.1
can't find package Iwidgets4.0.1
% package require iwidgets4.0.1
can't find package iwidgets4.0.1
% package require Iwidgets 4.0.1
no display name and no $DISPLAY environment variable
% exit
Unfortunately, changing the package require from iwidgets to Iwidgets in
sguil.tk didn't change a thing. :-(
I'm updating my copy of VMWare Fusion, and I'm going to run FreeBSD with X
on it and see if that will allow me to run the wish shell and do these
package requires...
--
Paul Schmehl, Senior Infosec Analyst
As if it wasn't already obvious, my opinions
are my own and not those of my employer.
*********************************************
"It is as useless to argue with those who have
renounced the use of reason as to administer
medication to the dead." Thomas Jefferson
"There are some ideas so wrong that only a very
intelligent person could believe in them." George Orwell
--
sguil - The Analyst Console for NSM
http://sguil.sf.net
Continue reading on narkive:
Loading...