ELENA-LANG / elena-lang

ELENA is a general-purpose language with late binding. It is multi-paradigm, combining features of functional and object-oriented programming. Rich set of tools are provided to deal with message dispatching : multi-methods, message qualifying, generic message handlers, run-time interfaces
https://elena-lang.github.io/
MIT License
233 stars 24 forks source link

CMake Generation Problem x86 Linux #542

Closed Andres6936 closed 3 years ago

Andres6936 commented 3 years ago
andres6936@Tierra ~ $ /snap/clion/151/bin/cmake/linux/bin/cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_COMPILER=/usr/local/bin/clang -DCMAKE_CXX_COMPILER=/usr/local/bin/clang++ -G "CodeBlocks - Unix Makefiles" /home/andres6936/CLionProjects/elena-lang

x86 architecture in use
-- Configuring done
CMake Error at elenasrc2/ide/cmake/CMakeLists.txt:102 (add_executable):
  Cannot find source file:

    ../winapi32/windialogs.h

  Tried extensions .c .C .c++ .cc .cpp .cxx .cu .m .M .mm .h .hh .h++ .hm
  .hpp .hxx .in .txx .f .F .for .f77 .f90 .f95 .f03 .ispc

CMake Error at elenasrc2/tools/elt/cmake/CMakeLists.txt:39 (add_executable):
  Cannot find source file:

    ../../../engine/elenasm.h

  Tried extensions .c .C .c++ .cc .cpp .cxx .cu .m .M .mm .h .hh .h++ .hm
  .hpp .hxx .in .txx .f .F .for .f77 .f90 .f95 .f03 .ispc

CMake Error at elenasrc2/ide/cmake/CMakeLists.txt:102 (add_executable):
  No SOURCES given to target: elide

CMake Error at elenasrc2/tools/elt/cmake/CMakeLists.txt:39 (add_executable):
  No SOURCES given to target: elt15

CMake Generate step failed.  Build files cannot be regenerated correctly.
arakov commented 3 years ago

thanks, I will look

bencz commented 3 years ago

@Andres6936, the CMake is for windows only

arakov commented 3 years ago

You may use make :

