Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rgraphviz fails to build with Graphviz 7: error: unknown type name 'Agdict_t' etc. #19

Open
barracuda156 opened this issue Feb 23, 2023 · 0 comments

Comments

@barracuda156
Copy link

Executing:  cd "/opt/local/var/macports/build/_opt_PPCRosettaPorts_R_R-Rgraphviz/R-Rgraphviz/work/Rgraphviz" && /opt/local/bin/R CMD INSTALL . --configure-args='--with-graphviz=/opt/local' --library=/opt/local/var/macports/build/_opt_PPCRosettaPorts_R_R-Rgraphviz/R-Rgraphviz/work/destroot/opt/local/Library/Frameworks/R.framework/Versions/4.2/Resources/library 
* installing *source* package ‘Rgraphviz’ ...
** using staged installation
configure: Using external Graphviz.
configure: Using Graphviz dir '/opt/local'
configure: Found Graphviz version '7.0.6'.
configure: Graphviz major version is '7' and minor version is '0'.
checking for _Bool... no
checking for stdbool.h that conforms to C99... no
checking for whether compiler has bool... no
configure: Using the following compilation and linking flags for Rgraphviz
configure:    PKG_CFLAGS=-I/opt/local/include/graphviz -DGRAPHVIZ_MAJOR=7 -DGRAPHVIZ_MINOR=0
configure:    PKG_LIBS=-L/opt/local/lib/graphviz -L/opt/local/lib -lgvc
configure:    GVIZ_DEFS=
configure: Compiling using Graphviz version: '7.0.6'.
configure: Using bundled Graphviz: 'FALSE'.
configure: creating ./config.status
config.status: creating R/graphviz_build_version.R
config.status: creating src/Makevars
** libs
/opt/local/bin/gcc-mp-12 -I"/opt/local/Library/Frameworks/R.framework/Resources/include" -DNDEBUG   -isystem/opt/local/include/LegacySupport -I/opt/local/include  -I/opt/local/include/graphviz -DGRAPHVIZ_MAJOR=7 -DGRAPHVIZ_MINOR=0  -fPIC  -pipe -Os -arch ppc  -c LL_funcs.c -o LL_funcs.o
In file included from LL_funcs.c:1:
common.h:22:8: error: unknown type name 'Agdict_t'
   22 | extern Agdict_t *agdictof(void *);
      |        ^~~~~~~~
LL_funcs.c: In function 'getClusterPtr':
LL_funcs.c:24:20: warning: implicit declaration of function 'agfindsubg'; did you mean 'agidsubg'? [-Wimplicit-function-declaration]
   24 |     Agraph_t *sg = agfindsubg(g, subGName);
      |                    ^~~~~~~~~~
      |                    agidsubg
LL_funcs.c:24:20: warning: initialization of 'Agraph_t *' {aka 'struct Agraph_s *'} from 'int' makes pointer from integer without a cast [-Wint-conversion]
LL_funcs.c: In function 'getDefAttrs':
LL_funcs.c:31:5: error: unknown type name 'Agdict_t'; did you mean 'Agdisc_t'?
   31 |     Agdict_t *dict = agdictof(obj);
      |     ^~~~~~~~
      |     Agdisc_t
LL_funcs.c:34:27: error: request for member 'dict' in something not a structure or union
   34 |     if ( (*n = dtsize(dict->dict)) )
      |                           ^~
LL_funcs.c:41:35: error: request for member 'list' in something not a structure or union
   41 |           (*attr_defval)[i] = dict->list[i]->value;
      |                                   ^~
LL_funcs.c:42:33: error: request for member 'list' in something not a structure or union
   42 |           (*attr_name)[i] = dict->list[i]->name;
      |                                 ^~
LL_funcs.c: In function 'Rgraphviz_setDefAttrsGraph':
LL_funcs.c:93:18: warning: implicit declaration of function 'agraphattr'; did you mean 'agcopyattr'? [-Wimplicit-function-declaration]
   93 |     Agsym_t *r = agraphattr(g, cname, cval);
      |                  ^~~~~~~~~~
      |                  agcopyattr
LL_funcs.c:93:18: warning: initialization of 'Agsym_t *' {aka 'struct Agsym_s *'} from 'int' makes pointer from integer without a cast [-Wint-conversion]
LL_funcs.c: In function 'Rgraphviz_getDefAttrsNode':
LL_funcs.c:194:20: error: 'Agraph_t' {aka 'struct Agraph_s'} has no member named 'proto'
  194 |     Agnode_t *n = g->proto->n;
      |                    ^~
