How to upgrade asdf version in quicklisp? - lisp

I want to compile and run a lisp source code to parse peercoin blockchain so that i can get top 100 richest addresses. I am using lisp source code https://github.com/glv2/peercoin-blockchain-parser.
I have installed quicklisp on my system, but while running the code below error being thrown :
debugger invoked on a LOAD-SYSTEM-DEFINITION-ERROR in thread #<THREAD "main thread" RUNNING {1002A8AF63}>:
Error while trying to load definition for system bordeaux-threads from
pathname /home/deepchand/quicklisp/dists/quicklisp/software/bordeaux-threads-v0.8.5/bordeaux-threads.asd:
READ error during COMPILE-FILE:
You need ASDF >= 3.1 to load this system correctly.
(in form starting at line: 1, column: 0, file-position: 0)
How do i update asdf to resolve this error ?

The following worked for me.
Download the version of asdf.lisp you want from https://common-lisp.net/project/asdf/asdf.html. In my case, I copied mine from my system's installed copy located at /usr/share/common-lisp/source
Put the new copy in the ~/quicklisp directory, or whichever directory your quicklisp is located, overwriting the old asdf.lisp in that directory.
Delete the ~/quicklisp/cache directory.
Restart your lisp. It will take a while to repopulate the ~/quicklisp/cache directory so be patient.

For other lisp implementations, say LispWorks, you can solve this problem by downloading asdf.lisp 3.1 or later from the asdf website and then putting
(load "asdf.lisp")
in your initialization file prior to loading quicklisp. LispWorks[1] recommends you also do
(provide "asdf")
Worked for me.
[1] http://www.lispworks.com/documentation/lw61/LW/html/lw-312.htm

See https://common-lisp.net/project/asdf/asdf.html#Upgrading-ASDF
You can
download an official tarball or checkout a release from git into ~/common-lisp/asdf/.
Then it should be found on start-up. I think that's all (I did it recently and don't remember other steps).

Related

esp-idf build fails with "fatal error: esp_wifi.h: No such file or directory"

I am a student who has gotten a part time job embedded system programming. I am given a program the company uses, and asked to understand it. This is a working program. Therefore, the project can be built and flashed on ESP32 by the developers with no problem. So, the code and CMake files should have no issues. However, I cannot build the program either with VSCode extension nor with idf.py. In fact, I cannot build esp-idf examples from the official website, either.
Note: I am new to StackOverflow as well as to ESP32, so sorry if I made any mistakes here. If this post is problematic in any way, please inform me.
The error message from the terminal is shown here
I was initially using VSCode on Windows 10 (Windows is not activated). At first, ESP extension was completely failing to start the building process because it could not locate the tools. I was getting "could not be located" errors for all the tools. Below is a list of what I did in this setting:
I had v5.0.0 for esp-idf downloaded from Espressif server. I deleted it and tried v4.3.3 and then I tried to download from Github server. I downloaded the requirements for idf.py scripting environment and completed the settings for it as described by the Espressif's documentation.
I manually set the environment variables for IDF_PATH and PATH for both the user and for the system.
After 2, the initial error was gone. Unfortunately, I had a new error which indicated that ".elf" file for the project output could not be found. I do not exactly recall the error but if it is integral to the problem's solution I can try to replicate this issue.
I tried to delete and reinstall VSCode. I tried running VSCode with admin authority.
I tried changing the IDF_TOOLS_PATH in the VSCode esp-idf extension configurations from ".espressif" to "esp\esp-idf".
At this point, I moved to try to build the project on Ubuntu 22.04.1 LTS:
In Ubuntu, I got the fatal error: esp_event.h: No such file or directory error.
It does not seem to be a common issue and I could not find much about it online.
I followed the Linux setup steps in the documentation. It said that only step 1 (Downloading the prerequisites) was necessary for the VSCode extension.
I decided to try the "master branch" from esp-idf configurations as well. After I downloaded the master branch, the error changed to the current version: 'fatal error: esp_wifi.h: No such file or directory'
I also tried the idf.py in Ubuntu but I got the same error.
Both in Ubuntu and in Windows, the Doctor Command returns nothing. It does not even open the terminal or any window. I am not sure what it should return but some online discussions were asking about its return so I wanted to note it here.
Edit: When I tried the examples on Ubuntu, they actually build just fine. Doctor Command also works with examples.
However, the main code has still issues. Initially, I assumed I made some mistakes with esp-idf configurations. But, perhaps that was not the case.
I had the same problem and ended up editing my project's CMakeLists.txt. When I added "esp_wifi" to the "REQUIRES" list, it worked for me:
idf_component_register(
SRCS "main.c"
INCLUDE_DIRS res
EMBED_FILES res/settings.html
REQUIRES esp_wifi
)

Strange source command when start Julia REPL

I am a bit fresh to Julia (and stack overflow), so it might be a dummy question. I am using VS code in ubuntu 18.04.
Every time I start Julia REPL from VS code (Ctrl+shift+P, then "Julia: Start REPL"), the Julia REPL starts with a strange command "source /home/$user_name/bin/activate" and then an error (of course source is not defined in Julia) :
ERROR: UndefVarError: source not defined
Stacktrace:
[1] top-level scope
# REPL[1]:1
This problem was shown a couple of weeks ago but it does not affect my code at least for now. I have tried to search the problem but haven't found any similar questions. Any hints on what's going on? Many thanks!
Edit:
I think I might have used Conda somewhere.
Do "which Julia", I got:
/home/$user_name/julia-1.7.2/bin//julia
There is no "/home/$user_name/.julia/config/startup.jl" file, all the directories under "/home/$user_name/.julia/" are as follow:
artifacts compiled dev logs prefs scratchspaces
clones conda environments packages registries
Then I found a "startup.jl" file under "$JULIA_INSTALL_FOLDER\etc\julia\startup.jl", with following content (seems like not helping on my problem).
# This file should contain site-specific commands to be executed on Julia startup;
# Users may store their own personal commands in `~/.julia/config/startup.jl`.
Solved by following #SundarR's suggestion.
The problem was caused by the VSCode-Python extension installed.
Please see the comment above for the details and thanks again!