make all_lnx32
Andres6936 commented 3 years ago
andres6936@Tierra ~/CLionProjects/elena-lang $ make all_lnx32
make -C elenasrc2/elc/codeblocks all -f elc_lnx32.mak
make[1]: Entering directory '/home/andres6936/CLionProjects/elena-lang/elenasrc2/elc/codeblocks'
elc_lnx32.mak:175: warning: overriding recipe for target '../temp/__/derivation.o'
elc_lnx32.mak:66: warning: ignoring old recipe for target '../temp/__/derivation.o'
elc_lnx32.mak:178: warning: overriding recipe for target '../temp/__/compilerscope.o'
elc_lnx32.mak:69: warning: ignoring old recipe for target '../temp/__/compilerscope.o'
elc_lnx32.mak:181: warning: overriding recipe for target '../temp/__/compiler.o'
elc_lnx32.mak:72: warning: ignoring old recipe for target '../temp/__/compiler.o'
elc_lnx32.mak:184: warning: overriding recipe for target '../temp/__/bcwriter.o'
elc_lnx32.mak:75: warning: ignoring old recipe for target '../temp/__/bcwriter.o'
elc_lnx32.mak:187: warning: overriding recipe for target '../temp/__/__/engine/x86jitcompiler.o'
elc_lnx32.mak:78: warning: ignoring old recipe for target '../temp/__/__/engine/x86jitcompiler.o'
elc_lnx32.mak:190: warning: overriding recipe for target '../temp/__/__/engine/x86helper.o'
elc_lnx32.mak:81: warning: ignoring old recipe for target '../temp/__/__/engine/x86helper.o'
elc_lnx32.mak:193: warning: overriding recipe for target '../temp/__/__/engine/syntaxtree.o'
elc_lnx32.mak:84: warning: ignoring old recipe for target '../temp/__/__/engine/syntaxtree.o'
elc_lnx32.mak:196: warning: overriding recipe for target '../temp/__/__/engine/section.o'
elc_lnx32.mak:87: warning: ignoring old recipe for target '../temp/__/__/engine/section.o'
elc_lnx32.mak:199: warning: overriding recipe for target '../temp/__/image.o'
elc_lnx32.mak:90: warning: ignoring old recipe for target '../temp/__/image.o'
elc_lnx32.mak:202: warning: overriding recipe for target '../temp/__/linux32/elc.o'
elc_lnx32.mak:93: warning: ignoring old recipe for target '../temp/__/linux32/elc.o'
elc_lnx32.mak:205: warning: overriding recipe for target '../temp/__/linux32/linker.o'
elc_lnx32.mak:96: warning: ignoring old recipe for target '../temp/__/linux32/linker.o'
elc_lnx32.mak:208: warning: overriding recipe for target '../temp/__/linux32/syslibloader.o'
elc_lnx32.mak:99: warning: ignoring old recipe for target '../temp/__/linux32/syslibloader.o'
elc_lnx32.mak:211: warning: overriding recipe for target '../temp/__/parser.o'
elc_lnx32.mak:102: warning: ignoring old recipe for target '../temp/__/parser.o'
elc_lnx32.mak:214: warning: overriding recipe for target '../temp/__/project.o'
elc_lnx32.mak:105: warning: ignoring old recipe for target '../temp/__/project.o'
elc_lnx32.mak:217: warning: overriding recipe for target '../temp/__/separser.o'
elc_lnx32.mak:108: warning: ignoring old recipe for target '../temp/__/separser.o'
elc_lnx32.mak:220: warning: overriding recipe for target '../temp/__/source.o'
elc_lnx32.mak:111: warning: ignoring old recipe for target '../temp/__/source.o'
elc_lnx32.mak:223: warning: overriding recipe for target '../temp/__/__/engine/bytecode.o'
elc_lnx32.mak:114: warning: ignoring old recipe for target '../temp/__/__/engine/bytecode.o'
elc_lnx32.mak:226: warning: overriding recipe for target '../temp/__/__/common/xmlreader.o'
elc_lnx32.mak:117: warning: ignoring old recipe for target '../temp/__/__/common/xmlreader.o'
elc_lnx32.mak:229: warning: overriding recipe for target '../temp/__/__/common/files.o'
elc_lnx32.mak:120: warning: ignoring old recipe for target '../temp/__/__/common/files.o'
elc_lnx32.mak:232: warning: overriding recipe for target '../temp/__/__/common/dump.o'
elc_lnx32.mak:123: warning: ignoring old recipe for target '../temp/__/__/common/dump.o'
elc_lnx32.mak:235: warning: overriding recipe for target '../temp/__/__/common/config.o'
elc_lnx32.mak:126: warning: ignoring old recipe for target '../temp/__/__/common/config.o'
elc_lnx32.mak:238: warning: overriding recipe for target '../temp/__/__/common/altstrings.o'
elc_lnx32.mak:129: warning: ignoring old recipe for target '../temp/__/__/common/altstrings.o'
elc_lnx32.mak:241: warning: overriding recipe for target '../temp/__/__/engine/compilerlogic.o'
elc_lnx32.mak:132: warning: ignoring old recipe for target '../temp/__/__/engine/compilerlogic.o'
elc_lnx32.mak:244: warning: overriding recipe for target '../temp/__/__/engine/jitcompiler.o'
elc_lnx32.mak:135: warning: ignoring old recipe for target '../temp/__/__/engine/jitcompiler.o'
elc_lnx32.mak:247: warning: overriding recipe for target '../temp/__/__/engine/jitlinker.o'
elc_lnx32.mak:138: warning: ignoring old recipe for target '../temp/__/__/engine/jitlinker.o'
elc_lnx32.mak:250: warning: overriding recipe for target '../temp/__/__/engine/libman.o'
elc_lnx32.mak:141: warning: ignoring old recipe for target '../temp/__/__/engine/libman.o'
elc_lnx32.mak:253: warning: overriding recipe for target '../temp/__/__/engine/loader.o'
elc_lnx32.mak:144: warning: ignoring old recipe for target '../temp/__/__/engine/loader.o'
elc_lnx32.mak:256: warning: overriding recipe for target '../temp/__/__/engine/module.o'
elc_lnx32.mak:147: warning: ignoring old recipe for target '../temp/__/__/engine/module.o'
elc_lnx32.mak:259: warning: overriding recipe for target '../temp/__/__/engine/parsertable.o'
elc_lnx32.mak:150: warning: ignoring old recipe for target '../temp/__/__/engine/parsertable.o'
test -d ../../../bin || mkdir -p ../../../bin
test -d ../temp/__ || mkdir -p ../temp/__
test -d ../temp/__/__/engine || mkdir -p ../temp/__/__/engine
test -d ../temp/__/linux32 || mkdir -p ../temp/__/linux32
test -d ../temp/__/__/common || mkdir -p ../temp/__/__/common
g++ -march=pentium2 -Wall -std=c++11 -m32 -Wno-conversion-null -Wno-switch -D_LINUX -O2 -I../../common -I../../engine -I.. -I../win32 -c ../derivation.cpp -o ../temp/__/derivation.o
In file included from /usr/include/c++/9/stdlib.h:36,
                 from ../../common/common.h:14,
                 from ../../engine/elena.h:12,
                 from ../derivation.cpp:9:
/usr/include/c++/9/cstdlib:41:10: fatal error: bits/c++config.h: No such file or directory
   41 | #include <bits/c++config.h>
      |          ^~~~~~~~~~~~~~~~~~
compilation terminated.
make[1]: *** [elc_lnx32.mak:175: ../temp/__/derivation.o] Error 1
make[1]: Leaving directory '/home/andres6936/CLionProjects/elena-lang/elenasrc2/elc/codeblocks'
make: *** [makefile:14: elc_lnx32] Error 2
arakov commented 3 years ago

Hi,

you have to install multilib

 sudo apt-get install gcc-multilib g++-multilib

see for example - https://stackoverflow.com/questions/4643197/missing-include-bits-cconfig-h-when-cross-compiling-64-bit-program-on-32-bit

Andres6936 commented 3 years ago

Thanks