【动画制作】Manjaro Linux 上 Animata 成功构建记

三世轮回 提交于 2020-03-03 14:57:07

这几天疫情原因一直待在家,闲来无事,逛了一下 Archlinux 的 Animation 分类,发现一个叫 Animata 的开源项目。
观看其演示视频后发现这样的基于顶点和三角的变形动画非常不错,和一般的2D骨骼动画相比,Animata 给予我们的控制更多,除了设置影响范围的半径以外,还能指定受骨骼影响的顶点,从而弥补通过圆指定影响范围所遗留的不足(在关节处常常出现影响范围交叉,造成关节的异常运动,不可避免成为骨骼动画的缺陷,常出现在一根骨骼出现在另一根骨骼的直径范围内时);可以在一张 Sprite 上自己布置顶点自己连接三角形;此外,还有IK机制。
如果能与其他动画项目集成的话前途无量,可惜作者早已不再维护,代码放在 Google Code 上,现在只剩下 Archive,而AUR上这个项目的构建文件也依赖 Google Code 上的 Animata 源码。然而今天,众所周知,Google Code 已经不再提供代码克隆服务。

Step 1:转移仓库

Animata 保存于 SVN 仓库,现在公开的SVN仓库已经少之又少,知名的 Codeplex 已经变为只读,Coding 提供的SVN仓库克隆代码必须要提供密码,SVNBucket 只能创建私有项目,Gitee 上传了一份,尚未测试,SourceForge 不明原因无法注册,显示“System Error 5121225”。内心还是想用上 SourceForge 这个正宗的SVN仓库,找遍全网发现只有一个人遇到和我一样的问题,还好评论区提到要用国外邮箱,我就用了 outlook 邮箱,最后注册成功了!马上把 Google Code Archive 上下载到的源码上传到了这里

Step 2:修改构建文件

变量 _svntrunk 改为 svn://svn.code.sf.net/p/animata/svn/trunk/pkgver 改为 6,第6版是自上传到 SourceForge 以来能够构建成功的第一个版本。只是想用这款软件的人跟着这里的说明做已经可以不看下文了,如果对我后续对代码做的修改感兴趣,或者遇到了问题想知道我对代码做的修改,可以接着看 Step 3。

Step 3:修改过时代码

从 Python 2 到 Python 3

原始的构建脚本 trunk/src/SConscript 使用了 Python 2 print "xxxxxx" 的语法,我尝试用兼容语法发现最后构建还是在这里报错,于是决定放弃 Python 2 语法,使用 Python 3 print("xxxxxx") 的语法。

Animata 类 Drawable 与 系统库 /usr/include/X11/Xlib.h 的 Drawable 类混淆

仅仅修改了构建脚本的语法,构建时会发现如下错误:

g++ -o build/animataUI.o -c -Wall -Wno-unknown-pragmas -Wno-long-long -pedantic -pthread -Wno-format -DTIXML_USE_STL -DOSC_HOST_LITTLE_ENDIAN -DANIMATA_MAJOR_VERSION=0 -DANIMATA_MINOR_VERSION=004 -ggdb2 -O0 -DDEBUG=1 -march=x86-64 -mtune=generic -pipe -fstack-protector-strong -fno-plt -D_THREAD_SAFE -D_REENTRANT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/include -Ibuild/libs -Isrc/libs -Ibuild/libs/tinyxml -Isrc/libs/tinyxml -Ibuild/libs/oscpack -Isrc/libs/oscpack src/animataUI.cpp
In file included from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/Xlib.h:678:2: error: reference to 'Drawable' is ambiguous
  678 |  Drawable drawable;
      |  ^~~~~~~~
In file included from src/Mesh.h:33,
                 from src/animata.h:45,
                 from src/animataUI.h:9,
                 from src/animataUI.cpp:3:
src/Drawable.h:31:7: note: candidates are: 'class Animata::Drawable'
   31 | class Drawable
      |       ^~~~~~~~
In file included from /usr/include/X11/Xlib.h:44,
                 from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/X.h:97:13: note:                 'typedef XID Drawable'
   97 | typedef XID Drawable;
      |             ^~~~~~~~
In file included from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/Xlib.h:691:2: error: reference to 'Drawable' is ambiguous
  691 |  Drawable drawable;
      |  ^~~~~~~~
In file included from src/Mesh.h:33,
                 from src/animata.h:45,
                 from src/animataUI.h:9,
                 from src/animataUI.cpp:3:
src/Drawable.h:31:7: note: candidates are: 'class Animata::Drawable'
   31 | class Drawable
      |       ^~~~~~~~
In file included from /usr/include/X11/Xlib.h:44,
                 from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/X.h:97:13: note:                 'typedef XID Drawable'
   97 | typedef XID Drawable;
      |             ^~~~~~~~
In file included from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/Xlib.h:1458:5: error: reference to 'Drawable' is ambiguous
 1458 |     Drawable  /* d */,
      |     ^~~~~~~~
In file included from src/Mesh.h:33,
                 from src/animata.h:45,
                 from src/animataUI.h:9,
                 from src/animataUI.cpp:3:
src/Drawable.h:31:7: note: candidates are: 'class Animata::Drawable'
   31 | class Drawable
      |       ^~~~~~~~
In file included from /usr/include/X11/Xlib.h:44,
                 from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/X.h:97:13: note:                 'typedef XID Drawable'
   97 | typedef XID Drawable;
      |             ^~~~~~~~
