Warning (emacs): Proof General compiled for GNU Emacs 26.1 but running on GNU Emacs 26.2: "make clean; make" is recommended.

Where should I make clean?


Interpretation of the text:
Due to the fact that the current Emacs is newer than what was present as "Proof General" was created, there may be "things" in "Proof general" that cannot function together with the new Emacs. Please re-build "Proof General".

GENERAL information, to get to grips with what make is:

make - is a utility that programmers can use to set up "automated" compilation and linking of a software project, to produce the final executable file.

compilation uses a (general term) compiler (e.g. gcc)
to convert source code (text files, code in a programming language, e.g. C) into object files (intermediate format files that can be linked).

linking similarly uses a linker (e.g. gnu ld)
to combine user objects and linker modules from a library of standard routines (e.g. printf and the c.o startup module) into the final executable.

Generally make reads a Makefile (text, programmer's definition of how to build the project end result) and interprets the necessary portions of it to (re-)create the executable.

Often the makefile contains sets of instructions to "clean" the setup to an "initialized" state - in preparation for a general coming make - which usually attempts to create the final executable. As common is a similar set of instructions for "install"; i.e. to move the required files into system locations that allows a simple program (name of the project) to launch the final executable.

How to use:

  1. prepare by installing the compiler and its dependencies (may be huge).
  2. create a directory for the project, cd into it.
  3. download and extract source code archive or use e.g. git to get the same from github.
  4. Execute make clean && ./configure - to clean up, and detect OS settings and compiler parameters.
  5. Execute make to attempt to create the final executable.
  6. Execute make install to install the executable; assuming that nothing above failed.

FINALLY NOTE: The above assumes that the project is a general program written in C producing an executable file. That might not necessarily be the case, make may be used for other projects with similar needs.

The 100% correctness of the above not guaranteed. ;-)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.