codes-org / codes

The Co-Design of Exascale Storage Architectures (CODES) simulation framework builds upon the ROSS parallel discrete event simulation engine to provide high-performance simulation utilities and models for building scalable distributed systems simulations
Other
40 stars 16 forks source link

`make` gives an error while installion of codes (Imported #160) #160

Closed nmcglo closed 6 years ago

nmcglo commented 6 years ago

Original Issue Author: Kenenbek Arzymatov Original Issue ID: 160 Original Issue URL: https://xgitlab.cels.anl.gov/codes/codes/issues/160


I've followed steps from this [guide] (https://xgitlab.cels.anl.gov/codes/codes/wikis/installation) and tutorial from here: image

But when I try make, it gives an error:

  GEN      src/modelconfig/configlex.h
make  all-am
make[1]: Entering directory '/path/to/codes/build'
  GEN      src/modelconfig/configlex.c
  CC       src/modelconfig/configlex.lo
gcc: error: src/modelconfig/configlex.c: No such file or directory
gcc: fatal error: no input files
compilation terminated.
Makefile:2047: recipe for target 'src/modelconfig/configlex.lo' failed

I checked file tree and such is also absent there. How can I overcome it?

nmcglo commented 6 years ago

Philip Carns:

mentioned in issue #161

nmcglo commented 6 years ago

Philip Carns:

Thanks for confirming!

I'm going to open up a separate issue for a configure/make bug here. Your config.log shows that it issued a "warning" for not having flex but then tried to execute a rule that requires flex anyway. That probably shouldn't happen :)

nmcglo commented 6 years ago

Kenenbek Arzymatov:

closed

nmcglo commented 6 years ago

Kenenbek Arzymatov:

Yes, I didn't have flex package! Problem solved. Thank you.

nmcglo commented 6 years ago

Kenenbek Arzymatov:

Here is my config.log file: https://gist.github.com/kenenbek/42bce3359e48c585471604f1e826c073

nmcglo commented 6 years ago

Philip Carns:

It looks like make is trying to generate that .c and .h file, but the actual command (usually flex or bison) is missing.

Can you share your config.log? Maybe try installing flex and bison and re-running configure?

It seems like there is a configure or makefile problem if it would allow you to get to this point without a clearer error message, though.

nmcglo commented 6 years ago

Kenenbek Arzymatov:

make -V=1

: --header-file=src/modelconfig/configlex.h -o src/modelconfig/configlex.c ../src/modelconfig/configlex.l \
   || ( rm -f src/modelconfig/configlex.h src/modelconfig/configlex.c ; exit 1) 
make  all-am
make[1]: Entering directory '/home/ken/git/codes/build'
: --header-file=src/modelconfig/configlex.h -o src/modelconfig/configlex.c ../src/modelconfig/configlex.l \
   || ( rm -f src/modelconfig/configlex.h src/modelconfig/configlex.c ; exit 1) 
depbase=`echo src/modelconfig/configlex.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/bash ./libtool  --tag=CC   --mode=compile mpicc -DHAVE_CONFIG_H -I. -I..  -I../src -I/home/ken/git/ROSS/install/include   -DUSE_RECORDER=1      -g -O2 -Wall -Wextra -Wshadow -MT src/modelconfig/configlex.lo -MD -MP -MF $depbase.Tpo -c -o src/modelconfig/configlex.lo src/modelconfig/configlex.c &&\
mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  mpicc -DHAVE_CONFIG_H -I. -I.. -I../src -I/home/ken/git/ROSS/install/include -DUSE_RECORDER=1 -g -O2 -Wall -Wextra -Wshadow -MT src/modelconfig/configlex.lo -MD -MP -MF src/modelconfig/.deps/configlex.Tpo -c src/modelconfig/configlex.c  -fPIC -DPIC -o src/modelconfig/.libs/configlex.o
gcc: error: src/modelconfig/configlex.c: No such file or directory
gcc: fatal error: no input files
compilation terminated.
Makefile:2047: recipe for target 'src/modelconfig/configlex.lo' failed
make[1]: *** [src/modelconfig/configlex.lo] Error 1
make[1]: Leaving directory '/home/ken/git/codes/build'
Makefile:1299: recipe for target 'all' failed
make: *** [all] Error 2
nmcglo commented 6 years ago

Philip Carns:

Hi @kenenbek , can you try running "make V=1" and report the output?

I think the GEN step is probably supposed to create the configlex.c file. Running make with V=1 will show the underlying command that is being run at each step, which might show why it isn't being created in this step.