In file included from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/Xlib.h:1458:5: error: 'Drawable' has not been declared
 1458 |     Drawable  /* d */,
      |     ^~~~~~~~
/usr/include/X11/Xlib.h:1468:5: error: reference to 'Drawable' is ambiguous
 1468 |     Drawable  /* d */,
      |     ^~~~~~~~
In file included from src/Mesh.h:33,
                 from src/animata.h:45,
                 from src/animataUI.h:9,
                 from src/animataUI.cpp:3:
src/Drawable.h:31:7: note: candidates are: 'class Animata::Drawable'
   31 | class Drawable
      |       ^~~~~~~~
In file included from /usr/include/X11/Xlib.h:44,
                 from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/X.h:97:13: note:                 'typedef XID Drawable'
   97 | typedef XID Drawable;
      |             ^~~~~~~~
In file included from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/Xlib.h:1468:5: error: 'Drawable' has not been declared
 1468 |     Drawable  /* d */,
      |     ^~~~~~~~
/usr/include/X11/Xlib.h:1586:5: error: reference to 'Drawable' is ambiguous
 1586 |     Drawable  /* d */,
      |     ^~~~~~~~
In file included from src/Mesh.h:33,
                 from src/animata.h:45,
                 from src/animataUI.h:9,
                 from src/animataUI.cpp:3:
src/Drawable.h:31:7: note: candidates are: 'class Animata::Drawable'
   31 | class Drawable
      |       ^~~~~~~~
In file included from /usr/include/X11/Xlib.h:44,
                 from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/X.h:97:13: note:                 'typedef XID Drawable'
   97 | typedef XID Drawable;
      |             ^~~~~~~~
In file included from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/Xlib.h:1586:5: error: 'Drawable' has not been declared
 1586 |     Drawable  /* d */,
      |     ^~~~~~~~
/usr/include/X11/Xlib.h:1599:5: error: reference to 'Drawable' is ambiguous
 1599 |     Drawable  /* d */,
      |     ^~~~~~~~
In file included from src/Mesh.h:33,
                 from src/animata.h:45,
                 from src/animataUI.h:9,
                 from src/animataUI.cpp:3:
src/Drawable.h:31:7: note: candidates are: 'class Animata::Drawable'
   31 | class Drawable
      |       ^~~~~~~~
In file included from /usr/include/X11/Xlib.h:44,
                 from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/X.h:97:13: note:                 'typedef XID Drawable'
   97 | typedef XID Drawable;
      |             ^~~~~~~~
In file included from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/Xlib.h:1599:5: error: 'Drawable' has not been declared
 1599 |     Drawable  /* d */,
      |     ^~~~~~~~
/usr/include/X11/Xlib.h:1606:5: error: reference to 'Drawable' is ambiguous
 1606 |     Drawable  /* d */,
      |     ^~~~~~~~
In file included from src/Mesh.h:33,
                 from src/animata.h:45,
                 from src/animataUI.h:9,
                 from src/animataUI.cpp:3:
src/Drawable.h:31:7: note: candidates are: 'class Animata::Drawable'
   31 | class Drawable
      |       ^~~~~~~~
In file included from /usr/include/X11/Xlib.h:44,
                 from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/X.h:97:13: note:                 'typedef XID Drawable'
   97 | typedef XID Drawable;
      |             ^~~~~~~~
In file included from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/Xlib.h:1606:5: error: 'Drawable' has not been declared
 1606 |     Drawable  /* d */,
      |     ^~~~~~~~
/usr/include/X11/Xlib.h:1613:5: error: reference to 'Drawable' is ambiguous
 1613 |     Drawable  /* d */,
      |     ^~~~~~~~
In file included from src/Mesh.h:33,
                 from src/animata.h:45,
                 from src/animataUI.h:9,
                 from src/animataUI.cpp:3:
src/Drawable.h:31:7: note: candidates are: 'class Animata::Drawable'
   31 | class Drawable
      |       ^~~~~~~~
In file included from /usr/include/X11/Xlib.h:44,
                 from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/X.h:97:13: note:                 'typedef XID Drawable'
   97 | typedef XID Drawable;
      |             ^~~~~~~~
In file included from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/Xlib.h:1613:5: error: 'Drawable' has not been declared
 1613 |     Drawable  /* d */,
      |     ^~~~~~~~
/usr/include/X11/Xlib.h:2186:5: error: reference to 'Drawable' is ambiguous
 2186 |     Drawable  /* src */,
      |     ^~~~~~~~
In file included from src/Mesh.h:33,
                 from src/animata.h:45,
                 from src/animataUI.h:9,
                 from src/animataUI.cpp:3:
src/Drawable.h:31:7: note: candidates are: 'class Animata::Drawable'
   31 | class Drawable
      |       ^~~~~~~~
In file included from /usr/include/X11/Xlib.h:44,
                 from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/X.h:97:13: note:                 'typedef XID Drawable'
   97 | typedef XID Drawable;
      |             ^~~~~~~~
In file included from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/Xlib.h:2186:5: error: 'Drawable' has not been declared
 2186 |     Drawable  /* src */,
      |     ^~~~~~~~
/usr/include/X11/Xlib.h:2187:5: error: reference to 'Drawable' is ambiguous
 2187 |     Drawable  /* dest */,
      |     ^~~~~~~~
In file included from src/Mesh.h:33,
                 from src/animata.h:45,
                 from src/animataUI.h:9,
                 from src/animataUI.cpp:3:
