CREXX icon indicating copy to clipboard operation
CREXX copied to clipboard

some files are changed in the source tree during build

Open rvjansen opened this issue 3 years ago • 4 comments

This project only allows out-of-source builds. This is no problem in itself, but

  1. the build sometimes fails in the 'machine' subdirectory because of stale generated files (symptom: double instruction defs)
  2. modified re2c files need to be removed or stashed on merge This probably needs to be fixed in the Cmake specifications so a clean build directory guarantees a successful build, without being hampered by earlier modifications in the source tree.

rvjansen avatar Mar 05 '22 19:03 rvjansen

I merged develop into features/f0038. Don't worry, it went fine. I did encounter the now familiar build failure: here are the error messages:

In file included from /Users/rvjansen/apps/crexx-f0038/interpreter/rxvmintp.c:3036:
/Users/rvjansen/apps/crexx-f0038/interpreter/../machine/instrmiss.h:508:1: error: implicit declaration of function 'OP' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
OP(1)="?????"; */
^
/Users/rvjansen/apps/crexx-f0038/interpreter/../machine/instrmiss.h:508:6: error: expression is not assignable
OP(1)="?????"; */
~~~~~^
/Users/rvjansen/apps/crexx-f0038/interpreter/../machine/instrmiss.h:508:17: error: expected expression
OP(1)="?????"; */
                ^
/Users/rvjansen/apps/crexx-f0038/interpreter/../machine/instrmiss.h:509:3: error: expected expression
  DISPATCH;
  ^
/Users/rvjansen/apps/crexx-f0038/interpreter/rxvmintp.h:106:36: note: expanded from macro 'DISPATCH'
#define DISPATCH                   { pc = next_pc; goto *(current_frame->interrupt_mask)?&&BREAKPOINT:next_inst; }
                                   ^
In file included from /Users/rvjansen/apps/crexx-f0038/interpreter/rxvmintp.c:3036:
/Users/rvjansen/apps/crexx-f0038/interpreter/../machine/instrmiss.h:515:19: error: redefinition of label 'EXIT_REG'
START_INSTRUCTION(EXIT_REG) // label not yet defined
                  ^
/Users/rvjansen/apps/crexx-f0038/interpreter/../machine/instrmiss.h:486:19: note: previous definition is here
START_INSTRUCTION(EXIT_REG) // label not yet defined
                  ^
/Users/rvjansen/apps/crexx-f0038/interpreter/../machine/instrmiss.h:528:19: error: redefinition of label 'EXIT_INT'
START_INSTRUCTION(EXIT_INT) // label not yet defined
                  ^
/Users/rvjansen/apps/crexx-f0038/interpreter/../machine/instrmiss.h:499:19: note: previous definition is here
START_INSTRUCTION(EXIT_INT) // label not yet defined

rvjansen avatar Mar 27 '22 17:03 rvjansen

note that this can be solved by checking out a pristine features/f0038 branch; I submit that the modification in the source tree is the cause of this problem.

rvjansen avatar Mar 27 '22 17:03 rvjansen

Can you ley me know if this STILL does not work and I will revisit again! I did some cmake changes but ...

adesutherland avatar Jun 12 '22 14:06 adesutherland

Yes, this is still the case in f0049.

rvjansen avatar Jul 19 '23 12:07 rvjansen

This is pending a "root and branch" (forgive the pun) review of the source repository and build process. Comments and suggestions welcome! :-)

adesutherland avatar Jun 22 '25 20:06 adesutherland

did not observe this lately. Will reopen when occurrence/cause is clear.

rvjansen avatar Jun 26 '25 10:06 rvjansen