Exception has occurred: ModuleNotFoundError in VScode but no other editors

This error occurs in VS code for pip installed modules.
Exception has occurred: ModuleNotFoundError
It was working on all previous days.
I believe that i may have deleted a *.pyc file or something to this extent.
If i do pip freeze i can see the module.
For example import tweepy could not be resolved, but i can see that it exists in pip freeze tweepy==3.10.0 and i can see with python --version that i have the correct version Python 3.9.0.
If i run the same on IDLE (python3.9) the code works, which leads me to believe that this is a VScode issue, but i cannot tell what this is or how to fix it.
In fact, if i recreate new folders in VS code, the imports work too.
So the quesiton is, how can i identify where (which folder or file) the corruption is or what has caused VS code to break in this way ?
One solution (which works) is to recreate all the folders and subfolders.
It is also noted that this is not specific to python as seen here:
https://github.com/Microsoft/vscode/issues/10391
There is also a suggestion here (which is close, but did not resolve the issue):
vscode import error for python module.
I have noticed that if I use File -> Close folder and then File -> Open Folder... and open the project folder again, the errors are
gone.
VStudio may be using a different python interpreter. Just click here and select the proper one:

Allegro 5 - Cosmic Protector Demo

I'm new to C++ and Allegro 5 but have been able to follow tutorials online and am able to build and compile several smaller projects successfully.
I cannot however get the demo project named Cosmic Protector to run and would like to at least learn what is wrong.
Unfortunately, I can't give you much to go on.
A window opens briefly and then closes, leaving the console open with the message..
process 6400 exited with code 255
If you have this demo running in VC 2017 with the latest release of Allegro 5 (5.2.4) installed via Nuget, I'd like to know that even.
The source for this program is available at...
https://github.com/liballeg/allegro5/tree/master/demos/cosmic_protector
Thank you, Jack
The allegro example programs and demos are usually built with CMake alongside the Allegro library. I just tested the CMake build of Allegro 5 with VS2017 on Windows 10 and it builds the Cosmic Protector demo successfully. You have to move the allegro dlls into the same directory as the exe, but other than that it runs perfectly.
As to why it's not working for you, cosmic protector depends on a data directory that holds it's resources. The working directory may be wrong, which would cause it to be unable to find resources. The data dir needs to be copied alongside the executable.
You can set the working directory to $(OutDir) under Debugging in Project->Properties and then it should find any data in the same directory as the exe.
How are you building cosmic protector?
Thanks to BugSquasher, I now have this working.
Here's how...
Start Visual Studio 2017
Create New Project of type Windows Console Application.
Name project CosmicProtector and save it in appropriate place on my HDD.
Disable precompiled headers and delete the any .h and .cpp
files associated with the new project regarding precompiled headers.
(for example pch.h)
Install Allegro 5.2.4 via Nuget.
In Visual Studio, navigate to Project Settings/Properties and ensure all
Allegro addons are enabled.
Copy the Cosmic Protector SRC and Header files and paste them into my
project directory.
Next in Visual Studio Project, Add the Source and Header files
respectively.
Rather stupidly, the step I had missed and that your reply brought my attention to was...
Copy the data directory and paste this into my project directory in the
applicable location.
Now build...
The project built right away, except for some errors reported in Game.cpp, GUI.cpp and Render.cpp
One error in Game.cpp, this being an instance of...
error C4996 'snprintf': This function or variable may be unsafe. Consider using snprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS.
To address this I have changed the instance of snprintf to sprintf_s.
Three errors in GUI.cpp, were instances of...
Error C4996 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS.
To address all of these I changed each instance of strcpy to strcpy_s.
And one error in GUI.cpp, this being an instance of...
error C4996 'snprintf': This function or variable may be unsafe. Consider using snprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS.
To address this I have changed the instance of snprintf to sprintf_s.
One error in Render.cpp, this being an instance of...
error C4996 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS.
To address this I have changed the instance of sprintf to sprintf_s.
Then build and it works:)
Thank you so much for your reply as I had moved on to other things but will find it very useful I think being able to build and run this demo.
It's only your reply that has brought me back to it and this time, I am successful:)

proof general cannot find library or its source file even with coq-load-path-include-current and coq-compile-before-require

I'm on windows 8.1 with proof general 4.2 and emacs 24.2.1. I have set coq-compile-before-require and coq-load-path-include-current to on, but when I try to require a library whose source file is in the same folder I still get
coq-auto-compile: no source file for c\:/Users/Greg/Documents/cpdt/src/CpdtTactics.vo
in the minibuffer and
Error: Cannot find library CpdtTactics in loadpath
in the messages buffer.
Edit: OK turns out I needed to compile the library I'm working with before it will work. However I still get the coq-auto-compile message, which suggests that coq-auto-compile is not getting the path correctly.