LL_funcs.c: In function 'Rgraphviz_setDefAttrsNode':
LL_funcs.c:224:18: warning: implicit declaration of function 'agnodeattr'; did you mean 'agcopyattr'? [-Wimplicit-function-declaration]
  224 |     Agsym_t *r = agnodeattr(g, cname, cval);
      |                  ^~~~~~~~~~
      |                  agcopyattr
LL_funcs.c:224:18: warning: initialization of 'Agsym_t *' {aka 'struct Agsym_s *'} from 'int' makes pointer from integer without a cast [-Wint-conversion]
LL_funcs.c: In function 'Rgraphviz_getDefAttrsEdge':
LL_funcs.c:291:20: error: 'Agraph_t' {aka 'struct Agraph_s'} has no member named 'proto'
  291 |     Agedge_t *e = g->proto->e;
      |                    ^~
LL_funcs.c: In function 'Rgraphviz_setDefAttrsEdge':
LL_funcs.c:321:18: warning: implicit declaration of function 'agedgeattr' [-Wimplicit-function-declaration]
  321 |     Agsym_t *r = agedgeattr(g, cname, cval);
      |                  ^~~~~~~~~~
LL_funcs.c:321:18: warning: initialization of 'Agsym_t *' {aka 'struct Agsym_s *'} from 'int' makes pointer from integer without a cast [-Wint-conversion]
LL_funcs.c: In function 'Rgraphviz_agopenSimple':
LL_funcs.c:456:5: error: too few arguments to function 'aginit'
  456 |     aginit();
      |     ^~~~~~
In file included from /opt/local/include/graphviz/types.h:41,
                 from /opt/local/include/graphviz/gvc.h:20,
                 from common.h:16:
/opt/local/include/graphviz/cgraph.h:373:17: note: declared here
  373 | CGRAPH_API void aginit(Agraph_t * g, int kind, const char *rec_name,
      |                 ^~~~~~
LL_funcs.c:458:23: error: incompatible type for argument 2 of 'agopen'
  458 |     g = agopen(cname, ag_k);
      |                       ^~~~
      |                       |
      |                       int
/opt/local/include/graphviz/cgraph.h:275:50: note: expected 'Agdesc_t' {aka 'struct Agdesc_s'} but argument is of type 'int'
  275 | CGRAPH_API Agraph_t *agopen(char *name, Agdesc_t desc, Agdisc_t * disc);
      |                                         ~~~~~~~~~^~~~
LL_funcs.c:458:9: error: too few arguments to function 'agopen'
  458 |     g = agopen(cname, ag_k);
      |         ^~~~~~
/opt/local/include/graphviz/cgraph.h:275:22: note: declared here
  275 | CGRAPH_API Agraph_t *agopen(char *name, Agdesc_t desc, Agdisc_t * disc);
      |                      ^~~~~~
LL_funcs.c:476:18: error: too few arguments to function 'agsubg'
  476 |         sgs[i] = agsubg(g, subGName);
      |                  ^~~~~~
/opt/local/include/graphviz/cgraph.h:385:22: note: declared here
  385 | CGRAPH_API Agraph_t *agsubg(Agraph_t * g, char *name, int cflag);       /* constructor */
      |                      ^~~~~~
LL_funcs.c:501:19: error: too few arguments to function 'agnode'
  501 |         curNode = agnode(tmpGraph, cnode);
      |                   ^~~~~~
/opt/local/include/graphviz/cgraph.h:290:22: note: declared here
  290 | CGRAPH_API Agnode_t *agnode(Agraph_t * g, char *name, int createflag);
      |                      ^~~~~~
LL_funcs.c:531:23: error: too few arguments to function 'agedge'
  531 |             curEdge = agedge(tmpGraph, tail, head);
      |                       ^~~~~~
/opt/local/include/graphviz/cgraph.h:302:22: note: declared here
  302 | CGRAPH_API Agedge_t *agedge(Agraph_t * g, Agnode_t * t, Agnode_t * h,
      |                      ^~~~~~
make: *** [LL_funcs.o] Error 1
ERROR: compilation failed for package ‘Rgraphviz’

macOS 10.6.8, gcc 12.2.0, R 4.2.2

A similar error was reported earlier, but no solution: https://support.bioconductor.org/p/125094/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant