+ case "${usergroup_phase}" in
+ local run_cmd
+ run_cmd=run_su
+ shift
+ run_su /opt/local/bin/bmake all BATCH=1 DEPENDS_TARGET=/nonexistent WRKLOG=/tmp/bulklog/2bwm-0.3/work.log
+ su pbulk -c '"$@"' make /opt/local/bin/bmake all BATCH=1 DEPENDS_TARGET=/nonexistent WRKLOG=/tmp/bulklog/2bwm-0.3/work.log
=> Bootstrap dependency digest>=20211023: found digest-20220214
===> Building for 2bwm-0.3
=> Fixing makefile
gcc -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -D_FORTIFY_SOURCE=2 -I/opt/local/include -I/usr/include -Os -s -I/opt/local/include  -DTWOBWM_PATH=\"/opt/local/bin/2bwm\" -I/opt/local/include -I/usr/include -c 2bwm.c
In file included from 2bwm.c:30:
list.h: In function 'additem':
list.h:32:41: warning: implicit declaration of function 'malloc' [-Wimplicit-function-declaration]
   32 |     if (NULL == (item = (struct item *) malloc(sizeof (struct item)))) return NULL;
      |                                         ^~~~~~
list.h:32:41: warning: incompatible implicit declaration of built-in function 'malloc'
list.h:1:1: note: include '<stdlib.h>' or provide a declaration of 'malloc'
  +++ |+#include <stdlib.h>
    1 | #include <stdio.h>
list.h: In function 'delitem':
list.h:61:5: warning: implicit declaration of function 'free' [-Wimplicit-function-declaration]
   61 |     free(item);
      |     ^~~~
list.h:61:5: warning: incompatible implicit declaration of built-in function 'free'
list.h:61:5: note: include '<stdlib.h>' or provide a declaration of 'free'
list.h: In function 'freeitem':
list.h:69:9: warning: incompatible implicit declaration of built-in function 'free'
   69 |         free(item->data);
      |         ^~~~
list.h:69:9: note: include '<stdlib.h>' or provide a declaration of 'free'
list.h: In function 'delallitems':
list.h:85:9: warning: incompatible implicit declaration of built-in function 'free'
   85 |         free(item->data);
      |         ^~~~
list.h:85:9: note: include '<stdlib.h>' or provide a declaration of 'free'
2bwm.c: At top level:
2bwm.c:41:1: error: unknown type name 'xcb_ewmh_connection_t'; did you mean 'xcb_randr_connection_t'?
   41 | xcb_ewmh_connection_t *ewmh = NULL;        // Ewmh Connection.
      | ^~~~~~~~~~~~~~~~~~~~~
      | xcb_randr_connection_t
2bwm.c: In function 'twobwm_exit':
2bwm.c:219:2: warning: implicit declaration of function 'exit' [-Wimplicit-function-declaration]
  219 |  exit(EXIT_SUCCESS);
      |  ^~~~
2bwm.c:219:2: warning: incompatible implicit declaration of built-in function 'exit'
2bwm.c:158:1: note: include '<stdlib.h>' or provide a declaration of 'exit'
  157 | #include "config.h"
  +++ |+#include <stdlib.h>
  158 | 
2bwm.c:219:7: error: 'EXIT_SUCCESS' undeclared (first use in this function)
  219 |  exit(EXIT_SUCCESS);
      |       ^~~~~~~~~~~~
2bwm.c:219:7: note: each undeclared identifier is reported only once for each function it appears in
2bwm.c: In function 'updateclientlist':
2bwm.c:265:46: error: request for member '_NET_CLIENT_LIST' in something not a structure or union
  265 |  xcb_delete_property(conn, screen->root, ewmh->_NET_CLIENT_LIST);
      |                                              ^~
2bwm.c:266:46: error: request for member '_NET_CLIENT_LIST_STACKING' in something not a structure or union
  266 |  xcb_delete_property(conn, screen->root, ewmh->_NET_CLIENT_LIST_STACKING);
      |                                              ^~
2bwm.c:282:2: warning: incompatible implicit declaration of built-in function 'free'
  282 |  free(reply);
      |  ^~~~
2bwm.c:282:2: note: include '<stdlib.h>' or provide a declaration of 'free'
2bwm.c: In function 'cleanup':
2bwm.c:316:5: warning: incompatible implicit declaration of built-in function 'free'
  316 |     free(ev);
      |     ^~~~
2bwm.c:316:5: note: include '<stdlib.h>' or provide a declaration of 'free'
2bwm.c:334:6: warning: implicit declaration of function 'xcb_ewmh_connection_wipe' [-Wimplicit-function-declaration]
  334 |      xcb_ewmh_connection_wipe(ewmh);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~
2bwm.c: In function 'getwmdesktop':
2bwm.c:365:79: error: request for member '_NET_WM_DESKTOP' in something not a structure or union
  365 |     xcb_get_property_cookie_t cookie = xcb_get_property(conn, false, win, ewmh->_NET_WM_DESKTOP,
      |                                                                               ^~
2bwm.c:369:25: warning: incompatible implicit declaration of built-in function 'free'
  369 |         if(NULL!=reply) free(reply);
      |                         ^~~~
2bwm.c:369:25: note: include '<stdlib.h>' or provide a declaration of 'free'
2bwm.c:373:20: warning: incompatible implicit declaration of built-in function 'free'
  373 |     if(NULL!=reply)free(reply);
      |                    ^~~~
2bwm.c:373:20: note: include '<stdlib.h>' or provide a declaration of 'free'
2bwm.c: In function 'get_unkil_state':
2bwm.c:385:50: error: request for member '_NET_WM_STATE_DEMANDS_ATTENTION' in something not a structure or union
  385 |  cookie = xcb_get_property(conn, false, win, ewmh->_NET_WM_STATE_DEMANDS_ATTENTION,
      |                                                  ^~
2bwm.c:392:4: warning: incompatible implicit declaration of built-in function 'free'
  392 |    free(reply);
      |    ^~~~
2bwm.c:392:4: note: include '<stdlib.h>' or provide a declaration of 'free'
2bwm.c:399:3: warning: incompatible implicit declaration of built-in function 'free'
  399 |   free(reply);
      |   ^~~~
2bwm.c:399:3: note: include '<stdlib.h>' or provide a declaration of 'free'
2bwm.c: In function 'check_name':
2bwm.c:426:4: warning: incompatible implicit declaration of built-in function 'free'
  426 |    free(reply);
      |    ^~~~
2bwm.c:426:4: note: include '<stdlib.h>' or provide a declaration of 'free'
2bwm.c:431:19: warning: incompatible implicit declaration of built-in function 'malloc'
  431 |  wm_name_window = malloc(sizeof(char*) * (reply_len+1));;
      |                   ^~~~~~
2bwm.c:431:19: note: include '<stdlib.h>' or provide a declaration of 'malloc'
2bwm.c:436:3: warning: incompatible implicit declaration of built-in function 'free'
  436 |   free(reply);
      |   ^~~~
2bwm.c:436:3: note: include '<stdlib.h>' or provide a declaration of 'free'
2bwm.c:446:2: warning: incompatible implicit declaration of built-in function 'free'
  446 |  free(wm_name_window);
      |  ^~~~
2bwm.c:446:2: note: include '<stdlib.h>' or provide a declaration of 'free'
2bwm.c: In function 'addtoworkspace':
2bwm.c:468:9: error: request for member '_NET_WM_DESKTOP' in something not a structure or union
  468 |     ewmh->_NET_WM_DESKTOP, XCB_ATOM_CARDINAL, 32, 1,
      |         ^~
2bwm.c: In function 'addtoclientlist':
2bwm.c:474:72: error: request for member '_NET_CLIENT_LIST' in something not a structure or union
  474 |     xcb_change_property(conn, XCB_PROP_MODE_APPEND , screen->root, ewmh->_NET_CLIENT_LIST, XCB_ATOM_WINDOW, 32, 1,&id);
      |                                                                        ^~
2bwm.c:475:72: error: request for member '_NET_CLIENT_LIST_STACKING' in something not a structure or union
  475 |     xcb_change_property(conn, XCB_PROP_MODE_APPEND , screen->root, ewmh->_NET_CLIENT_LIST_STACKING, XCB_ATOM_WINDOW, 32, 1,&id);
      |                                                                        ^~
2bwm.c: In function 'changeworkspace_helper':
2bwm.c:490:2: warning: implicit declaration of function 'xcb_ewmh_set_current_desktop' [-Wimplicit-function-declaration]
  490 |  xcb_ewmh_set_current_desktop(ewmh, 0, ws);
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
2bwm.c:514:3: warning: incompatible implicit declaration of built-in function 'free'
  514 |   free(pointer);
      |   ^~~~
2bwm.c:514:3: note: include '<stdlib.h>' or provide a declaration of 'free'
2bwm.c: In function 'fixwindow':
2bwm.c:552:9: error: request for member '_NET_WM_DESKTOP' in something not a structure or union
  552 |     ewmh->_NET_WM_DESKTOP, XCB_ATOM_CARDINAL, 32, 1,
      |         ^~
2bwm.c:566:9: error: request for member '_NET_WM_DESKTOP' in something not a structure or union
  566 |     ewmh->_NET_WM_DESKTOP, XCB_ATOM_CARDINAL, 32, 1,
      |         ^~
2bwm.c: In function 'unkillablewindow':
2bwm.c:587:45: error: request for member '_NET_WM_STATE_DEMANDS_ATTENTION' in something not a structure or union
  587 |   xcb_delete_property(conn, client->id, ewmh->_NET_WM_STATE_DEMANDS_ATTENTION);
      |                                             ^~
2bwm.c:592:9: error: request for member '_NET_WM_STATE_DEMANDS_ATTENTION' in something not a structure or union
  592 |     ewmh->_NET_WM_STATE_DEMANDS_ATTENTION, XCB_ATOM_CARDINAL, 8, 1,
      |         ^~
2bwm.c: In function 'getcolor':
2bwm.c:637:10: warning: implicit declaration of function 'strtol'; did you mean 'strtok'? [-Wimplicit-function-declaration]
  637 |  rgb48 = strtol(strgroups, NULL, 16);
      |          ^~~~~~
      |          strtok
2bwm.c: In function 'newwin':
2bwm.c:891:8: error: request for member '_NET_WM_STATE' in something not a structure or union
  891 |    ewmh->_NET_WM_STATE, ewmh->_NET_WM_STATE, 32, 2, data);
      |        ^~
2bwm.c:891:29: error: request for member '_NET_WM_STATE' in something not a structure or union
  891 |    ewmh->_NET_WM_STATE, ewmh->_NET_WM_STATE, 32, 2, data);
      |                             ^~
2bwm.c: In function 'setupwin':
2bwm.c:908:2: error: unknown type name 'xcb_ewmh_get_atoms_reply_t'; did you mean 'xcb_intern_atom_reply_t'?
  908 |  xcb_ewmh_get_atoms_reply_t win_type;
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |  xcb_intern_atom_reply_t
2bwm.c:911:6: warning: implicit declaration of function 'xcb_ewmh_get_wm_window_type_reply' [-Wimplicit-function-declaration]
  911 |  if (xcb_ewmh_get_wm_window_type_reply(ewmh,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2bwm.c:912:17: warning: implicit declaration of function 'xcb_ewmh_get_wm_window_type' [-Wimplicit-function-declaration]
  912 |                 xcb_ewmh_get_wm_window_type(ewmh, win), &win_type, NULL)
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~
2bwm.c:915:27: error: request for member 'atoms_len' in something not a structure or union
  915 |   for (i = 0; i < win_type.atoms_len; i++) {
      |                           ^
2bwm.c:916:16: error: request for member 'atoms' in something not a structure or union
  916 |    a = win_type.atoms[i];
      |                ^
2bwm.c:917:17: error: request for member '_NET_WM_WINDOW_TYPE_TOOLBAR' in something not a structure or union
  917 |    if (a == ewmh->_NET_WM_WINDOW_TYPE_TOOLBAR || a
      |                 ^~
2bwm.c:918:13: error: request for member '_NET_WM_WINDOW_TYPE_DOCK' in something not a structure or union
  918 |      == ewmh->_NET_WM_WINDOW_TYPE_DOCK || a
      |             ^~
2bwm.c:919:13: error: request for member '_NET_WM_WINDOW_TYPE_DESKTOP' in something not a structure or union
  919 |      == ewmh->_NET_WM_WINDOW_TYPE_DESKTOP ) {
      |             ^~
2bwm.c:924:9: warning: implicit declaration of function 'xcb_ewmh_get_atoms_reply_wipe' [-Wimplicit-function-declaration]
  924 |         xcb_ewmh_get_atoms_reply_wipe(&win_type);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2bwm.c:941:11: warning: incompatible implicit declaration of built-in function 'malloc'
  941 |  client = malloc(sizeof(struct client));
      |           ^~~~~~
2bwm.c:941:11: note: include '<stdlib.h>' or provide a declaration of 'malloc'
2bwm.c: In function 'grabkeys':
2bwm.c:1046:2: warning: incompatible implicit declaration of built-in function 'free'
 1046 |  free(keycode); // allocated in xcb_get_keycodes()
      |  ^~~~
2bwm.c:1046:2: note: include '<stdlib.h>' or provide a declaration of 'free'
2bwm.c: In function 'setup_keyboard':
2bwm.c:1087:2: warning: incompatible implicit declaration of built-in function 'free'
 1087 |  free(reply);
      |  ^~~~
2bwm.c:1087:2: note: include '<stdlib.h>' or provide a declaration of 'free'
2bwm.c: In function 'setupscreen':
2bwm.c:1171:3: warning: incompatible implicit declaration of built-in function 'free'
 1171 |   free(attr);
      |   ^~~~
2bwm.c:1171:3: note: include '<stdlib.h>' or provide a declaration of 'free'
2bwm.c:1177:3: warning: incompatible implicit declaration of built-in function 'free'
 1177 |   free(reply);
      |   ^~~~
2bwm.c:1177:3: note: include '<stdlib.h>' or provide a declaration of 'free'
2bwm.c: In function 'getrandr':
2bwm.c:1227:2: warning: incompatible implicit declaration of built-in function 'free'
 1227 |  free(res);
      |  ^~~~
2bwm.c:1227:2: note: include '<stdlib.h>' or provide a declaration of 'free'
2bwm.c: In function 'getoutputs':
2bwm.c:1297:3: warning: incompatible implicit declaration of built-in function 'free'
 1297 |   free(crtc);
      |   ^~~~
2bwm.c:1297:3: note: include '<stdlib.h>' or provide a declaration of 'free'
2bwm.c:1325:3: warning: incompatible implicit declaration of built-in function 'free'
 1325 |   free(output);
      |   ^~~~
2bwm.c:1325:3: note: include '<stdlib.h>' or provide a declaration of 'free'
2bwm.c:1327:2: warning: incompatible implicit declaration of built-in function 'free'
 1327 |  free(name);
      |  ^~~~
2bwm.c:1327:2: note: include '<stdlib.h>' or provide a declaration of 'free'
2bwm.c: In function 'addmonitor':
2bwm.c:1400:24: warning: incompatible implicit declaration of built-in function 'malloc'
 1400 |  struct monitor *mon = malloc(sizeof(struct monitor));
      |                        ^~~~~~
2bwm.c:1400:24: note: include '<stdlib.h>' or provide a declaration of 'malloc'
2bwm.c: In function 'setfocus':
2bwm.c:1619:9: error: request for member '_NET_ACTIVE_WINDOW' in something not a structure or union
 1619 |     ewmh->_NET_ACTIVE_WINDOW, XCB_ATOM_WINDOW, 32, 1,
      |         ^~
2bwm.c:1635:8: error: request for member '_NET_WM_STATE' in something not a structure or union
 1635 |    ewmh->_NET_WM_STATE, ewmh->_NET_WM_STATE, 32, 2, data);
      |        ^~
2bwm.c:1635:29: error: request for member '_NET_WM_STATE' in something not a structure or union
 1635 |    ewmh->_NET_WM_STATE, ewmh->_NET_WM_STATE, 32, 2, data);
      |                             ^~
2bwm.c:1639:8: error: request for member '_NET_ACTIVE_WINDOW' in something not a structure or union
 1639 |    ewmh->_NET_ACTIVE_WINDOW, XCB_ATOM_WINDOW, 32, 1,&client->id);
      |        ^~
2bwm.c: In function 'snapwindow':
2bwm.c:1802:8: warning: implicit declaration of function 'abs' [-Wimplicit-function-declaration]
 1802 |    if (abs((win->x +win->width) - client->x
      |        ^~~
2bwm.c: In function 'unmaxwin':
2bwm.c:2088:8: error: request for member '_NET_WM_STATE' in something not a structure or union
 2088 |    ewmh->_NET_WM_STATE, XCB_ATOM_ATOM, 32, 0, NULL);
      |        ^~
2bwm.c: In function 'maxwin':
2bwm.c:2111:8: error: request for member '_NET_WM_STATE' in something not a structure or union
 2111 |    ewmh->_NET_WM_STATE, XCB_ATOM_ATOM, 32, 1, &ewmh->_NET_WM_STATE_FULLSCREEN);
      |        ^~
2bwm.c:2111:52: error: request for member '_NET_WM_STATE_FULLSCREEN' in something not a structure or union
 2111 |    ewmh->_NET_WM_STATE, XCB_ATOM_ATOM, 32, 1, &ewmh->_NET_WM_STATE_FULLSCREEN);
      |                                                    ^~
2bwm.c: In function 'hide':
2bwm.c:2248:7: error: request for member '_NET_WM_STATE_HIDDEN' in something not a structure or union
 2248 |   ewmh->_NET_WM_STATE_HIDDEN,
      |       ^~
2bwm.c:2258:8: error: request for member '_NET_WM_STATE' in something not a structure or union
 2258 |    ewmh->_NET_WM_STATE, ewmh->_NET_WM_STATE, 32, 3, data);
      |        ^~
2bwm.c:2258:29: error: request for member '_NET_WM_STATE' in something not a structure or union
 2258 |    ewmh->_NET_WM_STATE, ewmh->_NET_WM_STATE, 32, 3, data);
      |                             ^~
2bwm.c:2258:4: warning: passing argument 4 of 'xcb_change_property' makes integer from pointer without a cast [-Wint-conversion]
 2258 |    ewmh->_NET_WM_STATE, ewmh->_NET_WM_STATE, 32, 3, data);
      |    ^~~~~~~~~~~~~~~~~~~
      |    |
      |    long int *
In file included from /home/pbulk/build/wm/2bwm/work/.buildlink/include/xcb/xcb.h:209,
                 from /home/pbulk/build/wm/2bwm/work/.buildlink/include/xcb/randr.h:15,
                 from 2bwm.c:24:
/home/pbulk/build/wm/2bwm/work/.buildlink/include/xcb/xproto.h:6850:40: note: expected 'xcb_atom_t' {aka 'unsigned int'} but argument is of type 'long int *'
 6850 |                      xcb_atom_t        property,
      |                      ~~~~~~~~~~~~~~~~~~^~~~~~~~
2bwm.c:2258:25: warning: passing argument 5 of 'xcb_change_property' makes integer from pointer without a cast [-Wint-conversion]
 2258 |    ewmh->_NET_WM_STATE, ewmh->_NET_WM_STATE, 32, 3, data);
      |                         ^~~~~~~~~~~~~~~~~~~
      |                         |
      |                         long int *
In file included from /home/pbulk/build/wm/2bwm/work/.buildlink/include/xcb/xcb.h:209,
                 from /home/pbulk/build/wm/2bwm/work/.buildlink/include/xcb/randr.h:15,
                 from 2bwm.c:24:
/home/pbulk/build/wm/2bwm/work/.buildlink/include/xcb/xproto.h:6851:40: note: expected 'xcb_atom_t' {aka 'unsigned int'} but argument is of type 'long int *'
 6851 |                      xcb_atom_t        type,
      |                      ~~~~~~~~~~~~~~~~~~^~~~
2bwm.c: In function 'getpointer':
2bwm.c:2274:2: warning: incompatible implicit declaration of built-in function 'free'
 2274 |  free(pointer);
      |  ^~~~
2bwm.c:2274:2: note: include '<stdlib.h>' or provide a declaration of 'free'
2bwm.c: In function 'getgeom':
2bwm.c:2298:2: warning: incompatible implicit declaration of built-in function 'free'
 2298 |  free(geom);
      |  ^~~~
2bwm.c:2298:2: note: include '<stdlib.h>' or provide a declaration of 'free'
2bwm.c: In function 'deletewin':
2bwm.c:2387:8: error: request for member 'WM_PROTOCOLS' in something not a structure or union
 2387 |    ewmh->WM_PROTOCOLS);
      |        ^~
2bwm.c:2387:4: warning: passing argument 3 of 'xcb_icccm_get_wm_protocols_unchecked' makes integer from pointer without a cast [-Wint-conversion]
 2387 |    ewmh->WM_PROTOCOLS);
      |    ^~~~~~~~~~~~~~~~~~
      |    |
      |    long int *
In file included from 2bwm.c:26:
/home/pbulk/build/wm/2bwm/work/.buildlink/include/xcb/xcb_icccm.h:1003:75: note: expected 'xcb_atom_t' {aka 'unsigned int'} but argument is of type 'long int *'
 1003 |                                                                xcb_atom_t wm_protocol_atom);
      |                                                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~
2bwm.c:2401:18: error: request for member 'WM_PROTOCOLS' in something not a structure or union
 2401 |      .type = ewmh->WM_PROTOCOLS,
      |                  ^~
2bwm.c:2401:14: warning: initialization of 'unsigned int' from 'long int *' makes integer from pointer without a cast [-Wint-conversion]
 2401 |      .type = ewmh->WM_PROTOCOLS,
      |              ^~~~
2bwm.c:2401:14: note: (near initialization for 'ev.type')
2bwm.c: In function 'mousemotion':
2bwm.c:2730:3: warning: incompatible implicit declaration of built-in function 'free'
 2730 |   free(pointer);
      |   ^~~~
2bwm.c:2730:3: note: include '<stdlib.h>' or provide a declaration of 'free'
2bwm.c:2761:3: warning: incompatible implicit declaration of built-in function 'free'
 2761 |   free(grab_reply);
      |   ^~~~
2bwm.c:2761:3: note: include '<stdlib.h>' or provide a declaration of 'free'
2bwm.c:2769:2: warning: incompatible implicit declaration of built-in function 'free'
 2769 |  free(grab_reply);
      |  ^~~~
