Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove Tcl/Tk dependencies #7

Open
christopherjgreen opened this issue Dec 1, 2015 · 2 comments
Open

Remove Tcl/Tk dependencies #7

christopherjgreen opened this issue Dec 1, 2015 · 2 comments

Comments

@christopherjgreen
Copy link

We need to remove the Tcl/Tk dependencies. In the words of Chris, "It's purely for the sake of making the software right/better/shareable/easier to install/easier to maintain. Which are all good reasons I think...".

  1. Analyze canvRect.c and understand what it is actually accomplishing
  2. Summarize that file in words as best as possible.
  3. Get acquainted the the Tk API and try to build something using the Tk API that reproduces some or all of the original functionality.
@christopherjgreen
Copy link
Author

Chris,

I am starting to refactor this code, but I was wondering if you had any documentation on building this code? I remember you had to build it on SL6, but I also remember we had to fiddle with the makefile. Is this still true?

Also, once i have this built, I will need an example to verify the code is working. I couldn't imagine you have an exhaustive test, but maybe something small to run.

CJG

@crcox
Copy link
Owner

crcox commented Jan 18, 2016

Thanks so much for working on this! As usual, I've had to refocus my
attention so I haven't touched it in a while.

I dislike my Makefile(s) and I would love to refactor them. But, they
appear to work. And not just on SL6 anymore. If you have problems building,
let me know, but otherwise I tentatively expect you to be able to just run:

Compile Tcl

cd "TclTk/tcl${TCLVERSION}/unix"
./configure --enable-shared $TCLPREFIXSTATEMENT
make
make install

Compile Tk

cd "../../tk${TCLVERSION}/unix"
./configure --enable-shared --with-tcl=../../tcl${TCLVERSION}/unix/
$TCLPREFIXSTATEMENT
make
make install

Compile Lens

cd ${TOP}
make
Assuming that you don't have Tcl/Tk libraries already. I have been building
against Tcl/Tk 8.6.4. See my compile.sh script---it is my awkward attempt
to ease the build process.

As for tests: there is a directory called Examples, and in that directory
are a bunch of dummy networks that, if everything is working, you should be
able to load and work with. The .in files are the ones that actually
contain instructions for constructing and running the network. The .ex
files are auxiliary files that contain the "examples" that the network is
trained and tested on. So, if you ran:

lens ${LENSHOME}/Examples/digits.in

If all is well, it should load a Tk gui and the "digits" network along with
the examples in digits.ex (you should not have to manually load digits.ex,
it should be done as part of the digits.in script). There are a couple
buttons that you can push to open up different plots, and then a big button
at the bottom for training. There are also buttons for saving the state of
the network to a file, and other buttons for loading the state back in.

I can work on writing up a more legitimate test package, but for now I have
just been loading and playing with examples...

Hope this is enough for now. Thanks so much for working on it.

Best,
Chris

On Mon, Jan 18, 2016 at 12:38 PM, christopherjgreen <
notifications@github.com> wrote:

Chris,

I am starting to refactor this code, but I was wondering if you had any
documentation on building this code? I remember you had to build it on SL6,
but I also remember we had to fiddle with the makefile. Is this still true?

Also, once i have this built, I will need an example to verify the code is
working. I couldn't imagine you have an exhaustive test, but maybe
something small to run.

CJG


Reply to this email directly or view it on GitHub
#7 (comment).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants