Common Errors

From Coder Merlin
Within these castle walls be forged Mavens of Computer Science ...
— Merlin, The Coder

Shell[edit]

Unable to Logon[edit]

Hint.pngHelpful Hint

If you are unable to logon:

  • The most likely error is using an incorrect connection string and/or an incorrect password. Be sure to double-check your user name (lowercase first name, a hyphen, and then lowercase last name). This is followed by an at (@) sign, and then the server's name. As an example:

john-williams:~$ ssh john-williams@ssh.codermerlin.com

  • Verify that your username is correct. The general format is <firstname>-<lastname>. Note that  Coder Merlin™  uses a hyphen and not a period between first and last name.
  • Verify that your "caps lock" is not on
  • If you've used the incorrect credentials several times in a brief period of time you may be locked out. Wait for a while and then try again.
  • Your credentials for both the shell and the wiki are the same.

Terminal "Glitched"[edit]

Hint.pngHelpful Hint

If the terminal isn't responding properly (e.g. line breaks aren't working, funny characters):

  • The most likely error is programming in Curses and the program doesn't exit cleanly
  • Type reset in the terminal and then press RETUNR. NB: You might not be able to see the keys as you type them, but type in the command regardless.

Wiki[edit]

Unable to Logon[edit]

Hint.pngHelpful Hint

If you are unable to logon:

  • Verify that your username is correct. The general format is <firstname>-<lastname>. Note that  Coder Merlin™  uses a hyphen and not a period between first and last name.
  • Verify that your "caps lock" is not on
  • If you've used the incorrect credentials several times in a brief period of time you may be locked out. Wait for a while and then try again.
  • Your credentials for both the shell and the wiki are the same.

Merlin Dynamic Libraries[edit]

The specified library path was not found[edit]

Hint.pngHelpful Hint

If you see the following error:

The specified library path was not found '/usr/local/lib/merlin/Igis-1.2.0/Igis/.build/debug'

This indicates that the specified  Coder Merlin™  libraries have been updated and the older version is no longer available. Simply update the dylib.manifest file with the latest version numbers for that library. All  Coder Merlin™  libraries can be found at /usr/local/lib/merlin.

john-williams@codermerlin:~/Experiences/W1501$ ls -dt /usr/local/lib/merlin/Igis*

/usr/local/lib/merlin/Igis-1.3.7

/usr/local/lib/merlin/Igis-1.3.6

/usr/local/lib/merlin/Igis-1.3.4

/usr/local/lib/merlin/Igis-1.2.9

In general, select the most recent version and then edit dylib.manifest updating the respective version number. For example, from:

   1 | Igis            1.2.0

   2 | Scenes          1.0.4

To:

   1 | Igis            1.3.7

   2 | Scenes          1.0.4

Be certain that the final line in the file ends with a RETURN. Repeat this process for all such dynamic libraries which are not found.

dylib.manifest has been changed but .dir-locals.el has not[edit]

Hint.pngHelpful Hint

If you see the following error:

ERROR: '/home/john-williams/Experiences/W1501/dylib.manifest' has been changed but '/home/john-williams/Experiences/W1501/.dir-locals.el' has not.

Did you mean to execute dylibEmacs?

This means that dylib.manifest has been updated but .dir-locals.el has not. This may be easily remedied by executing:

john-williams@codermerlin:~/Experiences/W1501$ rm .dir-locals.el

john-williams@codermerlin:~/Experiences/W1501$ dylibEmacs

IGIS[edit]

Address already in use[edit]

Hint.pngHelpful Hint

If you see the following error:

Starting...
Loading resources from /usr/local/lib/merlin/Igis-1.3.7/Igis/Sources/Igis/Resources
Error: bind(descriptor:ptr:bytes:): Address already in use (errno: 98)

This means that Igis is already running and you've attempted to start a second instance. This may be remedied by terminating any other running Igis jobs.

john-williams@codermerlin:~/Experiences/W1501$ jobs

[1]+ Stopped run

john-williams@codermerlin:~/Experiences/W1501$ kill %1

Nothing is Visible[edit]

Hint.pngHelpful Hint

If you aren't seeing what you expect, check the following:

  • Are you sure that you are invoking the render function?
  • Are you sure that you've rendered all desired styles before rendering your shape?
  • Are you sure that you aren't immediately erasing your shape after it's been rendered?
  • Are you sure that you aren't preventing your shape from being rendered by rendering within a conditional (such as if !didRender ...)
  • Are you sure that you aren't rendering in the background color?

Merlin Mission Manager[edit]

This project doesn't permit changes to the file[edit]

Hint.pngHelpful Hint

If you see the following error:

This project doesn't permit changes to the file main.swift, however the file has been changed.
Restore the file to its original state or delete the file and execute merlin prepare.

This means that  Merlin Mission Manager  has detected a change to a file which may not be changed. This may be remedied by restoring the file and being certain to change only those files which may be changed. It's probably helpful to re-read the instructions.

john-williams@codermerlin:~/Merlin/M1301-15 (01) Karel Beeper Spread/C101 Move It [Karel]$  rm main.swift

john-williams@codermerlin:~/Merlin/M1301-15 (01) Karel Beeper Spread/C101 Move It [Karel]$  merlin prepare

Emacs[edit]

Syntax Highlighting[edit]

Hint.pngHelpful Hint

If emacs is not providing correct syntax highlighting, be sure that you've followed the instructions to recreate .dir-locals.el. If that doesn't resolve the issue, then within emacs:

1. Remove the workspace folder:

M-x lsp-workspace-folders-remove RETURN RETURN


2. Add the correct folder:

M-x lsp-workspace-folders-add RETURN

and then enter the folder containing Package.swift

3. Exit and restart emacs

Multiple Instances of Emacs[edit]

Hint.pngHelpful Hint

If you see the following error:

emacs is already running in this shell: [1]+ 3649039 Stopped                /usr/local/bin/emacs
        Type 'fg 1' to resume
Alternatively, you may specify --force-open to force open a new instance.

By default,  Coder Merlin™  prohibits launching multiple instances of Emacs in the same shell session. Instead, you are encouraged to re-use the same Emacs session to find other files. If you truly need multiple instances of Emacs, you can use the --force-open flag.

john-williams@codermerlin:~$  emacs --force-open

Screen[edit]

TTY Locked[edit]

Hint.pngHelpful Hint

If you see the following error:

This TTY is now locked.



Please press [ENTER] to unlock.

This means that you have locked the terminal by pressing the key combination SCREEN x and must log back in to the terminal. Simply press Enter and enter the correct password. Remember: the password is still being entered if there is no visual representation on the terminal screen.

If you enter the incorrect password, you may see a second error message:

vlock: Authentication failure

root's Password:

This simply means that an incorrect password has been entered, and the system is trying to discern if you have the capabilities of the root, or super-user that can control the entire machine. In this case, simply press Enter and the terminal will reset to its previous error state.

If you do not remember your exact password, it is safe to exit the terminal and ssh back into the  Coder Merlin™  shell. You will re-enter the same shell session you were previously in.

Swift[edit]

PCH Error During Compilation[edit]

Hint.pngHelpful Hint

If you see the following error(s) during a build:

<unknown>:0: error: PCH was compiled with module cache path '/home/john-williams/ScenesPlanetsExample/.build/x86_64-unknown-linux-gnu/debug/ModuleCache/2WIO3BAZ9R8YM', but the path is currently '/home/john-williams/projects/NotScenesPlanetsExample/.build/x86_64-unknown-linux-gnu/debug/ModuleCache/2WIO3BAZ9R8YM'

This means that you have changed the path to your sources from a previous compilation, perhaps as a result of moving the directory. In order to clear this state and recompile, enter:

john-williams@codermerlin:~$ swift package clean

You can then recompile.

Web Server[edit]

Existing File Indicates Permissions Error[edit]

Hint.pngHelpful Hint

You can restore the proper permissions recursively with a single command:

john-williams@codermerlin:~$ chmod -R a+rX ~/www ~/Journals