src/Drawable.h:31:7: note: candidates are: 'class Animata::Drawable'
   31 | class Drawable
      |       ^~~~~~~~
In file included from /usr/include/X11/Xlib.h:44,
                 from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/X.h:97:13: note:                 'typedef XID Drawable'
   97 | typedef XID Drawable;
      |             ^~~~~~~~
In file included from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/Xlib.h:2187:5: error: 'Drawable' has not been declared
 2187 |     Drawable  /* dest */,
      |     ^~~~~~~~
/usr/include/X11/Xlib.h:2206:5: error: reference to 'Drawable' is ambiguous
 2206 |     Drawable  /* src */,
      |     ^~~~~~~~
In file included from src/Mesh.h:33,
                 from src/animata.h:45,
                 from src/animataUI.h:9,
                 from src/animataUI.cpp:3:
src/Drawable.h:31:7: note: candidates are: 'class Animata::Drawable'
   31 | class Drawable
      |       ^~~~~~~~
In file included from /usr/include/X11/Xlib.h:44,
                 from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/X.h:97:13: note:                 'typedef XID Drawable'
   97 | typedef XID Drawable;
      |             ^~~~~~~~
In file included from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/Xlib.h:2206:5: error: 'Drawable' has not been declared
 2206 |     Drawable  /* src */,
      |     ^~~~~~~~
/usr/include/X11/Xlib.h:2207:5: error: reference to 'Drawable' is ambiguous
 2207 |     Drawable  /* dest */,
      |     ^~~~~~~~
In file included from src/Mesh.h:33,
                 from src/animata.h:45,
                 from src/animataUI.h:9,
                 from src/animataUI.cpp:3:
src/Drawable.h:31:7: note: candidates are: 'class Animata::Drawable'
   31 | class Drawable
      |       ^~~~~~~~
In file included from /usr/include/X11/Xlib.h:44,
                 from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/X.h:97:13: note:                 'typedef XID Drawable'
   97 | typedef XID Drawable;
      |             ^~~~~~~~
In file included from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/Xlib.h:2207:5: error: 'Drawable' has not been declared
 2207 |     Drawable  /* dest */,
      |     ^~~~~~~~
/usr/include/X11/Xlib.h:2304:5: error: reference to 'Drawable' is ambiguous
 2304 |     Drawable  /* d */,
      |     ^~~~~~~~
In file included from src/Mesh.h:33,
                 from src/animata.h:45,
                 from src/animataUI.h:9,
                 from src/animataUI.cpp:3:
src/Drawable.h:31:7: note: candidates are: 'class Animata::Drawable'
   31 | class Drawable
      |       ^~~~~~~~
In file included from /usr/include/X11/Xlib.h:44,
                 from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/X.h:97:13: note:                 'typedef XID Drawable'
   97 | typedef XID Drawable;
      |             ^~~~~~~~
In file included from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/Xlib.h:2304:5: error: 'Drawable' has not been declared
 2304 |     Drawable  /* d */,
      |     ^~~~~~~~
/usr/include/X11/Xlib.h:2316:5: error: reference to 'Drawable' is ambiguous
 2316 |     Drawable  /* d */,
      |     ^~~~~~~~
In file included from src/Mesh.h:33,
                 from src/animata.h:45,
                 from src/animataUI.h:9,
                 from src/animataUI.cpp:3:
src/Drawable.h:31:7: note: candidates are: 'class Animata::Drawable'
   31 | class Drawable
      |       ^~~~~~~~
In file included from /usr/include/X11/Xlib.h:44,
                 from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/X.h:97:13: note:                 'typedef XID Drawable'
   97 | typedef XID Drawable;
      |             ^~~~~~~~
In file included from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/Xlib.h:2316:5: error: 'Drawable' has not been declared
 2316 |     Drawable  /* d */,
      |     ^~~~~~~~
/usr/include/X11/Xlib.h:2324:5: error: reference to 'Drawable' is ambiguous
 2324 |     Drawable  /* d */,
      |     ^~~~~~~~
In file included from src/Mesh.h:33,
                 from src/animata.h:45,
                 from src/animataUI.h:9,
                 from src/animataUI.cpp:3:
src/Drawable.h:31:7: note: candidates are: 'class Animata::Drawable'
   31 | class Drawable
      |       ^~~~~~~~
In file included from /usr/include/X11/Xlib.h:44,
                 from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/X.h:97:13: note:                 'typedef XID Drawable'
   97 | typedef XID Drawable;
      |             ^~~~~~~~
In file included from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/Xlib.h:2324:5: error: 'Drawable' has not been declared
 2324 |     Drawable  /* d */,
      |     ^~~~~~~~
/usr/include/X11/Xlib.h:2334:5: error: reference to 'Drawable' is ambiguous
 2334 |     Drawable  /* d */,
      |     ^~~~~~~~
In file included from src/Mesh.h:33,
                 from src/animata.h:45,
                 from src/animataUI.h:9,
                 from src/animataUI.cpp:3:
src/Drawable.h:31:7: note: candidates are: 'class Animata::Drawable'
   31 | class Drawable
      |       ^~~~~~~~
In file included from /usr/include/X11/Xlib.h:44,
                 from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/X.h:97:13: note:                 'typedef XID Drawable'
   97 | typedef XID Drawable;
      |             ^~~~~~~~
In file included from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/Xlib.h:2334:5: error: 'Drawable' has not been declared
 2334 |     Drawable  /* d */,
      |     ^~~~~~~~
