graywolf icon indicating copy to clipboard operation
graywolf copied to clipboard

install greywolf on cygwin issue

Open eeegar opened this issue 7 years ago • 1 comments

Hello Ruben,

I am a hardware guy doing place and route for years and I have absolute zero knowledge about software developing, but I want to try greywolf on my design and I have no choice but to learn how to compile ;)

I am trying to compile greywolf on my windows computer and I am using Cygwin64 to do that. cmake step goes without errors, but during make it gives the following errors ( I did make -i and grepped all errors from the log so I could capture all errors, without onion peeling). There are 2 issues:

The first issue starts with getCompileDate error and translates to places where it uses this:

[ 21%] Linking C shared library cygycadgraywolf-1.dll CMakeFiles/ycadgraywolf.dir/program.c.o:program.c:(.text+0x3d): undefined reference to getCompileDate' CMakeFiles/ycadgraywolf.dir/program.c.o:program.c:(.text+0x3d): relocation truncated to fit: R_X86_64_PC32 against undefined symbol getCompileDate'

[ 52%] Building C object src/twmc/CMakeFiles/TimberWolfMC.dir/__/date/date.c.o make[2]: *** No rule to make target 'src/Ylib/libycadgraywolf.so', needed by 'src/twmc/TimberWolfMC.exe'. Stop.

[ 55%] Building C object src/genrows/CMakeFiles/genrows.dir/__/date/date.c.o make[2]: *** No rule to make target 'src/Ylib/libycadgraywolf.so', needed by 'src/genrows/genrows.exe'. Stop.

[ 59%] Building C object src/twflow/CMakeFiles/graywolf.dir/__/date/date.c.o make[2]: *** No rule to make target 'src/Ylib/libycadgraywolf.so', needed by 'src/twflow/graywolf.exe'. Stop.

[ 61%] Building C object src/mincut/CMakeFiles/Mincut.dir//date/date.c.o make[2]: *** No rule to make target 'src/Ylib/libycadgraywolf.so', needed by 'src/mincut/Mincut.exe'. Stop. ^ [ 89%] Building C object src/twsc/CMakeFiles/TimberWolfSC.dir//date/date.c.o make[2]: *** No rule to make target 'src/Ylib/libycadgraywolf.so', needed by 'src/twsc/TimberWolfSC.exe'. Stop.

[ 92%] Building C object src/syntax/CMakeFiles/syntax.dir/__/date/date.c.o make[2]: *** No rule to make target 'src/Ylib/libycadgraywolf.so', needed by 'src/syntax/syntax.exe'. Stop.

The second issue is related to some extra libraries needed for cygwin so it understands stdin and stdout. Or, if I somehow compile it with "#define linux" switch, they all should go away. But I don't know how. It is also same kind of issue in different files:

/cygdrive/d/FreeEDA/graywolf-master/src/twflow/readobjects_l.h:27:14: error: initializer element is not constant FILE *yyin ={stdin}, *yyout ={stdout}; ^ /cygdrive/d/FreeEDA/graywolf-master/src/twflow/readobjects_l.h:27:14: note: (near initialization for ‘yyin’) /cygdrive/d/FreeEDA/graywolf-master/src/twflow/readobjects_l.h:27:31: error: initializer element is not constant FILE *yyin ={stdin}, *yyout ={stdout}; ^ ... /cygdrive/d/FreeEDA/graywolf-master/src/mincut/readcells_l.h:27:14: error: initializer element is not constant FILE *yyin ={stdin}, *yyout ={stdout}; ^ /cygdrive/d/FreeEDA/graywolf-master/src/mincut/readcells_l.h:27:14: note: (near initialization for ‘yyin’) /cygdrive/d/FreeEDA/graywolf-master/src/mincut/readcells_l.h:27:31: error: initializer element is not constant FILE *yyin ={stdin}, *yyout ={stdout}; ^ ... /cygdrive/d/FreeEDA/graywolf-master/src/twsc/readcell_l.h:27:14: error: initializer element is not constant FILE *yyin ={stdin}, *yyout ={stdout}; ^ /cygdrive/d/FreeEDA/graywolf-master/src/twsc/readcell_l.h:27:14: note: (near initialization for ‘READCEL_yyin’) /cygdrive/d/FreeEDA/graywolf-master/src/twsc/readcell_l.h:27:31: error: initializer element is not constant FILE *yyin ={stdin}, *yyout ={stdout}; ^ ... /cygdrive/d/FreeEDA/graywolf-master/src/twsc/readnets_l.h:27:14: error: initializer element is not constant FILE *yyin ={stdin}, *yyout ={stdout}; ^ /cygdrive/d/FreeEDA/graywolf-master/src/twsc/readnets_l.h:27:14: note: (near initialization for ‘NET_yyin’) /cygdrive/d/FreeEDA/graywolf-master/src/twsc/readnets_l.h:27:31: error: initializer element is not constant FILE *yyin ={stdin}, *yyout ={stdout}; ^ ... /cygdrive/d/FreeEDA/graywolf-master/src/mc_compact/readcgraph_l.h:28:14: error: initializer element is not constant FILE *yyin ={stdin}, *yyout ={stdout}; ^ /cygdrive/d/FreeEDA/graywolf-master/src/mc_compact/readcgraph_l.h:28:14: note: (near initialization for ‘DRG_yyin’) /cygdrive/d/FreeEDA/graywolf-master/src/mc_compact/readcgraph_l.h:28:31: error: initializer element is not constant FILE *yyin ={stdin}, *yyout ={stdout}; ^ ... /cygdrive/d/FreeEDA/graywolf-master/src/mc_compact/readtiles_l.h:28:14: error: initializer element is not constant FILE *yyin ={stdin}, *yyout ={stdout}; ^ /cygdrive/d/FreeEDA/graywolf-master/src/mc_compact/readtiles_l.h:28:14: note: (near initialization for ‘yyin’) /cygdrive/d/FreeEDA/graywolf-master/src/mc_compact/readtiles_l.h:28:31: error: initializer element is not constant FILE *yyin ={stdin}, *yyout ={stdout}; ... ^

I am stuck with this for 2 days already, if you have any hint or solution, please let me know.

Thanks a lot in advance, Igor

eeegar avatar May 26 '17 10:05 eeegar

I have the same problem with the latest Cygwin version : any trick ?

laurentc2 avatar May 09 '21 17:05 laurentc2