2bwm.c:2769:2: note: include '<stdlib.h>' or provide a declaration of 'free'
2bwm.c: In function 'clientmessage':
2bwm.c:2854:22: error: request for member '_NET_ACTIVE_WINDOW' in something not a structure or union
 2854 |    || e->type == ewmh->_NET_ACTIVE_WINDOW) {
      |                      ^~
2bwm.c:2854:15: warning: comparison between pointer and integer
 2854 |    || e->type == ewmh->_NET_ACTIVE_WINDOW) {
      |               ^~
2bwm.c:2861:23: error: request for member '_NET_ACTIVE_WINDOW' in something not a structure or union
 2861 |    if (e->type == ewmh->_NET_ACTIVE_WINDOW)
      |                       ^~
2bwm.c:2861:16: warning: comparison between pointer and integer
 2861 |    if (e->type == ewmh->_NET_ACTIVE_WINDOW)
      |                ^~
2bwm.c:2873:26: error: request for member '_NET_CURRENT_DESKTOP' in something not a structure or union
 2873 |  else if (e->type == ewmh->_NET_CURRENT_DESKTOP)
      |                          ^~
2bwm.c:2873:19: warning: comparison between pointer and integer
 2873 |  else if (e->type == ewmh->_NET_CURRENT_DESKTOP)
      |                   ^~
2bwm.c:2875:26: error: request for member '_NET_WM_STATE' in something not a structure or union
 2875 |  else if (e->type == ewmh->_NET_WM_STATE && e->format == 32) {
      |                          ^~
2bwm.c:2875:19: warning: comparison between pointer and integer
 2875 |  else if (e->type == ewmh->_NET_WM_STATE && e->format == 32) {
      |                   ^~
2bwm.c:2879:31: error: request for member '_NET_WM_STATE_FULLSCREEN' in something not a structure or union
 2879 |   if(e->data.data32[1] == ewmh->_NET_WM_STATE_FULLSCREEN
      |                               ^~
2bwm.c:2879:24: warning: comparison between pointer and integer
 2879 |   if(e->data.data32[1] == ewmh->_NET_WM_STATE_FULLSCREEN
      |                        ^~
2bwm.c:2880:33: error: request for member '_NET_WM_STATE_FULLSCREEN' in something not a structure or union
 2880 |     || e->data.data32[2] == ewmh->_NET_WM_STATE_FULLSCREEN) {
      |                                 ^~
2bwm.c:2880:26: warning: comparison between pointer and integer
 2880 |     || e->data.data32[2] == ewmh->_NET_WM_STATE_FULLSCREEN) {
      |                          ^~
2bwm.c:2882:10: error: 'XCB_EWMH_WM_STATE_REMOVE' undeclared (first use in this function)
 2882 |     case XCB_EWMH_WM_STATE_REMOVE:
      |          ^~~~~~~~~~~~~~~~~~~~~~~~
2bwm.c:2885:10: error: 'XCB_EWMH_WM_STATE_ADD' undeclared (first use in this function)
 2885 |     case XCB_EWMH_WM_STATE_ADD:
      |          ^~~~~~~~~~~~~~~~~~~~~
2bwm.c:2888:10: error: 'XCB_EWMH_WM_STATE_TOGGLE' undeclared (first use in this function)
 2888 |     case XCB_EWMH_WM_STATE_TOGGLE:
      |          ^~~~~~~~~~~~~~~~~~~~~~~~
2bwm.c: In function 'run':
2bwm.c:3030:4: warning: implicit declaration of function 'abort' [-Wimplicit-function-declaration]
 3030 |    abort();
      |    ^~~~~
2bwm.c:3030:4: warning: incompatible implicit declaration of built-in function 'abort'
2bwm.c:3030:4: note: include '<stdlib.h>' or provide a declaration of 'abort'
2bwm.c:3043:4: warning: incompatible implicit declaration of built-in function 'free'
 3043 |    free(ev);
      |    ^~~~
2bwm.c:3043:4: note: include '<stdlib.h>' or provide a declaration of 'free'
2bwm.c: In function 'getatom':
2bwm.c:3070:2: warning: incompatible implicit declaration of built-in function 'free'
 3070 |  free(rep);
      |  ^~~~
2bwm.c:3070:2: note: include '<stdlib.h>' or provide a declaration of 'free'
2bwm.c: In function 'ewmh_init':
2bwm.c:3102:15: warning: implicit declaration of function 'calloc' [-Wimplicit-function-declaration]
 3102 |  if (!(ewmh = calloc(1, sizeof(xcb_ewmh_connection_t))))
      |               ^~~~~~
2bwm.c:3102:15: warning: incompatible implicit declaration of built-in function 'calloc'
2bwm.c:3102:15: note: include '<stdlib.h>' or provide a declaration of 'calloc'
2bwm.c:3102:32: error: 'xcb_ewmh_connection_t' undeclared (first use in this function); did you mean 'xcb_randr_connection_t'?
 3102 |  if (!(ewmh = calloc(1, sizeof(xcb_ewmh_connection_t))))
      |                                ^~~~~~~~~~~~~~~~~~~~~
      |                                xcb_randr_connection_t
2bwm.c:3102:25: warning: passing argument 2 of 'calloc' makes integer from pointer without a cast [-Wint-conversion]
 3102 |  if (!(ewmh = calloc(1, sizeof(xcb_ewmh_connection_t))))
      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                         |
      |                         long int *
2bwm.c:3102:25: note: expected 'long unsigned int' but argument is of type 'long int *'
2bwm.c:3105:37: warning: implicit declaration of function 'xcb_ewmh_init_atoms' [-Wimplicit-function-declaration]
 3105 |  xcb_intern_atom_cookie_t *cookie = xcb_ewmh_init_atoms(conn, ewmh);
      |                                     ^~~~~~~~~~~~~~~~~~~
2bwm.c:3105:37: warning: initialization of 'xcb_intern_atom_cookie_t *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
2bwm.c:3106:6: warning: implicit declaration of function 'xcb_ewmh_init_atoms_replies' [-Wimplicit-function-declaration]
 3106 |  if(!xcb_ewmh_init_atoms_replies(ewmh, cookie, (void *)0)){
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
2bwm.c:3108:9: warning: incompatible implicit declaration of built-in function 'exit'
 3108 |         exit(1);
      |         ^~~~
2bwm.c:3108:9: note: include '<stdlib.h>' or provide a declaration of 'exit'
2bwm.c: In function 'setup':
2bwm.c:3131:2: warning: implicit declaration of function 'xcb_ewmh_set_wm_pid' [-Wimplicit-function-declaration]
 3131 |  xcb_ewmh_set_wm_pid(ewmh, screen->root, getpid());
      |  ^~~~~~~~~~~~~~~~~~~
2bwm.c:3132:2: warning: implicit declaration of function 'xcb_ewmh_set_wm_name'; did you mean 'xcb_icccm_set_wm_name'? [-Wimplicit-function-declaration]
 3132 |  xcb_ewmh_set_wm_name(ewmh, screen->root, 4, "2bwm");
      |  ^~~~~~~~~~~~~~~~~~~~
      |  xcb_icccm_set_wm_name
2bwm.c:3135:7: error: request for member '_NET_SUPPORTED' in something not a structure or union
 3135 |   ewmh->_NET_SUPPORTED,              ewmh->_NET_WM_DESKTOP,
      |       ^~
2bwm.c:3135:3: warning: initialization of 'unsigned int' from 'long int *' makes integer from pointer without a cast [-Wint-conversion]
 3135 |   ewmh->_NET_SUPPORTED,              ewmh->_NET_WM_DESKTOP,
      |   ^~~~
2bwm.c:3135:3: note: (near initialization for 'net_atoms[0]')
2bwm.c:3135:42: error: request for member '_NET_WM_DESKTOP' in something not a structure or union
 3135 |   ewmh->_NET_SUPPORTED,              ewmh->_NET_WM_DESKTOP,
      |                                          ^~
2bwm.c:3135:38: warning: initialization of 'unsigned int' from 'long int *' makes integer from pointer without a cast [-Wint-conversion]
 3135 |   ewmh->_NET_SUPPORTED,              ewmh->_NET_WM_DESKTOP,
      |                                      ^~~~
2bwm.c:3135:38: note: (near initialization for 'net_atoms[1]')
2bwm.c:3136:7: error: request for member '_NET_NUMBER_OF_DESKTOPS' in something not a structure or union
 3136 |   ewmh->_NET_NUMBER_OF_DESKTOPS,     ewmh->_NET_CURRENT_DESKTOP,
      |       ^~
2bwm.c:3136:3: warning: initialization of 'unsigned int' from 'long int *' makes integer from pointer without a cast [-Wint-conversion]
 3136 |   ewmh->_NET_NUMBER_OF_DESKTOPS,     ewmh->_NET_CURRENT_DESKTOP,
      |   ^~~~
2bwm.c:3136:3: note: (near initialization for 'net_atoms[2]')
2bwm.c:3136:42: error: request for member '_NET_CURRENT_DESKTOP' in something not a structure or union
 3136 |   ewmh->_NET_NUMBER_OF_DESKTOPS,     ewmh->_NET_CURRENT_DESKTOP,
      |                                          ^~
2bwm.c:3136:38: warning: initialization of 'unsigned int' from 'long int *' makes integer from pointer without a cast [-Wint-conversion]
 3136 |   ewmh->_NET_NUMBER_OF_DESKTOPS,     ewmh->_NET_CURRENT_DESKTOP,
      |                                      ^~~~
2bwm.c:3136:38: note: (near initialization for 'net_atoms[3]')
2bwm.c:3137:7: error: request for member '_NET_ACTIVE_WINDOW' in something not a structure or union
 3137 |   ewmh->_NET_ACTIVE_WINDOW,          ewmh->_NET_WM_ICON,
      |       ^~
2bwm.c:3137:3: warning: initialization of 'unsigned int' from 'long int *' makes integer from pointer without a cast [-Wint-conversion]
 3137 |   ewmh->_NET_ACTIVE_WINDOW,          ewmh->_NET_WM_ICON,
      |   ^~~~
2bwm.c:3137:3: note: (near initialization for 'net_atoms[4]')
2bwm.c:3137:42: error: request for member '_NET_WM_ICON' in something not a structure or union
 3137 |   ewmh->_NET_ACTIVE_WINDOW,          ewmh->_NET_WM_ICON,
      |                                          ^~
2bwm.c:3137:38: warning: initialization of 'unsigned int' from 'long int *' makes integer from pointer without a cast [-Wint-conversion]
 3137 |   ewmh->_NET_ACTIVE_WINDOW,          ewmh->_NET_WM_ICON,
      |                                      ^~~~
2bwm.c:3137:38: note: (near initialization for 'net_atoms[5]')
2bwm.c:3138:7: error: request for member '_NET_WM_STATE' in something not a structure or union
 3138 |   ewmh->_NET_WM_STATE,               ewmh->_NET_WM_NAME,
      |       ^~
2bwm.c:3138:3: warning: initialization of 'unsigned int' from 'long int *' makes integer from pointer without a cast [-Wint-conversion]
 3138 |   ewmh->_NET_WM_STATE,               ewmh->_NET_WM_NAME,
      |   ^~~~
2bwm.c:3138:3: note: (near initialization for 'net_atoms[6]')
2bwm.c:3138:42: error: request for member '_NET_WM_NAME' in something not a structure or union
 3138 |   ewmh->_NET_WM_STATE,               ewmh->_NET_WM_NAME,
      |                                          ^~
2bwm.c:3138:38: warning: initialization of 'unsigned int' from 'long int *' makes integer from pointer without a cast [-Wint-conversion]
 3138 |   ewmh->_NET_WM_STATE,               ewmh->_NET_WM_NAME,
      |                                      ^~~~
2bwm.c:3138:38: note: (near initialization for 'net_atoms[7]')
2bwm.c:3139:7: error: request for member '_NET_SUPPORTING_WM_CHECK' in something not a structure or union
 3139 |   ewmh->_NET_SUPPORTING_WM_CHECK ,   ewmh->_NET_WM_STATE_HIDDEN,
      |       ^~
2bwm.c:3139:3: warning: initialization of 'unsigned int' from 'long int *' makes integer from pointer without a cast [-Wint-conversion]
 3139 |   ewmh->_NET_SUPPORTING_WM_CHECK ,   ewmh->_NET_WM_STATE_HIDDEN,
      |   ^~~~
2bwm.c:3139:3: note: (near initialization for 'net_atoms[8]')
2bwm.c:3139:42: error: request for member '_NET_WM_STATE_HIDDEN' in something not a structure or union
 3139 |   ewmh->_NET_SUPPORTING_WM_CHECK ,   ewmh->_NET_WM_STATE_HIDDEN,
      |                                          ^~
2bwm.c:3139:38: warning: initialization of 'unsigned int' from 'long int *' makes integer from pointer without a cast [-Wint-conversion]
 3139 |   ewmh->_NET_SUPPORTING_WM_CHECK ,   ewmh->_NET_WM_STATE_HIDDEN,
      |                                      ^~~~
2bwm.c:3139:38: note: (near initialization for 'net_atoms[9]')
2bwm.c:3140:7: error: request for member '_NET_WM_ICON_NAME' in something not a structure or union
 3140 |   ewmh->_NET_WM_ICON_NAME,           ewmh->_NET_WM_WINDOW_TYPE,
      |       ^~
2bwm.c:3140:3: warning: initialization of 'unsigned int' from 'long int *' makes integer from pointer without a cast [-Wint-conversion]
 3140 |   ewmh->_NET_WM_ICON_NAME,           ewmh->_NET_WM_WINDOW_TYPE,
      |   ^~~~
2bwm.c:3140:3: note: (near initialization for 'net_atoms[10]')
2bwm.c:3140:42: error: request for member '_NET_WM_WINDOW_TYPE' in something not a structure or union
 3140 |   ewmh->_NET_WM_ICON_NAME,           ewmh->_NET_WM_WINDOW_TYPE,
      |                                          ^~
2bwm.c:3140:38: warning: initialization of 'unsigned int' from 'long int *' makes integer from pointer without a cast [-Wint-conversion]
 3140 |   ewmh->_NET_WM_ICON_NAME,           ewmh->_NET_WM_WINDOW_TYPE,
      |                                      ^~~~
2bwm.c:3140:38: note: (near initialization for 'net_atoms[11]')
2bwm.c:3141:7: error: request for member '_NET_WM_WINDOW_TYPE_DOCK' in something not a structure or union
 3141 |   ewmh->_NET_WM_WINDOW_TYPE_DOCK,    ewmh->_NET_WM_WINDOW_TYPE_DESKTOP,
      |       ^~
2bwm.c:3141:3: warning: initialization of 'unsigned int' from 'long int *' makes integer from pointer without a cast [-Wint-conversion]
 3141 |   ewmh->_NET_WM_WINDOW_TYPE_DOCK,    ewmh->_NET_WM_WINDOW_TYPE_DESKTOP,
      |   ^~~~
2bwm.c:3141:3: note: (near initialization for 'net_atoms[12]')
2bwm.c:3141:42: error: request for member '_NET_WM_WINDOW_TYPE_DESKTOP' in something not a structure or union
 3141 |   ewmh->_NET_WM_WINDOW_TYPE_DOCK,    ewmh->_NET_WM_WINDOW_TYPE_DESKTOP,
      |                                          ^~
2bwm.c:3141:38: warning: initialization of 'unsigned int' from 'long int *' makes integer from pointer without a cast [-Wint-conversion]
 3141 |   ewmh->_NET_WM_WINDOW_TYPE_DOCK,    ewmh->_NET_WM_WINDOW_TYPE_DESKTOP,
      |                                      ^~~~
2bwm.c:3141:38: note: (near initialization for 'net_atoms[13]')
2bwm.c:3142:7: error: request for member '_NET_WM_WINDOW_TYPE_TOOLBAR' in something not a structure or union
 3142 |   ewmh->_NET_WM_WINDOW_TYPE_TOOLBAR, ewmh->_NET_WM_PID,
      |       ^~
2bwm.c:3142:3: warning: initialization of 'unsigned int' from 'long int *' makes integer from pointer without a cast [-Wint-conversion]
 3142 |   ewmh->_NET_WM_WINDOW_TYPE_TOOLBAR, ewmh->_NET_WM_PID,
      |   ^~~~
2bwm.c:3142:3: note: (near initialization for 'net_atoms[14]')
2bwm.c:3142:42: error: request for member '_NET_WM_PID' in something not a structure or union
 3142 |   ewmh->_NET_WM_WINDOW_TYPE_TOOLBAR, ewmh->_NET_WM_PID,
      |                                          ^~
2bwm.c:3142:38: warning: initialization of 'unsigned int' from 'long int *' makes integer from pointer without a cast [-Wint-conversion]
 3142 |   ewmh->_NET_WM_WINDOW_TYPE_TOOLBAR, ewmh->_NET_WM_PID,
      |                                      ^~~~
2bwm.c:3142:38: note: (near initialization for 'net_atoms[15]')
2bwm.c:3143:7: error: request for member '_NET_CLIENT_LIST' in something not a structure or union
 3143 |   ewmh->_NET_CLIENT_LIST,            ewmh->_NET_CLIENT_LIST_STACKING,
      |       ^~
2bwm.c:3143:3: warning: initialization of 'unsigned int' from 'long int *' makes integer from pointer without a cast [-Wint-conversion]
 3143 |   ewmh->_NET_CLIENT_LIST,            ewmh->_NET_CLIENT_LIST_STACKING,
      |   ^~~~
2bwm.c:3143:3: note: (near initialization for 'net_atoms[16]')
2bwm.c:3143:42: error: request for member '_NET_CLIENT_LIST_STACKING' in something not a structure or union
 3143 |   ewmh->_NET_CLIENT_LIST,            ewmh->_NET_CLIENT_LIST_STACKING,
      |                                          ^~
2bwm.c:3143:38: warning: initialization of 'unsigned int' from 'long int *' makes integer from pointer without a cast [-Wint-conversion]
 3143 |   ewmh->_NET_CLIENT_LIST,            ewmh->_NET_CLIENT_LIST_STACKING,
      |                                      ^~~~
2bwm.c:3143:38: note: (near initialization for 'net_atoms[17]')
2bwm.c:3144:7: error: request for member 'WM_PROTOCOLS' in something not a structure or union
 3144 |   ewmh->WM_PROTOCOLS,                ewmh->_NET_WM_STATE,
      |       ^~
2bwm.c:3144:3: warning: initialization of 'unsigned int' from 'long int *' makes integer from pointer without a cast [-Wint-conversion]
 3144 |   ewmh->WM_PROTOCOLS,                ewmh->_NET_WM_STATE,
      |   ^~~~
2bwm.c:3144:3: note: (near initialization for 'net_atoms[18]')
2bwm.c:3144:42: error: request for member '_NET_WM_STATE' in something not a structure or union
 3144 |   ewmh->WM_PROTOCOLS,                ewmh->_NET_WM_STATE,
      |                                          ^~
2bwm.c:3144:38: warning: initialization of 'unsigned int' from 'long int *' makes integer from pointer without a cast [-Wint-conversion]
 3144 |   ewmh->WM_PROTOCOLS,                ewmh->_NET_WM_STATE,
      |                                      ^~~~
2bwm.c:3144:38: note: (near initialization for 'net_atoms[19]')
2bwm.c:3145:7: error: request for member '_NET_WM_STATE_DEMANDS_ATTENTION' in something not a structure or union
 3145 |   ewmh->_NET_WM_STATE_DEMANDS_ATTENTION,
      |       ^~
2bwm.c:3145:3: warning: initialization of 'unsigned int' from 'long int *' makes integer from pointer without a cast [-Wint-conversion]
 3145 |   ewmh->_NET_WM_STATE_DEMANDS_ATTENTION,
      |   ^~~~
2bwm.c:3145:3: note: (near initialization for 'net_atoms[20]')
2bwm.c:3146:7: error: request for member '_NET_WM_STATE_FULLSCREEN' in something not a structure or union
 3146 |   ewmh->_NET_WM_STATE_FULLSCREEN
      |       ^~
2bwm.c:3146:3: warning: initialization of 'unsigned int' from 'long int *' makes integer from pointer without a cast [-Wint-conversion]
 3146 |   ewmh->_NET_WM_STATE_FULLSCREEN
      |   ^~~~
2bwm.c:3146:3: note: (near initialization for 'net_atoms[21]')
2bwm.c:3149:2: warning: implicit declaration of function 'xcb_ewmh_set_supported' [-Wimplicit-function-declaration]
 3149 |  xcb_ewmh_set_supported(ewmh, scrno, LENGTH(net_atoms), net_atoms);
      |  ^~~~~~~~~~~~~~~~~~~~~~
2bwm.c:3171:23: warning: implicit declaration of function 'atoi' [-Wimplicit-function-declaration]
 3171 |    conf.borderwidth = atoi(value);
      |                       ^~~~
2bwm.c:3221:9: warning: incompatible implicit declaration of built-in function 'free'
 3221 |         free(error);
      |         ^~~~
2bwm.c:3221:9: note: include '<stdlib.h>' or provide a declaration of 'free'
2bwm.c:3225:2: warning: implicit declaration of function 'xcb_ewmh_set_number_of_desktops' [-Wimplicit-function-declaration]
 3225 |  xcb_ewmh_set_number_of_desktops(ewmh, scrno, WORKSPACES);
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2bwm.c: In function 'twobwm_restart':
2bwm.c:3254:3: warning: incompatible implicit declaration of built-in function 'free'
 3254 |   free(ewmh);
      |   ^~~~
2bwm.c:3254:3: note: include '<stdlib.h>' or provide a declaration of 'free'
2bwm.c: In function 'install_sig_handlers':
2bwm.c:3276:3: warning: incompatible implicit declaration of built-in function 'exit'
 3276 |   exit(-1);
      |   ^~~~
2bwm.c:3276:3: note: include '<stdlib.h>' or provide a declaration of 'exit'
2bwm.c:3283:3: warning: incompatible implicit declaration of built-in function 'exit'
 3283 |   exit(-1);
      |   ^~~~
2bwm.c:3283:3: note: include '<stdlib.h>' or provide a declaration of 'exit'
2bwm.c: In function 'main':
2bwm.c:3290:2: warning: implicit declaration of function 'atexit'; did you mean '_exit'? [-Wimplicit-function-declaration]
 3290 |  atexit(cleanup);
      |  ^~~~~~
      |  _exit
2bwm.c:3296:2: warning: incompatible implicit declaration of built-in function 'exit'
 3296 |  exit(sigcode);
      |  ^~~~
2bwm.c:3296:2: note: include '<stdlib.h>' or provide a declaration of 'exit'
*** [2bwm.o] Error code 1

bmake: stopped in /home/pbulk/build/wm/2bwm/work/2bwm-0.3
1 error

bmake: stopped in /home/pbulk/build/wm/2bwm/work/2bwm-0.3
*** Error code 2

Stop.
bmake[1]: stopped in /data/jenkins/workspace/pkgsrc-trunk-x86_64/wm/2bwm
*** Error code 1

Stop.
bmake: stopped in /data/jenkins/workspace/pkgsrc-trunk-x86_64/wm/2bwm