/usr/include/X11/Xlib.h:2344:5: error: reference to 'Drawable' is ambiguous
 2344 |     Drawable  /* d */,
      |     ^~~~~~~~
In file included from src/Mesh.h:33,
                 from src/animata.h:45,
                 from src/animataUI.h:9,
                 from src/animataUI.cpp:3:
src/Drawable.h:31:7: note: candidates are: 'class Animata::Drawable'
   31 | class Drawable
      |       ^~~~~~~~
In file included from /usr/include/X11/Xlib.h:44,
                 from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/X.h:97:13: note:                 'typedef XID Drawable'
   97 | typedef XID Drawable;
      |             ^~~~~~~~
In file included from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/Xlib.h:2344:5: error: 'Drawable' has not been declared
 2344 |     Drawable  /* d */,
      |     ^~~~~~~~
/usr/include/X11/Xlib.h:2354:5: error: reference to 'Drawable' is ambiguous
 2354 |     Drawable  /* d */,
      |     ^~~~~~~~
In file included from src/Mesh.h:33,
                 from src/animata.h:45,
                 from src/animataUI.h:9,
                 from src/animataUI.cpp:3:
src/Drawable.h:31:7: note: candidates are: 'class Animata::Drawable'
   31 | class Drawable
      |       ^~~~~~~~
In file included from /usr/include/X11/Xlib.h:44,
                 from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/X.h:97:13: note:                 'typedef XID Drawable'
   97 | typedef XID Drawable;
      |             ^~~~~~~~
In file included from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/Xlib.h:2354:5: error: 'Drawable' has not been declared
 2354 |     Drawable  /* d */,
      |     ^~~~~~~~
/usr/include/X11/Xlib.h:2363:5: error: reference to 'Drawable' is ambiguous
 2363 |     Drawable  /* d */,
      |     ^~~~~~~~
In file included from src/Mesh.h:33,
                 from src/animata.h:45,
                 from src/animataUI.h:9,
                 from src/animataUI.cpp:3:
src/Drawable.h:31:7: note: candidates are: 'class Animata::Drawable'
   31 | class Drawable
      |       ^~~~~~~~
In file included from /usr/include/X11/Xlib.h:44,
                 from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/X.h:97:13: note:                 'typedef XID Drawable'
   97 | typedef XID Drawable;
      |             ^~~~~~~~
In file included from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/Xlib.h:2363:5: error: 'Drawable' has not been declared
 2363 |     Drawable  /* d */,
      |     ^~~~~~~~
/usr/include/X11/Xlib.h:2371:5: error: reference to 'Drawable' is ambiguous
 2371 |     Drawable  /* d */,
      |     ^~~~~~~~
In file included from src/Mesh.h:33,
                 from src/animata.h:45,
                 from src/animataUI.h:9,
                 from src/animataUI.cpp:3:
src/Drawable.h:31:7: note: candidates are: 'class Animata::Drawable'
   31 | class Drawable
      |       ^~~~~~~~
In file included from /usr/include/X11/Xlib.h:44,
                 from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/X.h:97:13: note:                 'typedef XID Drawable'
   97 | typedef XID Drawable;
      |             ^~~~~~~~
In file included from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/Xlib.h:2371:5: error: 'Drawable' has not been declared
 2371 |     Drawable  /* d */,
      |     ^~~~~~~~
/usr/include/X11/Xlib.h:2380:5: error: reference to 'Drawable' is ambiguous
 2380 |     Drawable  /* d */,
      |     ^~~~~~~~
In file included from src/Mesh.h:33,
                 from src/animata.h:45,
                 from src/animataUI.h:9,
                 from src/animataUI.cpp:3:
src/Drawable.h:31:7: note: candidates are: 'class Animata::Drawable'
   31 | class Drawable
      |       ^~~~~~~~
In file included from /usr/include/X11/Xlib.h:44,
                 from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/X.h:97:13: note:                 'typedef XID Drawable'
   97 | typedef XID Drawable;
      |             ^~~~~~~~
In file included from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/Xlib.h:2380:5: error: 'Drawable' has not been declared
 2380 |     Drawable  /* d */,
      |     ^~~~~~~~
/usr/include/X11/Xlib.h:2390:5: error: reference to 'Drawable' is ambiguous
 2390 |     Drawable  /* d */,
      |     ^~~~~~~~
In file included from src/Mesh.h:33,
                 from src/animata.h:45,
                 from src/animataUI.h:9,
                 from src/animataUI.cpp:3:
src/Drawable.h:31:7: note: candidates are: 'class Animata::Drawable'
   31 | class Drawable
      |       ^~~~~~~~
In file included from /usr/include/X11/Xlib.h:44,
                 from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/X.h:97:13: note:                 'typedef XID Drawable'
   97 | typedef XID Drawable;
      |             ^~~~~~~~
In file included from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/Xlib.h:2390:5: error: 'Drawable' has not been declared
 2390 |     Drawable  /* d */,
      |     ^~~~~~~~
/usr/include/X11/Xlib.h:2398:5: error: reference to 'Drawable' is ambiguous
 2398 |     Drawable  /* d */,
      |     ^~~~~~~~
In file included from src/Mesh.h:33,
                 from src/animata.h:45,
                 from src/animataUI.h:9,
                 from src/animataUI.cpp:3:
src/Drawable.h:31:7: note: candidates are: 'class Animata::Drawable'
   31 | class Drawable
      |       ^~~~~~~~
In file included from /usr/include/X11/Xlib.h:44,
                 from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/X.h:97:13: note:                 'typedef XID Drawable'
   97 | typedef XID Drawable;
      |             ^~~~~~~~
In file included from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/Xlib.h:2398:5: error: 'Drawable' has not been declared
 2398 |     Drawable  /* d */,
      |     ^~~~~~~~
/usr/include/X11/Xlib.h:2406:5: error: reference to 'Drawable' is ambiguous
 2406 |     Drawable  /* d */,
      |     ^~~~~~~~
In file included from src/Mesh.h:33,
                 from src/animata.h:45,
                 from src/animataUI.h:9,
                 from src/animataUI.cpp:3:
src/Drawable.h:31:7: note: candidates are: 'class Animata::Drawable'
   31 | class Drawable
      |       ^~~~~~~~
In file included from /usr/include/X11/Xlib.h:44,
                 from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/X.h:97:13: note:                 'typedef XID Drawable'
   97 | typedef XID Drawable;
      |             ^~~~~~~~
In file included from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/Xlib.h:2406:5: error: 'Drawable' has not been declared
 2406 |     Drawable  /* d */,
      |     ^~~~~~~~
/usr/include/X11/Xlib.h:2416:5: error: reference to 'Drawable' is ambiguous
 2416 |     Drawable  /* d */,
      |     ^~~~~~~~
In file included from src/Mesh.h:33,
                 from src/animata.h:45,
                 from src/animataUI.h:9,
                 from src/animataUI.cpp:3:
src/Drawable.h:31:7: note: candidates are: 'class Animata::Drawable'
   31 | class Drawable
      |       ^~~~~~~~
In file included from /usr/include/X11/Xlib.h:44,
                 from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/X.h:97:13: note:                 'typedef XID Drawable'
   97 | typedef XID Drawable;
      |             ^~~~~~~~
In file included from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/Xlib.h:2416:5: error: 'Drawable' has not been declared
 2416 |     Drawable  /* d */,
      |     ^~~~~~~~
/usr/include/X11/Xlib.h:2426:5: error: reference to 'Drawable' is ambiguous
 2426 |     Drawable  /* d */,
      |     ^~~~~~~~
In file included from src/Mesh.h:33,
                 from src/animata.h:45,
                 from src/animataUI.h:9,
                 from src/animataUI.cpp:3:
src/Drawable.h:31:7: note: candidates are: 'class Animata::Drawable'
   31 | class Drawable
      |       ^~~~~~~~
In file included from /usr/include/X11/Xlib.h:44,
                 from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/X.h:97:13: note:                 'typedef XID Drawable'
   97 | typedef XID Drawable;
      |             ^~~~~~~~
In file included from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/Xlib.h:2426:5: error: 'Drawable' has not been declared
 2426 |     Drawable  /* d */,
      |     ^~~~~~~~
/usr/include/X11/Xlib.h:2436:5: error: reference to 'Drawable' is ambiguous
 2436 |     Drawable  /* d */,
      |     ^~~~~~~~
In file included from src/Mesh.h:33,
                 from src/animata.h:45,
                 from src/animataUI.h:9,
                 from src/animataUI.cpp:3:
src/Drawable.h:31:7: note: candidates are: 'class Animata::Drawable'
   31 | class Drawable
      |       ^~~~~~~~
In file included from /usr/include/X11/Xlib.h:44,
                 from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/X.h:97:13: note:                 'typedef XID Drawable'
   97 | typedef XID Drawable;
      |             ^~~~~~~~
In file included from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/Xlib.h:2436:5: error: 'Drawable' has not been declared
 2436 |     Drawable  /* d */,
      |     ^~~~~~~~
/usr/include/X11/Xlib.h:2461:5: error: reference to 'Drawable' is ambiguous
 2461 |     Drawable  /* d */,
      |     ^~~~~~~~
In file included from src/Mesh.h:33,
                 from src/animata.h:45,
                 from src/animataUI.h:9,
                 from src/animataUI.cpp:3:
src/Drawable.h:31:7: note: candidates are: 'class Animata::Drawable'
   31 | class Drawable
      |       ^~~~~~~~
In file included from /usr/include/X11/Xlib.h:44,
                 from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/X.h:97:13: note:                 'typedef XID Drawable'
   97 | typedef XID Drawable;
      |             ^~~~~~~~
In file included from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/Xlib.h:2461:5: error: 'Drawable' has not been declared
 2461 |     Drawable  /* d */,
      |     ^~~~~~~~
/usr/include/X11/Xlib.h:2473:5: error: reference to 'Drawable' is ambiguous
 2473 |     Drawable  /* d */,
      |     ^~~~~~~~
In file included from src/Mesh.h:33,
                 from src/animata.h:45,
                 from src/animataUI.h:9,
                 from src/animataUI.cpp:3:
src/Drawable.h:31:7: note: candidates are: 'class Animata::Drawable'
   31 | class Drawable
      |       ^~~~~~~~
In file included from /usr/include/X11/Xlib.h:44,
                 from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/X.h:97:13: note:                 'typedef XID Drawable'
   97 | typedef XID Drawable;
      |             ^~~~~~~~
In file included from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/Xlib.h:2473:5: error: 'Drawable' has not been declared
 2473 |     Drawable  /* d */,
      |     ^~~~~~~~
/usr/include/X11/Xlib.h:2481:5: error: reference to 'Drawable' is ambiguous
 2481 |     Drawable  /* d */,
      |     ^~~~~~~~
