Skip to content

Invalid main declaration && Missing input files #53

@JohnAlexINL

Description

@JohnAlexINL

The declaration of main:74 is missing a type entirely. I set this to int and proceeded.

Trying to run make lcc gives me an error about not having permission to write the .o files, so I sudo to give the process permission and proceeded.

Compilation then failed because /lburg/gram.c uses free but <stdlib.h> hasn't been included and no definition is given for free, so I include it at the top of the file and try to proceed again.

But at this stage, regardless of what C-compiler I try to build with (clang, gcc, tcc, chibicc, ...) I get variations of the same problem -- lots of files don't want to build because of implicit function use (which is possible to get past, but I still end up with missing output files, regardless) or because I'm missing .o objects or whatever

# sudo make lcc CC=gcc
cc -g -c -o /host.o 
cc: fatal error: no input files
compilation terminated.
make: *** [makefile:128: /host.o] Error 1

So okay, let's try just running each of the make commands on their own.

sudo make cpp
sudo make bprint
sudo make liblcc
sudo make lburg
sudo make rcc
make: Nothing to be done for 'cpp'.
make: Nothing to be done for 'bprint'.
make: Nothing to be done for 'liblcc'.
make: Nothing to be done for 'lburg'.
make: Nothing to be done for 'rcc'.

so those ones seem to work, but no matter what order I do the rest in, compilation fails, and the outputs generally look like

sudo make triple
cc -g -c -o /host.o 
cc: fatal error: no input files
compilation terminated.
make: *** [makefile:128: /host.o] Error 1

How am I supposed to build this? because make all doesn't work either

cpp/getopt.c:21:3: warning: add explicit braces to avoid dangling else [-Wdangling-else]
   21 |                 else if (strcmp(argv[optind], "--") == 0) {
      |                 ^
1 warning generated.
clang -g -c -Icpp -o /unix.o cpp/unix.c
clang -g  -o /cpp /cpp.o /lexer.o /nlist.o /tokens.o /macro.o /eval.o /include.o /hideset.o /getopt.o /unix.o 
clang -g -c -o /host.o 
clang: error: no input files
make: *** [makefile:128: /host.o] Error 1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions