jrincayc / ucblogo-code

Berkeley Logo interpreter
https://people.eecs.berkeley.edu/~bh/logo.html
GNU General Public License v3.0
187 stars 34 forks source link

Odd error when testing on MacOS #130

Open pmetzger opened 2 years ago

pmetzger commented 2 years ago

After building on MacOS Monterey, I get:

$ ./ucblogo
Changing logolib from /usr/local/share/ucblogo/logolib to /Users/perry/src/ucblogo/ucblogo-code/logolib
Error -- Can't read Messages file.
logolib: /Users/perry/src/ucblogo/ucblogo-code/Contents/Resources/logolib
$

Clearly there is something more I should be doing, but the README doesn't say what.

BTW, it would also be useful if the README mentioned all the prerequisites that need to be installed (for example, what versions of wxWidgets work? README does not say. I guessed that 3.2 would work but who knows.)

dmalec commented 2 years ago

There are some details of building captured in the wiki: https://github.com/jrincayc/ucblogo-code/wiki/package_creation

While it's not documentation, you can also see how the test build is generated in the workflow file: https://github.com/jrincayc/ucblogo-code/blob/master/.github/workflows/cd.yaml

In terms of the version of wxWidgets, ucblogo is currently built against 3.0.5 (the latest stable), though, I have built it against 3.1.5 locally and haven't run into any issues.

For building on mac for development/testing, I do the following:

➜ make mac
...
➜ ./UCBLogo.app/Contents/MacOS/UCBLogo
pmetzger commented 2 years ago

You should probably document make mac in the README etc., or maybe create a BUILDING file?

Also, are there any tests I can run to check if wxWindows 3.2 works?

dmalec commented 2 years ago

Interesting point on having a BUILDING file - I know there was some discussion about how best to capture the build process last year; but, I can't recall that option being discussed.

Fair question on verifying a version of wxWidgets - at this point, that's really a manual process, the automated tests in the repo are focused on the language itself. In general, there are a couple places I've seen wxWidgets fragility. One is around user I/O handoffs between the terminal and the core engine - a decent test might be if looper in issue #69 works and, when exited, control properly returns to the terminal. Another is around turtle graphics rendering when combined with things like resizing the window. Others may have different thoughts about where to test; but, those are what come to my mind.

A question on wxWidgets 3.2 - where did you find the build / code for that? I had thought the project was only up to 3.1.7 and were hoping to put out the 3.2 release next month (it's loosely on my radar, since that should fix the underlying issue in #72 ). Admittedly, I haven't dug in enough to see if 3.1.7 is functionally the equivalent of the 3.2 release.