In file included from src/Mesh.h:33,
                 from src/animata.h:45,
                 from src/animataUI.h:9,
                 from src/animataUI.cpp:3:
src/Drawable.h:31:7: note: candidates are: 'class Animata::Drawable'
   31 | class Drawable
      |       ^~~~~~~~
In file included from /usr/include/X11/Xlib.h:44,
                 from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/X.h:97:13: note:                 'typedef XID Drawable'
   97 | typedef XID Drawable;
      |             ^~~~~~~~
In file included from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/Xlib.h:2481:5: error: 'Drawable' has not been declared
 2481 |     Drawable  /* d */,
      |     ^~~~~~~~
/usr/include/X11/Xlib.h:2491:5: error: reference to 'Drawable' is ambiguous
 2491 |     Drawable  /* d */,
      |     ^~~~~~~~
In file included from src/Mesh.h:33,
                 from src/animata.h:45,
                 from src/animataUI.h:9,
                 from src/animataUI.cpp:3:
src/Drawable.h:31:7: note: candidates are: 'class Animata::Drawable'
   31 | class Drawable
      |       ^~~~~~~~
In file included from /usr/include/X11/Xlib.h:44,
                 from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/X.h:97:13: note:                 'typedef XID Drawable'
   97 | typedef XID Drawable;
      |             ^~~~~~~~
In file included from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/Xlib.h:2491:5: error: 'Drawable' has not been declared
 2491 |     Drawable  /* d */,
      |     ^~~~~~~~
/usr/include/X11/Xlib.h:2501:5: error: reference to 'Drawable' is ambiguous
 2501 |     Drawable  /* d */,
      |     ^~~~~~~~
In file included from src/Mesh.h:33,
                 from src/animata.h:45,
                 from src/animataUI.h:9,
                 from src/animataUI.cpp:3:
src/Drawable.h:31:7: note: candidates are: 'class Animata::Drawable'
   31 | class Drawable
      |       ^~~~~~~~
In file included from /usr/include/X11/Xlib.h:44,
                 from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/X.h:97:13: note:                 'typedef XID Drawable'
   97 | typedef XID Drawable;
      |             ^~~~~~~~
In file included from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/Xlib.h:2501:5: error: 'Drawable' has not been declared
 2501 |     Drawable  /* d */,
      |     ^~~~~~~~
/usr/include/X11/Xlib.h:2622:5: error: reference to 'Drawable' is ambiguous
 2622 |     Drawable  /* d */,
      |     ^~~~~~~~
In file included from src/Mesh.h:33,
                 from src/animata.h:45,
                 from src/animataUI.h:9,
                 from src/animataUI.cpp:3:
src/Drawable.h:31:7: note: candidates are: 'class Animata::Drawable'
   31 | class Drawable
      |       ^~~~~~~~
In file included from /usr/include/X11/Xlib.h:44,
                 from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/X.h:97:13: note:                 'typedef XID Drawable'
   97 | typedef XID Drawable;
      |             ^~~~~~~~
In file included from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/Xlib.h:2622:5: error: 'Drawable' has not been declared
 2622 |     Drawable  /* d */,
      |     ^~~~~~~~
/usr/include/X11/Xlib.h:2905:5: error: reference to 'Drawable' is ambiguous
 2905 |     Drawable  /* d */,
      |     ^~~~~~~~
In file included from src/Mesh.h:33,
                 from src/animata.h:45,
                 from src/animataUI.h:9,
                 from src/animataUI.cpp:3:
src/Drawable.h:31:7: note: candidates are: 'class Animata::Drawable'
   31 | class Drawable
      |       ^~~~~~~~
In file included from /usr/include/X11/Xlib.h:44,
                 from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/X.h:97:13: note:                 'typedef XID Drawable'
   97 | typedef XID Drawable;
      |             ^~~~~~~~
In file included from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/Xlib.h:2905:5: error: 'Drawable' has not been declared
 2905 |     Drawable  /* d */,
      |     ^~~~~~~~
/usr/include/X11/Xlib.h:2922:5: error: reference to 'Drawable' is ambiguous
 2922 |     Drawable  /* d */,
      |     ^~~~~~~~
In file included from src/Mesh.h:33,
                 from src/animata.h:45,
                 from src/animataUI.h:9,
                 from src/animataUI.cpp:3:
src/Drawable.h:31:7: note: candidates are: 'class Animata::Drawable'
   31 | class Drawable
      |       ^~~~~~~~
In file included from /usr/include/X11/Xlib.h:44,
                 from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/X.h:97:13: note:                 'typedef XID Drawable'
   97 | typedef XID Drawable;
      |             ^~~~~~~~
In file included from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/Xlib.h:2922:5: error: 'Drawable' has not been declared
 2922 |     Drawable  /* d */,
      |     ^~~~~~~~
/usr/include/X11/Xlib.h:2932:5: error: reference to 'Drawable' is ambiguous
 2932 |     Drawable  /* which_screen */,
      |     ^~~~~~~~
In file included from src/Mesh.h:33,
                 from src/animata.h:45,
                 from src/animataUI.h:9,
                 from src/animataUI.cpp:3:
src/Drawable.h:31:7: note: candidates are: 'class Animata::Drawable'
   31 | class Drawable
      |       ^~~~~~~~
In file included from /usr/include/X11/Xlib.h:44,
                 from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/X.h:97:13: note:                 'typedef XID Drawable'
   97 | typedef XID Drawable;
      |             ^~~~~~~~
