rubund / graywolf Goto Github PK
View Code? Open in Web Editor NEWLicense: Other
License: Other
Hi There,
I cloned the repo and checked out the master branch. It does not compile.
line 230 in buster.c in /src/lib fails to compile due to no INT return type.
Ybuster_addpt( INT xpos, INT ypos )
INT xpos, ypos;
{
if( xpos == ptS[cornerCountS].x && ypos == ptS[cornerCountS].y ){
/* avoid redundant points /
return;
}
/ increase the space if necessary /
if( ++cornerCountS >= ptAllocS ){
ptAllocS += EXPECTEDPTS ;
ptS = YREALLOC( ptS, ptAllocS, YBUSTBOX ) ;
}
ptS[cornerCountS].x = xpos ;
ptS[cornerCountS].y = ypos ;
} / end add_arb_pt */
There are more compile issues when this is fixed which I think are for very similar reasons. Ie for draw.c
/home/developer/qflow/graywolf/src/Ylib/draw.c:344:2: error: non-void function 'TWsetMode' should return a value [-Wreturn-type]
return ;
Regards
Walter
Executable helpers should go into libexecdir, which is distribution dependent. RH/Fedora use /usr/libexec, while others use /usr/lib/
Hi,
I am trying to compile this source in a OSX system. However I am getting the error bellow.
/graywolf/src/Ylib/buster.c:230:2: error:
non-void function 'Ybuster_addpt' should return a value [-Wreturn-type]
return ;
Any ideas on what should I do? I know it is not usual to have such tools on OSX systems, but since it is a Unix basis, I can have some tools such YoSys installed.
clang-8 rightfully complains:
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:502:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
if( reply = XGetDefault( dpyS, GRAPHICS, "bw" )){
~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:502:12: note: place parentheses around the assignment to silence this warning
if( reply = XGetDefault( dpyS, GRAPHICS, "bw" )){
^
( )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:502:12: note: use '==' to turn this assignment into an equality comparison
if( reply = XGetDefault( dpyS, GRAPHICS, "bw" )){
^
==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:513:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
if(font = XGetDefault( dpyS, GRAPHICS, "font" )){
~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:513:13: note: place parentheses around the assignment to silence this warning
if(font = XGetDefault( dpyS, GRAPHICS, "font" )){
^
( )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:513:13: note: use '==' to turn this assignment into an equality comparison
if(font = XGetDefault( dpyS, GRAPHICS, "font" )){
^
==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:527:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
if( reply = XGetDefault( dpyS, GRAPHICS, "stipple" )){
~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:527:15: note: place parentheses around the assignment to silence this warning
if( reply = XGetDefault( dpyS, GRAPHICS, "stipple" )){
^
( )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:527:15: note: use '==' to turn this assignment into an equality comparison
if( reply = XGetDefault( dpyS, GRAPHICS, "stipple" )){
^
==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:533:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
if( reply = XGetDefault( dpyS, GRAPHICS, "rectangle_fill" )){
~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:533:15: note: place parentheses around the assignment to silence this warning
if( reply = XGetDefault( dpyS, GRAPHICS, "rectangle_fill" )){
^
( )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:533:15: note: use '==' to turn this assignment into an equality comparison
if( reply = XGetDefault( dpyS, GRAPHICS, "rectangle_fill" )){
^
==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:539:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
if( reply = XGetDefault( dpyS, GRAPHICS, "arbitrary_fill" )){
~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:539:15: note: place parentheses around the assignment to silence this warning
if( reply = XGetDefault( dpyS, GRAPHICS, "arbitrary_fill" )){
^
( )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:539:15: note: use '==' to turn this assignment into an equality comparison
if( reply = XGetDefault( dpyS, GRAPHICS, "arbitrary_fill" )){
^
==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:545:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
if( reply = XGetDefault( dpyS, GRAPHICS, "reverse" )){
~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:545:15: note: place parentheses around the assignment to silence this warning
if( reply = XGetDefault( dpyS, GRAPHICS, "reverse" )){
^
( )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:545:15: note: use '==' to turn this assignment into an equality comparison
if( reply = XGetDefault( dpyS, GRAPHICS, "reverse" )){
^
==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:552:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
if( reply = XGetDefault( dpyS, GRAPHICS, "wait_time" )){
~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:552:15: note: place parentheses around the assignment to silence this warning
if( reply = XGetDefault( dpyS, GRAPHICS, "wait_time" )){
^
( )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:552:15: note: use '==' to turn this assignment into an equality comparison
if( reply = XGetDefault( dpyS, GRAPHICS, "wait_time" )){
^
==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:560:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
if( winstr = XGetDefault( dpyS, GRAPHICS, "geometry" )){
~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:560:16: note: place parentheses around the assignment to silence this warning
if( winstr = XGetDefault( dpyS, GRAPHICS, "geometry" )){
^
( )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:560:16: note: use '==' to turn this assignment into an equality comparison
if( winstr = XGetDefault( dpyS, GRAPHICS, "geometry" )){
^
==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:931:1: warning: control reaches end of non-void function [-Wreturn-type]
} /* end set_clip_window() */
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:949:43: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
sprintf( YmsgG, "new center - %d,%d", x1, y1 ) ;
~~ ^~
%ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:949:47: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
sprintf( YmsgG, "new center - %d,%d", x1, y1 ) ;
~~ ^~
%ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:1189:1: warning: control reaches end of non-void function [-Wreturn-type]
} /* end initcolor */
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:1198:57: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
sprintf( YmsgG, "Color number:%d is out of range", color ) ;
~~ ^~~~~
%ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:1201:57: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
fprintf( stderr,"Color number:%d is out of range", color ) ;
~~ ^~~~~
%ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:1238:57: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
sprintf( YmsgG, "Color number:%d is out of range", color ) ;
~~ ^~~~~
%ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:1241:57: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
fprintf( stderr,"Color number:%d is out of range", color ) ;
~~ ^~~~~
%ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:1243:2: error: non-void function 'drawDLine' should return a value [-Wreturn-type]
return ;
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:1245:2: error: non-void function 'drawDLine' should return a value [-Wreturn-type]
return ;
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:1255:6: error: non-void function 'drawDLine' should return a value [-Wreturn-type]
return ;
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:1295:57: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
sprintf( YmsgG, "Color number:%d is out of range", color ) ;
~~ ^~~~~
%ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:1298:57: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
fprintf( stderr,"Color number:%d is out of range", color ) ;
~~ ^~~~~
%ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:1300:2: error: non-void function 'drawDRect' should return a value [-Wreturn-type]
return ;
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:1302:2: error: non-void function 'drawDRect' should return a value [-Wreturn-type]
return ;
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:1307:6: error: non-void function 'drawDRect' should return a value [-Wreturn-type]
return ;
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:1432:57: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
sprintf( YmsgG, "Color number:%d is out of range", color ) ;
~~ ^~~~~
%ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:1435:57: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
fprintf( stderr,"Color number:%d is out of range", color ) ;
~~ ^~~~~
%ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:1437:2: error: non-void function 'drawDArb' should return a value [-Wreturn-type]
return ;
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:1439:2: error: non-void function 'drawDArb' should return a value [-Wreturn-type]
return ;
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:1464:6: error: non-void function 'drawDArb' should return a value [-Wreturn-type]
return ;
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:1613:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
if( press = XCheckTypedWindowEvent( dpyS,drawS,
~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:1613:12: note: place parentheses around the assignment to silence this warning
if( press = XCheckTypedWindowEvent( dpyS,drawS,
^
(
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:1613:12: note: use '==' to turn this assignment into an equality comparison
if( press = XCheckTypedWindowEvent( dpyS,drawS,
^
==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:1983:57: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
sprintf( YmsgG, "Color number:%d is out of range", color ) ;
~~ ^~~~~
%ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:1986:57: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
fprintf( stderr,"Color number:%d is out of range", color ) ;
~~ ^~~~~
%ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:2067:52: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
sprintf( filename, "%s/cell.bin.%d", dirNameS, frameCountS ) ;
~~ ^~~~~~~~~~~
%ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:2072:51: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
sprintf( filename, "%s/net.bin.%d", dirNameS, frameCountS ) ;
~~ ^~~~~~~~~~~
%ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:2077:52: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
sprintf( filename, "%s/symb.bin.%d", dirNameS, frameCountS ) ;
~~ ^~~~~~~~~~~
%ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:2109:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
if( excess = numCharS % 4 ){
~~~~~~~^~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:2109:13: note: place parentheses around the assignment to silence this warning
if( excess = numCharS % 4 ){
^
( )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:2109:13: note: use '==' to turn this assignment into an equality comparison
if( excess = numCharS % 4 ){
^
==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:2145:50: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
sprintf( fileName,"%s/cell.bin.%d",dirNameS,frameCountS ) ;
~~ ^~~~~~~~~~~
%ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:2170:2: error: non-void function 'drawWLine' should return a value [-Wreturn-type]
return ;
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:2177:6: error: non-void function 'drawWLine' should return a value [-Wreturn-type]
return ;
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:2227:2: error: non-void function 'drawWRect' should return a value [-Wreturn-type]
return ;
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:2234:6: error: non-void function 'drawWRect' should return a value [-Wreturn-type]
return ;
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:2278:2: error: non-void function 'drawWArb' should return a value [-Wreturn-type]
return ;
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:2285:6: error: non-void function 'drawWArb' should return a value [-Wreturn-type]
return ;
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:2292:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
while( bustptr = Ybuster() ){
~~~~~~~~^~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:2292:20: note: place parentheses around the assignment to silence this warning
while( bustptr = Ybuster() ){
^
( )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/draw.c:2292:20: note: use '==' to turn this assignment into an equality comparison
while( bustptr = Ybuster() ){
^
==
29 warnings and 15 errors generated.
[6/219] /usr/bin/cc -Dycadgraywolf_EXPORTS -I/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/include -Iinclude -I/usr/local/include -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -fno-strict-aliasing -DSIZEOF_VOID_P=64 -Wno-implicit-function-declaration -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -fno-strict-aliasing -fPIC -MD -MT src/Ylib/CMakeFiles/ycadgraywolf.dir/file.c.o -MF src/Ylib/CMakeFiles/ycadgraywolf.dir/file.c.o.d -o src/Ylib/CMakeFiles/ycadgraywolf.dir/file.c.o -c /usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/file.c
In file included from /usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/file.c:136:
/usr/include/sys/dir.h:41:2: warning: "The information in this file should be obtained from <dirent.h>" [-W#warnings]
#warning "The information in this file should be obtained from <dirent.h>"
^
/usr/include/sys/dir.h:42:2: warning: "and is provided solely (and temporarily) for backward compatibility." [-W#warnings]
#warning "and is provided solely (and temporarily) for backward compatibility."
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/file.c:145:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
if( dp = opendir(pathname) ){
~~~^~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/file.c:145:9: note: place parentheses around the assignment to silence this warning
if( dp = opendir(pathname) ){
^
( )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/file.c:145:9: note: use '==' to turn this assignment into an equality comparison
if( dp = opendir(pathname) ){
^
==
3 warnings generated.
[7/219] /usr/bin/cc -Dycadgraywolf_EXPORTS -I/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/include -Iinclude -I/usr/local/include -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -fno-strict-aliasing -DSIZEOF_VOID_P=64 -Wno-implicit-function-declaration -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -fno-strict-aliasing -fPIC -MD -MT src/Ylib/CMakeFiles/ycadgraywolf.dir/edcolors.c.o -MF src/Ylib/CMakeFiles/ycadgraywolf.dir/edcolors.c.o.d -o src/Ylib/CMakeFiles/ycadgraywolf.dir/edcolors.c.o -c /usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/edcolors.c
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/edcolors.c:135:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
if( answer = TWdialog( fieldS, "colors", NULL ) ){
~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/edcolors.c:135:16: note: place parentheses around the assignment to silence this warning
if( answer = TWdialog( fieldS, "colors", NULL ) ){
^
( )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/edcolors.c:135:16: note: use '==' to turn this assignment into an equality comparison
if( answer = TWdialog( fieldS, "colors", NULL ) ){
^
==
1 warning generated.
[8/219] /usr/bin/cc -Dycadgraywolf_EXPORTS -I/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/include -Iinclude -I/usr/local/include -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -fno-strict-aliasing -DSIZEOF_VOID_P=64 -Wno-implicit-function-declaration -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -fno-strict-aliasing -fPIC -MD -MT src/Ylib/CMakeFiles/ycadgraywolf.dir/dset.c.o -MF src/Ylib/CMakeFiles/ycadgraywolf.dir/dset.c.o.d -o src/Ylib/CMakeFiles/ycadgraywolf.dir/dset.c.o -c /usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c:100:1: warning: control reaches end of non-void function [-Wreturn-type]
} /* end dset_free_element() */
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c:211:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
if( ptr = (ELEMENTPTR) Yrbtree_search( dset->dtree, &dummy )){
~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c:211:11: note: place parentheses around the assignment to silence this warning
if( ptr = (ELEMENTPTR) Yrbtree_search( dset->dtree, &dummy )){
^
( )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c:211:11: note: use '==' to turn this assignment into an equality comparison
if( ptr = (ELEMENTPTR) Yrbtree_search( dset->dtree, &dummy )){
^
==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c:456:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
if( ptr = (ELEMENTPTR) Yrbtree_search( dset->dtree, &dummy )){
~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c:456:11: note: place parentheses around the assignment to silence this warning
if( ptr = (ELEMENTPTR) Yrbtree_search( dset->dtree, &dummy )){
^
( )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c:456:11: note: use '==' to turn this assignment into an equality comparison
if( ptr = (ELEMENTPTR) Yrbtree_search( dset->dtree, &dummy )){
^
==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c:476:1: warning: control reaches end of non-void function [-Wreturn-type]
} /* end Ydset_free */
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c:502:1: warning: control reaches end of non-void function [-Wreturn-type]
} /* end Ydset_empty */
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c:547:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
if (ptr = dset_find_set(dset, data) ) {
~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c:547:11: note: place parentheses around the assignment to silence this warning
if (ptr = dset_find_set(dset, data) ) {
^
( )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c:547:11: note: use '==' to turn this assignment into an equality comparison
if (ptr = dset_find_set(dset, data) ) {
^
==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c:564:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
if( ptr = find( dset, data )){
~~~~^~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c:564:11: note: place parentheses around the assignment to silence this warning
if( ptr = find( dset, data )){
^
( )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c:564:11: note: use '==' to turn this assignment into an equality comparison
if( ptr = find( dset, data )){
^
==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c:590:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
if( ptr = (ELEMENTPTR)Yrbtree_search( dset->dtree, &dummy )){
~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c:590:13: note: place parentheses around the assignment to silence this warning
if( ptr = (ELEMENTPTR)Yrbtree_search( dset->dtree, &dummy )){
^
( )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c:590:13: note: use '==' to turn this assignment into an equality comparison
if( ptr = (ELEMENTPTR)Yrbtree_search( dset->dtree, &dummy )){
^
==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c:639:45: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
fprintf(stderr,"sizeIn:%d sizeOut:%d\n",sizeIn,sizeOut);
~~ ^~~~~~
%ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c:639:52: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
fprintf(stderr,"sizeIn:%d sizeOut:%d\n",sizeIn,sizeOut);
~~ ^~~~~~~
%ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c:671:44: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
fprintf(stderr,"set contains %d items\n",Yrbtree_size(dset->dtree));
~~ ^~~~~~~~~~~~~~~~~~~~~~~~~
%ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c:677:55: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
fprintf(stderr,"\n%d items in set #%d [parent ",parent->size,count++);
~~ ^~~~~~~~~~~~
%ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c:677:68: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
fprintf(stderr,"\n%d items in set #%d [parent ",parent->size,count++);
~~ ^~~~~~~
%ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c:681:24: warning: format specifies type 'long' but the argument has type 'ELEMENTPTR' (aka 'struct dset_element *') [-Wformat]
fprintf(stderr,"%ld ",parent);
~~~ ^~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dset.c:688:29: warning: format specifies type 'long' but the argument has type 'VOIDPTR' (aka 'long *') [-Wformat]
fprintf(stderr,"%ld ",ptr);
~~~ ^~~
15 warnings generated.
[9/219] /usr/bin/cc -Dycadgraywolf_EXPORTS -I/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/include -Iinclude -I/usr/local/include -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -fno-strict-aliasing -DSIZEOF_VOID_P=64 -Wno-implicit-function-declaration -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -fno-strict-aliasing -fPIC -MD -MT src/Ylib/CMakeFiles/ycadgraywolf.dir/getftime.c.o -MF src/Ylib/CMakeFiles/ycadgraywolf.dir/getftime.c.o.d -o src/Ylib/CMakeFiles/ycadgraywolf.dir/getftime.c.o -c /usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/getftime.c
[10/219] /usr/bin/cc -Dycadgraywolf_EXPORTS -I/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/include -Iinclude -I/usr/local/include -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -fno-strict-aliasing -DSIZEOF_VOID_P=64 -Wno-implicit-function-declaration -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -fno-strict-aliasing -fPIC -MD -MT src/Ylib/CMakeFiles/ycadgraywolf.dir/graph.c.o -MF src/Ylib/CMakeFiles/ycadgraywolf.dir/graph.c.o.d -o src/Ylib/CMakeFiles/ycadgraywolf.dir/graph.c.o -c /usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c
FAILED: src/Ylib/CMakeFiles/ycadgraywolf.dir/graph.c.o
/usr/bin/cc -Dycadgraywolf_EXPORTS -I/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/include -Iinclude -I/usr/local/include -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -fno-strict-aliasing -DSIZEOF_VOID_P=64 -Wno-implicit-function-declaration -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -fno-strict-aliasing -fPIC -MD -MT src/Ylib/CMakeFiles/ycadgraywolf.dir/graph.c.o -MF src/Ylib/CMakeFiles/ycadgraywolf.dir/graph.c.o.d -o src/Ylib/CMakeFiles/ycadgraywolf.dir/graph.c.o -c /usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:262:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:281:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:304:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:368:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:400:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:501:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:510:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:610:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:619:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:634:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
if ( nodePtr = (YNODEPTR)Yrbtree_search (graph->nodeTree,&nodeDummy) ) {
~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:634:16: note: place parentheses around the assignment to silence this warning
if ( nodePtr = (YNODEPTR)Yrbtree_search (graph->nodeTree,&nodeDummy) ) {
^
( )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:634:16: note: use '==' to turn this assignment into an equality comparison
if ( nodePtr = (YNODEPTR)Yrbtree_search (graph->nodeTree,&nodeDummy) ) {
^
==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:722:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:774:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:894:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:903:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:1001:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:1010:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:1022:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:1329:5: error: non-void function 'Ygraph_bfs' should return a value [-Wreturn-type]
return;
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:1354:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
while ( nextNode = (YNODEPTR) Yheap_delete_min(heap) ) {
~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:1354:20: note: place parentheses around the assignment to silence this warning
while ( nextNode = (YNODEPTR) Yheap_delete_min(heap) ) {
^
( )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:1354:20: note: use '==' to turn this assignment into an equality comparison
while ( nextNode = (YNODEPTR) Yheap_delete_min(heap) ) {
^
==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:1572:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
while (adjEdge = (YEDGEPTR) Ydeck_pop(swapDeck)) {
~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:1572:24: note: place parentheses around the assignment to silence this warning
while (adjEdge = (YEDGEPTR) Ydeck_pop(swapDeck)) {
^
( )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:1572:24: note: use '==' to turn this assignment into an equality comparison
while (adjEdge = (YEDGEPTR) Ydeck_pop(swapDeck)) {
^
==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:1672:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
while ( nextEdge = (YEDGEPTR)Yheap_delete_min(heap)) {
~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:1672:20: note: place parentheses around the assignment to silence this warning
while ( nextEdge = (YEDGEPTR)Yheap_delete_min(heap)) {
^
( )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:1672:20: note: use '==' to turn this assignment into an equality comparison
while ( nextEdge = (YEDGEPTR)Yheap_delete_min(heap)) {
^
==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:1730:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
while ( nextEdge = (YEDGEPTR)Yheap_delete_min(heap)) {
~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:1730:20: note: place parentheses around the assignment to silence this warning
while ( nextEdge = (YEDGEPTR)Yheap_delete_min(heap)) {
^
( )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:1730:20: note: use '==' to turn this assignment into an equality comparison
while ( nextEdge = (YEDGEPTR)Yheap_delete_min(heap)) {
^
==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:1809:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
while ( nextNode = (YNODEPTR)Yheap_delete_min(heap)) {
~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:1809:20: note: place parentheses around the assignment to silence this warning
while ( nextNode = (YNODEPTR)Yheap_delete_min(heap)) {
^
( )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:1809:20: note: use '==' to turn this assignment into an equality comparison
while ( nextNode = (YNODEPTR)Yheap_delete_min(heap)) {
^
==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:1847:29: warning: '/*' within block comment [-Wcomment]
/* Ygraph_draw(graph); /* debug */
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:2298:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
while ( nextNode = (YNODEPTR) Yheap_delete_min(heap) ) {
~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:2298:20: note: place parentheses around the assignment to silence this warning
while ( nextNode = (YNODEPTR) Yheap_delete_min(heap) ) {
^
( )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:2298:20: note: use '==' to turn this assignment into an equality comparison
while ( nextNode = (YNODEPTR) Yheap_delete_min(heap) ) {
^
==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:2493:19: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
while ( edge = (YEDGEPTR) Ydeck_pop( pathDeck ) ) {
~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:2493:19: note: place parentheses around the assignment to silence this warning
while ( edge = (YEDGEPTR) Ydeck_pop( pathDeck ) ) {
^
( )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:2493:19: note: use '==' to turn this assignment into an equality comparison
while ( edge = (YEDGEPTR) Ydeck_pop( pathDeck ) ) {
^
==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:2558:5: error: non-void function 'Ygraph_steinerImprove' should return a value [-Wreturn-type]
return;
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:2563:5: error: non-void function 'Ygraph_steinerImprove' should return a value [-Wreturn-type]
return;
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:2569:5: error: non-void function 'Ygraph_steinerImprove' should return a value [-Wreturn-type]
return;
^
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:2612:28: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
for ( count = 1; nextEdge = (YEDGEPTR) Ygraph_listAdjEdges(node,count);
~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:2612:28: note: place parentheses around the assignment to silence this warning
for ( count = 1; nextEdge = (YEDGEPTR) Ygraph_listAdjEdges(node,count);
^
( )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:2612:28: note: use '==' to turn this assignment into an equality comparison
for ( count = 1; nextEdge = (YEDGEPTR) Ygraph_listAdjEdges(node,count);
^
==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:2690:21: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
while ( edge2 = (YEDGEPTR) Ydeck_pop(connectDeck) ) {
~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:2690:21: note: place parentheses around the assignment to silence this warning
while ( edge2 = (YEDGEPTR) Ydeck_pop(connectDeck) ) {
^
( )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:2690:21: note: use '==' to turn this assignment into an equality comparison
while ( edge2 = (YEDGEPTR) Ydeck_pop(connectDeck) ) {
^
==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:3026:42: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
fprintf(stderr,"graph has %d edges \n",Ygraph_edgeCount(graph));
~~ ^~~~~~~~~~~~~~~~~~~~~~~
%ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/graph.c:3041:42: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
fprintf(stderr,"graph has %d nodes \n",Ygraph_nodeCount(graph));
~~ ^~~~~~~~~~~~~~~~~~~~~~~
%ld
29 warnings and 4 errors generated.
[11/219] /usr/bin/cc -Dycadgraywolf_EXPORTS -I/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/include -Iinclude -I/usr/local/include -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -fno-strict-aliasing -DSIZEOF_VOID_P=64 -Wno-implicit-function-declaration -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -fno-strict-aliasing -fPIC -MD -MT src/Ylib/CMakeFiles/ycadgraywolf.dir/dialog.c.o -MF src/Ylib/CMakeFiles/ycadgraywolf.dir/dialog.c.o.d -o src/Ylib/CMakeFiles/ycadgraywolf.dir/dialog.c.o -c /usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dialog.c
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dialog.c:217:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
if( winstr = XGetDefault( dpyS, GRAPHICS, resource )){
~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dialog.c:217:16: note: place parentheses around the assignment to silence this warning
if( winstr = XGetDefault( dpyS, GRAPHICS, resource )){
^
( )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dialog.c:217:16: note: use '==' to turn this assignment into an equality comparison
if( winstr = XGetDefault( dpyS, GRAPHICS, resource )){
^
==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dialog.c:241:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
if(font = XGetDefault( dpyS, GRAPHICS, resource )){
~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dialog.c:241:13: note: place parentheses around the assignment to silence this warning
if(font = XGetDefault( dpyS, GRAPHICS, resource )){
^
( )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dialog.c:241:13: note: use '==' to turn this assignment into an equality comparison
if(font = XGetDefault( dpyS, GRAPHICS, resource )){
^
==
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dialog.c:542:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
} else if( font_change = REVERT_FONT ){
~~~~~~~~~~~~^~~~~~~~~~~~~
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dialog.c:542:25: note: place parentheses around the assignment to silence this warning
} else if( font_change = REVERT_FONT ){
^
( )
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/dialog.c:542:25: note: use '==' to turn this assignment into an equality comparison
} else if( font_change = REVERT_FONT ){
^
==
3 warnings generated.
[12/219] /usr/bin/cc -Dycadgraywolf_EXPORTS -I/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/include -Iinclude -I/usr/local/include -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -fno-strict-aliasing -DSIZEOF_VOID_P=64 -Wno-implicit-function-declaration -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -fno-strict-aliasing -fPIC -MD -MT src/Ylib/CMakeFiles/ycadgraywolf.dir/assign.c.o -MF src/Ylib/CMakeFiles/ycadgraywolf.dir/assign.c.o.d -o src/Ylib/CMakeFiles/ycadgraywolf.dir/assign.c.o -c /usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/assign.c
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/assign.c:500:44: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
fprintf(stderr,"sum = %d, max = %d\n", sum, max );
~~ ^~~
%ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/assign.c:500:49: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
fprintf(stderr,"sum = %d, max = %d\n", sum, max );
~~ ^~~
%ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/assign.c:502:29: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
fprintf(stderr,"%d %d\n", j, capS[j]);
~~ ^
%ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/assign.c:502:32: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
fprintf(stderr,"%d %d\n", j, capS[j]);
~~ ^~~~~~~
%ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/assign.c:507:28: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
fprintf( stderr, "[%d]", cost_matrix[i][j]);
~~ ^~~~~~~~~~~~~~~~~
%ld
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/Ylib/assign.c:509:28: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
fprintf( stderr, " %d ", cost_matrix[i][j]);
~~ ^~~~~~~~~~~~~~~~~
%ld
Hi Anyone where i can find documentation regarding Graywolf. How to use it to full extent etc.. Any help would be greatly appreciated.
An efabless user was testing the synthesis flow with a tiny two-gate design, and graywolf appears to have issues with either the low gate count or more likely the low pin count, causing a segfault. Debugging with valgrind, it appears that variable z_S is not allocating enough memory for the array.
Line 949 in twsc/netgraph.c:
z_S[i] = (PINBOXPTR *)Ysafe_malloc( maxpin_numberS * sizeof(PINBOXPTR) ) ;
should be:
z_S[i] = (PINBOXPTR *)Ysafe_malloc( ( maxpin_numberS + 1 ) * sizeof(PINBOXPTR) ) ;
The same change needs to be made to line 183.
---Tim
I installed graywolf in MacBook Air M1 without any errors after follow the instruction here and from Youtube. But when I try "graywolf map9v3" in the tests/map9v3 directory, I have the graywolf window pop up but it is blank and hang with the following message
twflow version:2.1 date:
Authors: Bill Swartz, Carl Sechen
Yale University
Twflow switches:
debug on
Graphics mode on
TimberWolf mode on
Please help me!
Thanks
can anyone please help me out on this error.
all fine till cmake .. command after that when I pass make install then this error generated.
-- Generating done
-- Build files have been written to: /Users/paramsaini/graywolf/build
(base) paramsaini@MacBook-Pro build % make install
[ 1%] Building C object src/Ylib/CMakeFiles/ycadgraywolf.dir/assign.c.o
/Users/paramsaini/graywolf/src/Ylib/assign.c:500:44: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
fprintf(stderr,"sum = %d, max = %d\n", sum, max );
~~ ^~~
%ld
/Users/paramsaini/graywolf/src/Ylib/assign.c:500:49: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
fprintf(stderr,"sum = %d, max = %d\n", sum, max );
~~ ^~~
%ld
/Users/paramsaini/graywolf/src/Ylib/assign.c:502:29: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
fprintf(stderr,"%d %d\n", j, capS[j]);
~~ ^
%ld
/Users/paramsaini/graywolf/src/Ylib/assign.c:502:32: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
fprintf(stderr,"%d %d\n", j, capS[j]);
~~ ^~~~~~~
%ld
/Users/paramsaini/graywolf/src/Ylib/assign.c:507:28: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
fprintf( stderr, "[%d]", cost_matrix[i][j]);
~~ ^~~~~~~~~~~~~~~~~
%ld
/Users/paramsaini/graywolf/src/Ylib/assign.c:509:28: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
fprintf( stderr, " %d ", cost_matrix[i][j]);
~~ ^~~~~~~~~~~~~~~~~
%ld
6 warnings generated.
[ 1%] Building C object src/Ylib/CMakeFiles/ycadgraywolf.dir/buster.c.o
/Users/paramsaini/graywolf/src/Ylib/buster.c:327:48: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
sprintf(YmsgG,"%s @(%d,%d)\n", user_messageS, xx1, yy1 );
~~ ^~~
%ld
/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/include/secure/_stdio.h:47:56: note: expanded from macro 'sprintf'
__builtin___sprintf_chk (str, 0, __darwin_obsz(str), VA_ARGS)
^~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/buster.c:327:53: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
sprintf(YmsgG,"%s @(%d,%d)\n", user_messageS, xx1, yy1 );
~~ ^~~
%ld
/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/include/secure/_stdio.h:47:56: note: expanded from macro 'sprintf'
__builtin___sprintf_chk (str, 0, __darwin_obsz(str), VA_ARGS)
^~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/buster.c:333:21: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
user_messageS, xx1, yy1 );
^~~
/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/include/secure/_stdio.h:47:56: note: expanded from macro 'sprintf'
__builtin___sprintf_chk (str, 0, __darwin_obsz(str), VA_ARGS)
^~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/buster.c:333:26: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
user_messageS, xx1, yy1 );
^~~
/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/include/secure/_stdio.h:47:56: note: expanded from macro 'sprintf'
__builtin___sprintf_chk (str, 0, __darwin_obsz(str), VA_ARGS)
^~~~~~~~~~~
4 warnings generated.
[ 2%] Building C object src/Ylib/CMakeFiles/ycadgraywolf.dir/cleanup.c.o
[ 2%] Building C object src/Ylib/CMakeFiles/ycadgraywolf.dir/colors.c.o
[ 3%] Building C object src/Ylib/CMakeFiles/ycadgraywolf.dir/deck.c.o
/Users/paramsaini/graywolf/src/Ylib/deck.c:114:1: warning: non-void function does not return a value [-Wreturn-type]
} /* end Ydeck_push /
^
/Users/paramsaini/graywolf/src/Ylib/deck.c:141:1: warning: non-void function does not return a value [-Wreturn-type]
} / end Yadd2Deck /
^
/Users/paramsaini/graywolf/src/Ylib/deck.c:228:1: warning: non-void function does not return a value [-Wreturn-type]
}
^
/Users/paramsaini/graywolf/src/Ylib/deck.c:239:1: warning: non-void function does not return a value [-Wreturn-type]
}
^
/Users/paramsaini/graywolf/src/Ylib/deck.c:249:32: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
fprintf( stderr,"%d cards\n",deckPtr->size);
~~ ^~~~~~~~~~~~~
%ld
/Users/paramsaini/graywolf/src/Ylib/deck.c:255:30: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
fprintf( stderr,"%d ", (INT)Ydeck_getData(deckPtr) ) ;
~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~
%ld
/Users/paramsaini/graywolf/src/Ylib/deck.c:264:30: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
fprintf( stderr,"%d ", (INT) Ydeck_getData(deckPtr) ) ;
~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
%ld
/Users/paramsaini/graywolf/src/Ylib/deck.c:269:1: warning: non-void function does not return a value [-Wreturn-type]
} / end Ydeck_dump /
^
8 warnings generated.
[ 3%] Building C object src/Ylib/CMakeFiles/ycadgraywolf.dir/dialog.c.o
/Users/paramsaini/graywolf/src/Ylib/dialog.c:217:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
if( winstr = XGetDefault( dpyS, GRAPHICS, resource )){
~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/dialog.c:217:16: note: place parentheses around the assignment to silence this warning
if( winstr = XGetDefault( dpyS, GRAPHICS, resource )){
^
( )
/Users/paramsaini/graywolf/src/Ylib/dialog.c:217:16: note: use '==' to turn this assignment into an equality comparison
if( winstr = XGetDefault( dpyS, GRAPHICS, resource )){
^
==
/Users/paramsaini/graywolf/src/Ylib/dialog.c:241:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
if(font = XGetDefault( dpyS, GRAPHICS, resource )){
~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/dialog.c:241:13: note: place parentheses around the assignment to silence this warning
if(font = XGetDefault( dpyS, GRAPHICS, resource )){
^
( )
/Users/paramsaini/graywolf/src/Ylib/dialog.c:241:13: note: use '==' to turn this assignment into an equality comparison
if(font = XGetDefault( dpyS, GRAPHICS, resource )){
^
==
/Users/paramsaini/graywolf/src/Ylib/dialog.c:542:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
} else if( font_change = REVERT_FONT ){
~~~~~~~~~~~~^~~~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/dialog.c:542:25: note: place parentheses around the assignment to silence this warning
} else if( font_change = REVERT_FONT ){
^
( )
/Users/paramsaini/graywolf/src/Ylib/dialog.c:542:25: note: use '==' to turn this assignment into an equality comparison
} else if( font_change = REVERT_FONT ){
^
==
3 warnings generated.
[ 4%] Building C object src/Ylib/CMakeFiles/ycadgraywolf.dir/draw.c.o
/Users/paramsaini/graywolf/src/Ylib/draw.c:502:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
if( reply = XGetDefault( dpyS, GRAPHICS, "bw" )){
~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/draw.c:502:12: note: place parentheses around the assignment to silence this warning
if( reply = XGetDefault( dpyS, GRAPHICS, "bw" )){
^
( )
/Users/paramsaini/graywolf/src/Ylib/draw.c:502:12: note: use '==' to turn this assignment into an equality comparison
if( reply = XGetDefault( dpyS, GRAPHICS, "bw" )){
^
==
/Users/paramsaini/graywolf/src/Ylib/draw.c:513:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
if(font = XGetDefault( dpyS, GRAPHICS, "font" )){
~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/draw.c:513:13: note: place parentheses around the assignment to silence this warning
if(font = XGetDefault( dpyS, GRAPHICS, "font" )){
^
( )
/Users/paramsaini/graywolf/src/Ylib/draw.c:513:13: note: use '==' to turn this assignment into an equality comparison
if(font = XGetDefault( dpyS, GRAPHICS, "font" )){
^
==
/Users/paramsaini/graywolf/src/Ylib/draw.c:527:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
if( reply = XGetDefault( dpyS, GRAPHICS, "stipple" )){
~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/draw.c:527:15: note: place parentheses around the assignment to silence this warning
if( reply = XGetDefault( dpyS, GRAPHICS, "stipple" )){
^
( )
/Users/paramsaini/graywolf/src/Ylib/draw.c:527:15: note: use '==' to turn this assignment into an equality comparison
if( reply = XGetDefault( dpyS, GRAPHICS, "stipple" )){
^
==
/Users/paramsaini/graywolf/src/Ylib/draw.c:533:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
if( reply = XGetDefault( dpyS, GRAPHICS, "rectangle_fill" )){
~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/draw.c:533:15: note: place parentheses around the assignment to silence this warning
if( reply = XGetDefault( dpyS, GRAPHICS, "rectangle_fill" )){
^
( )
/Users/paramsaini/graywolf/src/Ylib/draw.c:533:15: note: use '==' to turn this assignment into an equality comparison
if( reply = XGetDefault( dpyS, GRAPHICS, "rectangle_fill" )){
^
==
/Users/paramsaini/graywolf/src/Ylib/draw.c:539:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
if( reply = XGetDefault( dpyS, GRAPHICS, "arbitrary_fill" )){
~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/draw.c:539:15: note: place parentheses around the assignment to silence this warning
if( reply = XGetDefault( dpyS, GRAPHICS, "arbitrary_fill" )){
^
( )
/Users/paramsaini/graywolf/src/Ylib/draw.c:539:15: note: use '==' to turn this assignment into an equality comparison
if( reply = XGetDefault( dpyS, GRAPHICS, "arbitrary_fill" )){
^
==
/Users/paramsaini/graywolf/src/Ylib/draw.c:545:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
if( reply = XGetDefault( dpyS, GRAPHICS, "reverse" )){
~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/draw.c:545:15: note: place parentheses around the assignment to silence this warning
if( reply = XGetDefault( dpyS, GRAPHICS, "reverse" )){
^
( )
/Users/paramsaini/graywolf/src/Ylib/draw.c:545:15: note: use '==' to turn this assignment into an equality comparison
if( reply = XGetDefault( dpyS, GRAPHICS, "reverse" )){
^
==
/Users/paramsaini/graywolf/src/Ylib/draw.c:552:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
if( reply = XGetDefault( dpyS, GRAPHICS, "wait_time" )){
~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/draw.c:552:15: note: place parentheses around the assignment to silence this warning
if( reply = XGetDefault( dpyS, GRAPHICS, "wait_time" )){
^
( )
/Users/paramsaini/graywolf/src/Ylib/draw.c:552:15: note: use '==' to turn this assignment into an equality comparison
if( reply = XGetDefault( dpyS, GRAPHICS, "wait_time" )){
^
==
/Users/paramsaini/graywolf/src/Ylib/draw.c:560:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
if( winstr = XGetDefault( dpyS, GRAPHICS, "geometry" )){
~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/draw.c:560:16: note: place parentheses around the assignment to silence this warning
if( winstr = XGetDefault( dpyS, GRAPHICS, "geometry" )){
^
( )
/Users/paramsaini/graywolf/src/Ylib/draw.c:560:16: note: use '==' to turn this assignment into an equality comparison
if( winstr = XGetDefault( dpyS, GRAPHICS, "geometry" )){
^
==
/Users/paramsaini/graywolf/src/Ylib/draw.c:931:1: warning: non-void function does not return a value [-Wreturn-type]
} / end set_clip_window() /
^
/Users/paramsaini/graywolf/src/Ylib/draw.c:949:43: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
sprintf( YmsgG, "new center - %d,%d", x1, y1 ) ;
~~ ^~
%ld
/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/include/secure/_stdio.h:47:56: note: expanded from macro 'sprintf'
__builtin___sprintf_chk (str, 0, __darwin_obsz(str), VA_ARGS)
^~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/draw.c:949:47: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
sprintf( YmsgG, "new center - %d,%d", x1, y1 ) ;
~~ ^~
%ld
/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/include/secure/_stdio.h:47:56: note: expanded from macro 'sprintf'
__builtin___sprintf_chk (str, 0, __darwin_obsz(str), VA_ARGS)
^~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/draw.c:1189:1: warning: non-void function does not return a value [-Wreturn-type]
} / end initcolor */
^
/Users/paramsaini/graywolf/src/Ylib/draw.c:1198:57: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
sprintf( YmsgG, "Color number:%d is out of range", color ) ;
~~ ^~~~~
%ld
/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/include/secure/_stdio.h:47:56: note: expanded from macro 'sprintf'
__builtin___sprintf_chk (str, 0, __darwin_obsz(str), VA_ARGS)
^~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/draw.c:1201:57: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
fprintf( stderr,"Color number:%d is out of range", color ) ;
~~ ^~~~~
%ld
/Users/paramsaini/graywolf/src/Ylib/draw.c:1238:57: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
sprintf( YmsgG, "Color number:%d is out of range", color ) ;
~~ ^~~~~
%ld
/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/include/secure/_stdio.h:47:56: note: expanded from macro 'sprintf'
__builtin___sprintf_chk (str, 0, __darwin_obsz(str), VA_ARGS)
^~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/draw.c:1241:57: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
fprintf( stderr,"Color number:%d is out of range", color ) ;
~~ ^~~~~
%ld
/Users/paramsaini/graywolf/src/Ylib/draw.c:1243:2: error: non-void function 'drawDLine' should return a value [-Wreturn-type]
return ;
^
/Users/paramsaini/graywolf/src/Ylib/draw.c:1245:2: error: non-void function 'drawDLine' should return a value [-Wreturn-type]
return ;
^
/Users/paramsaini/graywolf/src/Ylib/draw.c:1255:6: error: non-void function 'drawDLine' should return a value [-Wreturn-type]
return ;
^
/Users/paramsaini/graywolf/src/Ylib/draw.c:1295:57: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
sprintf( YmsgG, "Color number:%d is out of range", color ) ;
~~ ^~~~~
%ld
/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/include/secure/_stdio.h:47:56: note: expanded from macro 'sprintf'
__builtin___sprintf_chk (str, 0, __darwin_obsz(str), VA_ARGS)
^~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/draw.c:1298:57: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
fprintf( stderr,"Color number:%d is out of range", color ) ;
~~ ^~~~~
%ld
/Users/paramsaini/graywolf/src/Ylib/draw.c:1300:2: error: non-void function 'drawDRect' should return a value [-Wreturn-type]
return ;
^
/Users/paramsaini/graywolf/src/Ylib/draw.c:1302:2: error: non-void function 'drawDRect' should return a value [-Wreturn-type]
return ;
^
/Users/paramsaini/graywolf/src/Ylib/draw.c:1307:6: error: non-void function 'drawDRect' should return a value [-Wreturn-type]
return ;
^
/Users/paramsaini/graywolf/src/Ylib/draw.c:1432:57: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
sprintf( YmsgG, "Color number:%d is out of range", color ) ;
~~ ^~~~~
%ld
/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/include/secure/_stdio.h:47:56: note: expanded from macro 'sprintf'
__builtin___sprintf_chk (str, 0, __darwin_obsz(str), VA_ARGS)
^~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/draw.c:1435:57: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
fprintf( stderr,"Color number:%d is out of range", color ) ;
~~ ^~~~~
%ld
/Users/paramsaini/graywolf/src/Ylib/draw.c:1437:2: error: non-void function 'drawDArb' should return a value [-Wreturn-type]
return ;
^
/Users/paramsaini/graywolf/src/Ylib/draw.c:1439:2: error: non-void function 'drawDArb' should return a value [-Wreturn-type]
return ;
^
/Users/paramsaini/graywolf/src/Ylib/draw.c:1464:6: error: non-void function 'drawDArb' should return a value [-Wreturn-type]
return ;
^
/Users/paramsaini/graywolf/src/Ylib/draw.c:1613:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
if( press = XCheckTypedWindowEvent( dpyS,drawS,
~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/draw.c:1613:12: note: place parentheses around the assignment to silence this warning
if( press = XCheckTypedWindowEvent( dpyS,drawS,
^
(
/Users/paramsaini/graywolf/src/Ylib/draw.c:1613:12: note: use '==' to turn this assignment into an equality comparison
if( press = XCheckTypedWindowEvent( dpyS,drawS,
^
==
/Users/paramsaini/graywolf/src/Ylib/draw.c:1983:57: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
sprintf( YmsgG, "Color number:%d is out of range", color ) ;
~~ ^~~~~
%ld
/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/include/secure/_stdio.h:47:56: note: expanded from macro 'sprintf'
__builtin___sprintf_chk (str, 0, __darwin_obsz(str), VA_ARGS)
^~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/draw.c:1986:57: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
fprintf( stderr,"Color number:%d is out of range", color ) ;
~~ ^~~~~
%ld
/Users/paramsaini/graywolf/src/Ylib/draw.c:2067:52: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
sprintf( filename, "%s/cell.bin.%d", dirNameS, frameCountS ) ;
~~ ^~~~~~~~~~~
%ld
/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/include/secure/_stdio.h:47:56: note: expanded from macro 'sprintf'
__builtin___sprintf_chk (str, 0, __darwin_obsz(str), VA_ARGS)
^~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/draw.c:2072:51: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
sprintf( filename, "%s/net.bin.%d", dirNameS, frameCountS ) ;
~~ ^~~~~~~~~~~
%ld
/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/include/secure/_stdio.h:47:56: note: expanded from macro 'sprintf'
__builtin___sprintf_chk (str, 0, __darwin_obsz(str), VA_ARGS)
^~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/draw.c:2077:52: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
sprintf( filename, "%s/symb.bin.%d", dirNameS, frameCountS ) ;
~~ ^~~~~~~~~~~
%ld
/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/include/secure/_stdio.h:47:56: note: expanded from macro 'sprintf'
__builtin___sprintf_chk (str, 0, __darwin_obsz(str), VA_ARGS)
^~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/draw.c:2109:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
if( excess = numCharS % 4 ){
~~~~~~~^~~~~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/draw.c:2109:13: note: place parentheses around the assignment to silence this warning
if( excess = numCharS % 4 ){
^
( )
/Users/paramsaini/graywolf/src/Ylib/draw.c:2109:13: note: use '==' to turn this assignment into an equality comparison
if( excess = numCharS % 4 ){
^
==
/Users/paramsaini/graywolf/src/Ylib/draw.c:2145:50: warning: format specifies type 'int' but the argument has type 'INT' (aka 'long') [-Wformat]
sprintf( fileName,"%s/cell.bin.%d",dirNameS,frameCountS ) ;
~~ ^~~~~~~~~~~
%ld
/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/include/secure/_stdio.h:47:56: note: expanded from macro 'sprintf'
__builtin___sprintf_chk (str, 0, __darwin_obsz(str), VA_ARGS)
^~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/draw.c:2170:2: error: non-void function 'drawWLine' should return a value [-Wreturn-type]
return ;
^
/Users/paramsaini/graywolf/src/Ylib/draw.c:2177:6: error: non-void function 'drawWLine' should return a value [-Wreturn-type]
return ;
^
/Users/paramsaini/graywolf/src/Ylib/draw.c:2227:2: error: non-void function 'drawWRect' should return a value [-Wreturn-type]
return ;
^
/Users/paramsaini/graywolf/src/Ylib/draw.c:2234:6: error: non-void function 'drawWRect' should return a value [-Wreturn-type]
return ;
^
/Users/paramsaini/graywolf/src/Ylib/draw.c:2278:2: error: non-void function 'drawWArb' should return a value [-Wreturn-type]
return ;
^
/Users/paramsaini/graywolf/src/Ylib/draw.c:2285:6: error: non-void function 'drawWArb' should return a value [-Wreturn-type]
return ;
^
/Users/paramsaini/graywolf/src/Ylib/draw.c:2292:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
while( bustptr = Ybuster() ){
~~~~~~~~^~~~~~~~~~~
/Users/paramsaini/graywolf/src/Ylib/draw.c:2292:20: note: place parentheses around the assignment to silence this warning
while( bustptr = Ybuster() ){
^
( )
/Users/paramsaini/graywolf/src/Ylib/draw.c:2292:20: note: use '==' to turn this assignment into an equality comparison
while( bustptr = Ybuster() ){
^
==
29 warnings and 15 errors generated.
make[2]: *** [src/Ylib/CMakeFiles/ycadgraywolf.dir/draw.c.o] Error 1
make[1]: *** [src/Ylib/CMakeFiles/ycadgraywolf.dir/all] Error 2
make: *** [all] Error 2
(base) paramsaini@MacBook-Pro build %
I installed graywolf using the fork yageek setup for osx installation. This works correctly when I run graywolf without graphics. However running with graphics the process hangs and when I abort the program I receive the following error:
XIO: fatal IO error 35 (Resource temporarily unavailable) on X server "/private/tmp/com.apple.launchd.3rHjgMkpM3/org.macosforge.xquartz:0"
after 79 requests (79 known processed) with 20 events remaining.
To resolve this I removed the following while(TRUE) loop in src/Ylib/draw.c line 636
/* -------------------------------------------------------------
Now wait to window to become visible. This code is necessary
since some window managers (uwm) map the window as a ghost
image and wait for user to resize window. Other window
managers (twm) map window as requested. Need to accomodate
both.
-------------------------------------------------------------- */
/*
while( TRUE ){
if( XCheckTypedWindowEvent(dpyS,backS,VisibilityNotify,&event)){
if( event.xvisibility.state == VisibilityUnobscured ){
break ;
}
}
}
*/
I've attached the log file. I think my system is compiling with Clang, so maybe that's the root of the problem. I'm willing to fix the errors, but I wanted to post this in the event that someone else has fixed it or has a better solution.
log.txt
Hello, Ruben.
I nave problem with install graywolf-master.
after "cmake .", i write "make", but installation Interrupted.
And on monitor
[ 3%] Building C object src/Ylib/CMakeFiles/ycadgraywolf.dir/dialog.c.o
/home/roma/soft/graywolf-master/src/Ylib/dialog.c:78:22: fatal error: X11/Xlib.h: No such file or directory
compilation terminated.
src/Ylib/CMakeFiles/ycadgraywolf.dir/build.make:182: Recipe error for target «src/Ylib/CMakeFiles/ycadgraywolf.dir/dialog.c.o»
make[2]: *** [src/Ylib/CMakeFiles/ycadgraywolf.dir/dialog.c.o] Error 1
CMakeFiles/Makefile2:127: Recipe error for target «src/Ylib/CMakeFiles/ycadgraywolf.dir/all»
make[1]: *** [src/Ylib/CMakeFiles/ycadgraywolf.dir/all] Error 2
Makefile:127: Recipe error for target «all»
make: *** [all] Error 2
Please, Please, tell me what might be the problem
I have sucessfully built and installed graywolf in CentOS 6 and Fedora 20 machines.
However, when trying to run:
$ graywolf -d
I get the following output errors:
twflow version:2.1 date:Mon May 25 21:15:08 EDT 1992
Authors: Bill Swartz, Carl Sechen
Yale University
Twflow switches:
debug on
Graphics mode on
TimberWolf mode on
[1] 31628 segmentation fault (core dumped) graywolf -d
And when trying to run:
$ graywolf -n -d
I get the following output errors:
twflow version:2.1 date:Mon May 25 21:15:08 EDT 1992
Authors: Bill Swartz, Carl Sechen
Yale University
Twflow switches:
Graphics mode off
TimberWolf mode on
[find_flow]:Determining design type
Syntax switches:
debug on
sh: -c: line 0: syntax error near unexpected token `('
sh: -c: line 0: `/bin/rm -rf (null).stat'
Program Ylib/Yrm_files returned with exit code:1
syntax version:v1.1 date:Mon May 25 21:11:10 EDT 1992
TimberWolf System Syntax Checker
Authors: Carl Sechen, Kai-Win Lee, Bill Swartz,
Dahe Chen, and Jimmy Lam
Yale University
ERROR[openFile]:could not open file (null).cel
syntax terminated abnormally with 1 error[s] and 0 warning[s]
ERROR[find_design_type]:Trouble executing syntax
FATAL - must exit
twflow terminated abnormally with 1 error[s] and 0 warning[s]
My coworker @snelson and I did some digging to find this.
Even though CMake seems to properly determine that void pointers should be 8 bytes on my 64-bit system, that information does not seem to propagate and graywolf is ending up with 4 byte pointers.
During debugging we added the following to include/yalecad/base.h. This case is is in multiple places in the code, we just happened upon this one while searching.
#ifndef SIZEOF_VOID_P
+#warning SIZEOF_VOID_P is not defined
#define SIZEOF_VOID_P 32
+#else
+#warning SIZEOF_VOID_P is defined
#endif
Anyway, when the void pointers end up as 4 bytes, graywolf crashes when accessing incorrect memory regions.
Ubuntu 17.10, cmake .
, make
, then:
[ 52%] Building C object src/twmc/CMakeFiles/TimberWolfMC.dir/__/date/date.c.o
[ 53%] Linking C executable TimberWolfMC
/home/ciro/git/graywolf/src/Ylib/libycadgraywolf.so: undefined reference to `cfree'
collect2: error: ld returned 1 exit status
src/twmc/CMakeFiles/TimberWolfMC.dir/build.make:1785: recipe for target 'src/twmc/TimberWolfMC' failed
When I run make test after install I get this error and I don't know what it means. I'm installing on a clean LXD container running ubuntu 18.04.
Test project /home/ubuntu/graywolf/build
Start 1: install_in_tmp
1/6 Test #1: install_in_tmp ................... Passed 0.01 sec
Start 2: map9v3
2/6 Test #2: map9v3 ........................... Passed 4.93 sec
Start 3: map9v3-twsc
3/6 Test #3: map9v3-twsc ...................... Passed 4.78 sec
Start 4: map9v3-mincut
4/6 Test #4: map9v3-mincut .................... Passed 0.02 sec
Start 5: map9v3-twmc
5/6 Test #5: map9v3-twmc ......................***Failed 0.02 sec
Start 6: map9v3_other_seed
6/6 Test #6: map9v3_other_seed ................ Passed 4.84 sec
83% tests passed, 1 tests failed out of 6
Total Test time (real) = 14.61 sec
The following tests FAILED:
5 - map9v3-twmc (Failed)
Errors while running CTest
Makefile:94: recipe for target 'test' failed
make: *** [test] Error 8
I downloaded an unzip'd "graywolf-master.zip". And I read the README.md file.
And the "Install Procedure" says to do:
mkdir build
cd build
cmake ..
make
sudo make install
Question1: what does the "cmake .." line do ?
Question2: "cmake" is not in my default $PATH in my bash shell in CentOS-6.10,
where/what is "cmake"
Note: a normal Linux install would be something like:
make config ( or ./configure)
make
make install
Let me know.
thanks
-steve
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
Hello,
I was building test cases for a project I was working on, and one of my test cases has a single reg in it. A very simple design (or so I thought). But it does not seem to work, graywolf freezes when trying to run placement. So I thought I must have been stupid and just wrote bad code? After several other test cases with one reg that failed, and after adding a second reg to them made them work, I figured that i might mention it here.
An interesting note: CPU is at 100% for the thread that graywolf is running on when frozen.
Here is verilog file. I was running the latest version of qflow. Everything else works great as always!
module test(
clock, reset, a, b
);
input clock, reset, a;
output b;
reg storage0;
always @ (posedge clock) begin
if (a) begin
storage0 <= 1'b1;
end
end
always @ (negedge reset) begin
storage0 <= 1'b0;
end
endmodule
Sorry about code formatting, it was not cooperating.
I am running graywolf as part of qflow. graywolf 0.1.2 installed from git source crashes.
It crashes in TimberWolfSC:
verhaegs@vps2:~/eda/SuskaIII_vhdl_2K15A/qflow_osu050$ /home/verhaegs/.local/xstow/graywolf-0.1.2/lib/graywolf/bin/TimberWolfSC -dv WF68K00IP_ALU
TimberWolfSC switches:
debug on
Graphics mode on
Verbose mode on
TimberWolfSC version:v6.0 date:Mon May 25 21:19:07 EDT 1992
Row-Based Placement and Global Routing Program
Authors: Carl Sechen, Kai-Win Lee, and Bill Swartz,
Yale University
...
[add_swap_group]:Implicit swap group <Z_bF$pin> created
[add_swap_group]:Implicit swap group <sub_702_36.$abc$50871$n599_bF$pin> created
[add_swap_group]:Implicit swap group <sub_702_36.$abc$50871$n608_bF$pin> created
[add_swap_group]:Implicit swap group <sub_702_36.$abc$50871$n622_1_bF$pin> created
[add_swap_group]:Implicit swap group <sub_702_36.$abc$50871$n619_bF$pin> created
[add_extra_cells]:Added 610 spacer cells to the gate array
WARNING[findcost]:Net <gnd> has 2513 pins
WARNING[findcost]:Net <vdd> has 190 pins
Segmentation fault (core dumped)
It seems to crash in gate_swap:
verhaegs@vps2:~/eda/SuskaIII_vhdl_2K15A/qflow_osu050$ gdb /home/verhaegs/.local/xstow/graywolf-0.1.2/lib/graywolf/bin/TimberWolfSC core
GNU gdb (GDB) 7.4.1-debian
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/verhaegs/.local/xstow/graywolf-0.1.2/lib/graywolf /bin/TimberWolfSC...done.
[New LWP 21859]
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
Core was generated by `/home/verhaegs/.local/xstow/graywolf-0.1.2/lib/graywolf/bin/TimberWolfSC -dv WF'.
Program terminated with signal 11, Segmentation fault.
#0 0x0000000000445e2d in gate_swap (between_two_cells=0, sgidxa=0, sgidxb=0)
at /home/verhaegs/compile/graywolf/src/twsc/gateswap.c:139
139 term_list2 = term_list2->next_grp;
(gdb) list
134 term_list1 = term_list1->next_grp;
135 }
136
137 term_list2 = term;
138 while (pg2 > 1) {
139 term_list2 = term_list2->next_grp;
140 }
141 }
142
143 for( term1 = term_list1 ; term1 != NULL ; term1 = term1->next ) {
(gdb) p term_list2
$1 = (PINLIST *) 0x0
(gdb) bt
#0 0x0000000000445e2d in gate_swap (between_two_cells=0, sgidxa=0, sgidxb=0)
at /home/verhaegs/compile/graywolf/src/twsc/gateswap.c:139
#1 0x000000000044bb89 in uloop () at /home/verhaegs/compile/graywolf/src/twsc/uloop.c:369
#2 0x000000000043e1f5 in from_beginning () at /home/verhaegs/compile/graywolf/src/twsc/utemp.c:276
#3 0x000000000043dbf5 in utemp () at /home/verhaegs/compile/graywolf/src/twsc/utemp.c:130
#4 0x0000000000435a4e in main (argc=3, argv=0x7fffa5a4e6b8)
at /home/verhaegs/compile/graywolf/src/twsc/main.c:444
It happens with both osu035, osu050 technology used from qflow.
I tried to hack it away with the following diff but this makes to program go in infinite loop:
----------------------------- src/twsc/gateswap.c -----------------------------
index 0222073..bde117b 100644
@@ -131,11 +131,13 @@ if( between_two_cells ) {
term_list1 = term;
while (pg1 > 1) {
+ if (term_list1->next_grp == NULL) break;
term_list1 = term_list1->next_grp;
}
term_list2 = term;
while (pg2 > 1) {
+ if (term_list2->next_grp == NULL) break;
term_list2 = term_list2->next_grp;
}
}
Any extra generated files I should upload ?
original .v file I would like to not make public; can send it by email on request.
I am trying to run qflow for a design containing a hard macro. When it reaches the placement stage, graywolf places it and gets freezed. Not able to resolve this. kindly help. I am attaching the log file here
`Running GrayWolf placement
graywolf AMUX2_3V_top
ERROR[TWgetfont]:font:9x15 not available - using default:fixed
twflow version:2.1 date:Mon May 25 21:15:08 EDT 1992
Authors: Bill Swartz, Carl Sechen
Yale University
syntax version:v1.1 date:Mon May 25 21:11:10 EDT 1992
TimberWolf System Syntax Checker
Authors: Carl Sechen, Kai-Win Lee, Bill Swartz,
Dahe Chen, and Jimmy Lam
Yale University
No syntax errors were found
syntax terminated normally with no errors and 0 warning[s]
Total stdcells :1
Total cell width :2.40e+02
Total cell height :1.00e+03
Total cell area :2.40e+05
Total core area :2.40e+05
Average cell height:1.00e+03
nocut - replacement for Mincut version:v1.0 date:Mon May 25 21:09:40 EDT 1992
TimberWolf System Floorplan Setup Program
Authors: Carl Sechen, Bill Swartz,
Yale University
Splitting AMUX2_3V_top.cel into AMUX2_3V_top.scel and AMUX2_3V_top.mcel...
done!
nocut - replacement for Mincut terminated normally with no errors and 0 warning[s]
TimberWolfMC version:v2.2 date:Mon May 25 21:18:34 EDT 1992
Authors: Carl Sechen, Bill Swartz, Kai-Win Lee
Dahe Chen, and Jimmy Lam
Yale University
ERROR[TWgetfont]:font:9x15 not available - using default:fixed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
136 137 138 139 140 141 142 143 144 145 146 147 148 149 150
151 152 153 154 155
mc.compactor version:v1.0 date:Mon May 25 21:07:13 EDT 1992
compactor switches:
Violation removal only
Graphics mode off
[preprocess_multi]:Fixing multiple tiles...
[preprocess_multi]:Verifying multiple tiles...
Violation removal completed...
mc.compactor terminated normally with no errors and 0 warning[s]
ERROR[TWgetfont]:font:9x15 not available - using default:fixed
WARNING[read_vertices]:Total row length is smaller that minimum tile length
config version:v1.0 date:Mon May 25 20:57:18 EDT 1992
Row configuration program
Yale University
config switches:
Graphics mode on
config will inherit window
Minimum tile set to total row length / 2
Note: restore state file exists:AMUX2_3V_top
config terminated abnormally with 1 error[s] and 1 warning[s]
WARNING[space_pins]:overflow for cell:1 pin:pin6
WARNING[space_pins]:overflow for cell:1 pin:pin2
TimberWolfMC terminated abnormally with 1 error[s] and 2 warning[s]
ERROR[TWgetfont]:font:9x15 not available - using default:fixed
TimberWolfSC switches:
Graphics mode on
TimberWolfSC will inherit window
TimberWolfSC version:v6.0 date:Mon May 25 21:19:07 EDT 1992
Row-Based Placement and Global Routing Program
Authors: Carl Sechen, Kai-Win Lee, and Bill Swartz,
Yale University
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
136 137 138 139 140 141 142 143 144 145 146 147 148 149 150
151 152 153 154 155 156 157 `
Hi
I'm trying to compile grayflow from source on centos4
after entering make
command I get the following error:
Linking C shared library libycadgraywolf.so /usr/bin/ld: cannot find -lX11 collect2: ld returned 1 exit status make[2]: *** [src/Ylib/libycadgraywolf.so.1.0.0] Error 1 make[1]: *** [src/Ylib/CMakeFiles/ycadgraywolf.dir/all] Error 2 make: *** [all] Error 2
How can I fix it?
I'm trying to run this design through Qflow process and I'm stuck at Placement stage (Graywolf v0.1.4), I've tried on separate days spending 6 and 9 hours respectively and it's just not terminating, yet when I check top
, the TimberWolfSC
seems to be using a full core.
$ ./qflow_exec.sh
Qrouter detail maze router version 1.4.83.T
Reading LEF data from file /usr/local/share/qflow/tech/osu018/osu018_stdcells.lef.
LEF Read, Line 191: NOTE: Old format VIARULE ignored.
LEF Read, Line 192: NOTE: Old format VIARULE ignored.
LEF Read, Line 196: NOTE: Old format VIARULE ignored.
LEF Read, Line 197: NOTE: Old format VIARULE ignored.
LEF Read, Line 207: NOTE: Old format VIARULE ignored.
LEF Read, Line 208: NOTE: Old format VIARULE ignored.
LEF Read, Line 212: NOTE: Old format VIARULE ignored.
LEF Read, Line 213: NOTE: Old format VIARULE ignored.
LEF Read, Line 223: NOTE: Old format VIARULE ignored.
LEF Read, Line 224: NOTE: Old format VIARULE ignored.
LEF Read, Line 228: NOTE: Old format VIARULE ignored.
LEF Read, Line 229: NOTE: Old format VIARULE ignored.
LEF Read, Line 239: NOTE: Old format VIARULE ignored.
LEF Read, Line 240: NOTE: Old format VIARULE ignored.
LEF Read, Line 244: NOTE: Old format VIARULE ignored.
LEF Read, Line 245: NOTE: Old format VIARULE ignored.
LEF Read, Line 255: NOTE: Old format VIARULE ignored.
LEF Read, Line 256: NOTE: Old format VIARULE ignored.
LEF Read, Line 260: NOTE: Old format VIARULE ignored.
LEF Read, Line 261: NOTE: Old format VIARULE ignored.
LEF file: Defines site core (ignored)
LEF read: Processed 2941 lines.
LEF Read: encountered 0 errors and 20 warnings total.
Vertical route layer at non-minimum pitch 1.6. Using smaller pitch 0.8, will route on 1-of-2 tracks for layer metal6.
Running vlog2Cel to generate input files for graywolf
vlog2Cel -l /usr/local/share/qflow/tech/osu018/osu018_stdcells.lef -u 100 -o /qflow-piccolo/layout/mkCPU.cel /qflow-piccolo/synthesis/mkCPU.rtlnopwr.v
No mkCPU.cel1 file found for project. . . no partial blockages to apply to layout.
No mkCPU.cel2 file found for project. . . continuing without pin placement hints
Running GrayWolf placement
graywolf mkCPU
Is there any way to debug this? I'm not getting any logs or any errors. Is the placement stage supposed to take this long?
The synthesis has 300K cells which I understand is a large number and if I try to change the density, it gets stuck and doesn't even show the graphical interface. And it prints the width to be:
Number of cells = 388742, total width = 133089600
which mean the width is 1.86 meters even when lambda is 14nm! Is this correct?
src/twsc/netgraph.c: lines 71 and 72
structure EDGE_COST has components node1 and node2 cast as SHORT. For a large design (microprocessor-sized, but not insanely big), the number of nodes easily exceeds 65535 and causes arrays to be addressed with negative indexes, crashing TimberwolfSC. The values are set from adding pins_at_rowS and first_indexS, both of which are type INT, so changing these from type SHORT to INT solves the problem, and any design that overflows type INT in the number of nodes is insanely big.
In summary,
typedef struct graph_edge_cost {
INT node1 ;
INT node2 ;
INT cost ;
INT channel ;
}
*EDGE_COST ,
EDGE_COST_BOX ;
/usr/ports/cad/graywolf/work/graywolf-0.1.6-3-g6c5e24f/src/genrows/draw.c:1212:20: error: invalid use of void expression
1212 | if (last_chanceG) (VOID)last_chance() ;
| ^
gcc-9 on FreeBSD 12
Hi,
How can I compile it to non-default location?
It doesn't have configure script.
I tried with export PREFIX=/destinationPath. and then run make.
But this didn't work. Still its installing to default path in /usr.
setting PREFIX variable before running make worked for me with another tool which didn't have configure script.
Kindly help.
Regards.
At least in Arch linux, and probably others, the linker stage fails because gcc is configured to define "-fno-common" by default, and so it becomes illegal to declare a global variable of the same name in more than one C file that are going to be linked into the same object file.
The workaround is to add
set(CMAKE_C_FLAGS "-fcommon")
set(CMAKE_CXX_FLAGS "-fcommon")
to CMakeLists.txt.
The real fix would be to set -fno-common to force the compiler error and then fix all the instances where global variables have been defined more than once in files being linked together.
---Tim
Hi
Running graywolf i get the following message:
sh: /usr/local/lib/graywolf/bin/edit_twfiles: No such file or directory
twflow terminated abnormally with 1 error[s] and 0 warning[s]
I am using graywolf as part of the qFlow. All works fine as long es i use for the place and route flow standard cells (osu018). However i would like to use it with our one digital library, I created the necessary .lef file and .par file ... and it does not complain about those.
It is true there is no edit_twfiles included in the graywolf package. The edit_twfiles are called in the
grep -r 'edit_twfiles' *
flow/flow.noroute/mixed.flow:pobject edit_twfiles 1: 0
flow/flow.noroute/mixed.fnog:pobject edit_twfiles 1: 0
flow/flow.noroute/standard.fdbg:pobject edit_twfiles 1: 0
flow/flow.noroute/standard.flow:pobject edit_twfiles 1: 0
flow/flow.noroute/standard.fnog:pobject edit_twfiles 1: 0
If I replace with edit_twfiles with something existing such as Mincut, i receive some other error.
What does that mean. When are those pobjects called. How can I avoid that? Or is the source code of edit_twfiles somewhere available?
Thanks and best regards,
mhb
I'm trying to install graywolf on Mac (BigSur), and succeeded with some modification on source codes.
Here is my modification points, and I hope this will help someone to install graywolf on Mac with xcode compiler sets, where some of them would be a fixed in original sources.
Hello,
I'm reaching the following compilation error message:
graywolf/src/Ylib/dset.c:456:11: note: use '==' to turn this assignment into an equality
comparison
if( ptr = (ELEMENTPTR) Yrbtree_search( dset->dtree, &dummy )){
^
==
make[2]: *** [src/Ylib/CMakeFiles/ycadgraywolf.dir/draw.c.o] Error 1
make[2]: *** Waiting for unfinished jobs....
Hi there,
I'm trying to compile on OSX 10.14.4 and am running into a few issues. The first was solved by Tim from OpenCircuitDesign who noticed the check for OSX in include/yalecad/base.h should be APPLE or MACH on line 164.
Having fixed this I'm still getting errors when building, log attached.
Shareef.
If I try to use multiple cores with make -j $(nproc)
, the compilation fails, I get an error at some point, and the exit status of make
is not 0.
e1bf319 Ubuntu 17.10.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.