In file included from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/Xlib.h:2932:5: error: 'Drawable' has not been declared
 2932 |     Drawable  /* which_screen */,
      |     ^~~~~~~~
/usr/include/X11/Xlib.h:2941:5: error: reference to 'Drawable' is ambiguous
 2941 |     Drawable  /* which_screen */,
      |     ^~~~~~~~
In file included from src/Mesh.h:33,
                 from src/animata.h:45,
                 from src/animataUI.h:9,
                 from src/animataUI.cpp:3:
src/Drawable.h:31:7: note: candidates are: 'class Animata::Drawable'
   31 | class Drawable
      |       ^~~~~~~~
In file included from /usr/include/X11/Xlib.h:44,
                 from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/X.h:97:13: note:                 'typedef XID Drawable'
   97 | typedef XID Drawable;
      |             ^~~~~~~~
In file included from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/Xlib.h:2941:5: error: 'Drawable' has not been declared
 2941 |     Drawable  /* which_screen */,
      |     ^~~~~~~~
/usr/include/X11/Xlib.h:2950:5: error: reference to 'Drawable' is ambiguous
 2950 |     Drawable  /* which_screen */,
      |     ^~~~~~~~
In file included from src/Mesh.h:33,
                 from src/animata.h:45,
                 from src/animataUI.h:9,
                 from src/animataUI.cpp:3:
src/Drawable.h:31:7: note: candidates are: 'class Animata::Drawable'
   31 | class Drawable
      |       ^~~~~~~~
In file included from /usr/include/X11/Xlib.h:44,
                 from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/X.h:97:13: note:                 'typedef XID Drawable'
   97 | typedef XID Drawable;
      |             ^~~~~~~~
In file included from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/Xlib.h:2950:5: error: 'Drawable' has not been declared
 2950 |     Drawable  /* which_screen */,
      |     ^~~~~~~~
/usr/include/X11/Xlib.h:3033:5: error: reference to 'Drawable' is ambiguous
 3033 |     Drawable   /* d */,
      |     ^~~~~~~~
In file included from src/Mesh.h:33,
                 from src/animata.h:45,
                 from src/animataUI.h:9,
                 from src/animataUI.cpp:3:
src/Drawable.h:31:7: note: candidates are: 'class Animata::Drawable'
   31 | class Drawable
      |       ^~~~~~~~
In file included from /usr/include/X11/Xlib.h:44,
                 from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/X.h:97:13: note:                 'typedef XID Drawable'
   97 | typedef XID Drawable;
      |             ^~~~~~~~
In file included from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/Xlib.h:3033:5: error: 'Drawable' has not been declared
 3033 |     Drawable   /* d */,
      |     ^~~~~~~~
/usr/include/X11/Xlib.h:3732:5: error: reference to 'Drawable' is ambiguous
 3732 |     Drawable  /* d */,
      |     ^~~~~~~~
In file included from src/Mesh.h:33,
                 from src/animata.h:45,
                 from src/animataUI.h:9,
                 from src/animataUI.cpp:3:
src/Drawable.h:31:7: note: candidates are: 'class Animata::Drawable'
   31 | class Drawable
      |       ^~~~~~~~
In file included from /usr/include/X11/Xlib.h:44,
                 from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/X.h:97:13: note:                 'typedef XID Drawable'
   97 | typedef XID Drawable;
      |             ^~~~~~~~
In file included from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/Xlib.h:3732:5: error: 'Drawable' has not been declared
 3732 |     Drawable  /* d */,
      |     ^~~~~~~~
/usr/include/X11/Xlib.h:3742:5: error: reference to 'Drawable' is ambiguous
 3742 |     Drawable  /* d */,
      |     ^~~~~~~~
In file included from src/Mesh.h:33,
                 from src/animata.h:45,
                 from src/animataUI.h:9,
                 from src/animataUI.cpp:3:
src/Drawable.h:31:7: note: candidates are: 'class Animata::Drawable'
   31 | class Drawable
      |       ^~~~~~~~
In file included from /usr/include/X11/Xlib.h:44,
                 from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/X.h:97:13: note:                 'typedef XID Drawable'
   97 | typedef XID Drawable;
      |             ^~~~~~~~
In file included from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/Xlib.h:3742:5: error: 'Drawable' has not been declared
 3742 |     Drawable  /* d */,
      |     ^~~~~~~~
/usr/include/X11/Xlib.h:3752:5: error: reference to 'Drawable' is ambiguous
 3752 |     Drawable  /* d */,
      |     ^~~~~~~~
In file included from src/Mesh.h:33,
                 from src/animata.h:45,
                 from src/animataUI.h:9,
                 from src/animataUI.cpp:3:
src/Drawable.h:31:7: note: candidates are: 'class Animata::Drawable'
   31 | class Drawable
      |       ^~~~~~~~
In file included from /usr/include/X11/Xlib.h:44,
                 from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/X.h:97:13: note:                 'typedef XID Drawable'
   97 | typedef XID Drawable;
      |             ^~~~~~~~
In file included from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/Xlib.h:3752:5: error: 'Drawable' has not been declared
 3752 |     Drawable  /* d */,
      |     ^~~~~~~~
/usr/include/X11/Xlib.h:3762:5: error: reference to 'Drawable' is ambiguous
 3762 |     Drawable  /* d */,
      |     ^~~~~~~~
In file included from src/Mesh.h:33,
                 from src/animata.h:45,
                 from src/animataUI.h:9,
                 from src/animataUI.cpp:3:
src/Drawable.h:31:7: note: candidates are: 'class Animata::Drawable'
   31 | class Drawable
      |       ^~~~~~~~
In file included from /usr/include/X11/Xlib.h:44,
                 from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/X.h:97:13: note:                 'typedef XID Drawable'
   97 | typedef XID Drawable;
      |             ^~~~~~~~
In file included from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/Xlib.h:3762:5: error: 'Drawable' has not been declared
 3762 |     Drawable  /* d */,
      |     ^~~~~~~~
/usr/include/X11/Xlib.h:3773:5: error: reference to 'Drawable' is ambiguous
 3773 |     Drawable  /* d */,
      |     ^~~~~~~~
In file included from src/Mesh.h:33,
                 from src/animata.h:45,
                 from src/animataUI.h:9,
                 from src/animataUI.cpp:3:
src/Drawable.h:31:7: note: candidates are: 'class Animata::Drawable'
   31 | class Drawable
      |       ^~~~~~~~
In file included from /usr/include/X11/Xlib.h:44,
                 from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/X.h:97:13: note:                 'typedef XID Drawable'
   97 | typedef XID Drawable;
      |             ^~~~~~~~
In file included from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/Xlib.h:3773:5: error: 'Drawable' has not been declared
 3773 |     Drawable  /* d */,
      |     ^~~~~~~~
/usr/include/X11/Xlib.h:3784:5: error: reference to 'Drawable' is ambiguous
 3784 |     Drawable  /* d */,
      |     ^~~~~~~~
In file included from src/Mesh.h:33,
                 from src/animata.h:45,
                 from src/animataUI.h:9,
                 from src/animataUI.cpp:3:
src/Drawable.h:31:7: note: candidates are: 'class Animata::Drawable'
   31 | class Drawable
      |       ^~~~~~~~
In file included from /usr/include/X11/Xlib.h:44,
                 from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/X.h:97:13: note:                 'typedef XID Drawable'
   97 | typedef XID Drawable;
      |             ^~~~~~~~
In file included from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/Xlib.h:3784:5: error: 'Drawable' has not been declared
 3784 |     Drawable  /* d */,
      |     ^~~~~~~~
/usr/include/X11/Xlib.h:3795:5: error: reference to 'Drawable' is ambiguous
 3795 |     Drawable  /* d */,
      |     ^~~~~~~~
In file included from src/Mesh.h:33,
                 from src/animata.h:45,
                 from src/animataUI.h:9,
                 from src/animataUI.cpp:3:
src/Drawable.h:31:7: note: candidates are: 'class Animata::Drawable'
   31 | class Drawable
      |       ^~~~~~~~
In file included from /usr/include/X11/Xlib.h:44,
                 from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/X.h:97:13: note:                 'typedef XID Drawable'
   97 | typedef XID Drawable;
      |             ^~~~~~~~
In file included from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/Xlib.h:3795:5: error: 'Drawable' has not been declared
 3795 |     Drawable  /* d */,
      |     ^~~~~~~~
/usr/include/X11/Xlib.h:3806:5: error: reference to 'Drawable' is ambiguous
 3806 |     Drawable  /* d */,
      |     ^~~~~~~~
In file included from src/Mesh.h:33,
                 from src/animata.h:45,
                 from src/animataUI.h:9,
                 from src/animataUI.cpp:3:
src/Drawable.h:31:7: note: candidates are: 'class Animata::Drawable'
   31 | class Drawable
      |       ^~~~~~~~
In file included from /usr/include/X11/Xlib.h:44,
                 from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/X.h:97:13: note:                 'typedef XID Drawable'
   97 | typedef XID Drawable;
      |             ^~~~~~~~
In file included from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/Xlib.h:3806:5: error: 'Drawable' has not been declared
 3806 |     Drawable  /* d */,
      |     ^~~~~~~~
/usr/include/X11/Xlib.h:3817:5: error: reference to 'Drawable' is ambiguous
 3817 |     Drawable  /* d */,
      |     ^~~~~~~~
In file included from src/Mesh.h:33,
                 from src/animata.h:45,
                 from src/animataUI.h:9,
                 from src/animataUI.cpp:3:
src/Drawable.h:31:7: note: candidates are: 'class Animata::Drawable'
   31 | class Drawable
      |       ^~~~~~~~
In file included from /usr/include/X11/Xlib.h:44,
                 from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/X.h:97:13: note:                 'typedef XID Drawable'
   97 | typedef XID Drawable;
      |             ^~~~~~~~
In file included from /usr/include/FL/x.H:37,
                 from /usr/include/FL/fl_draw.H:27,
                 from src/animataUI.cpp:1555:
/usr/include/X11/Xlib.h:3817:5: error: 'Drawable' has not been declared
 3817 |     Drawable  /* d */,
      |     ^~~~~~~~
scons: *** [build/animataUI.o] Error 1
scons: building terminated because of errors.

简而言之,src/animataUI.cpp 编译失败。
分析之后发现 Animata 类 Drawable 与 系统库 /usr/include/X11/Xlib.h 的 Drawable 类混淆了,遂将 Animata 类 Drawable 改为 ADrawable,相应地修改其他源码,最后构建成功。
这是 Garlic Player 之后第二个在遇到构建失败问题后依靠自己的分析判断,做出行动以后构建成功的 Linux 软件。Garlic Player 只是缺了 vlc 依赖,这个直接修改了源码并成功了,为构建积累了宝贵的经验。

后记

中国加油!武汉加油!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!