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

Compile error (PowerPC-le) #386

Closed
sagitter opened this issue Nov 1, 2016 · 4 comments
Closed

Compile error (PowerPC-le) #386

sagitter opened this issue Nov 1, 2016 · 4 comments
Labels
build Related to issues building dcss

Comments

@sagitter
Copy link

sagitter commented Nov 1, 2016

Hi all.

I'm building Crawl-0.19.0 on PowerPC64-le build-root for Fedora, compiler stops with this error:

g++ -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mcpu=power8 -mtune=power8 -std=c++11 -fPIC -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mcpu=power8 -mtune=power8 -fPIC -pipe    -DUSE_TILE -DUSE_TILE_LOCAL -DTOUCH_UI -DUSE_SDL -DUSE_GL -DUSE_FT   -D_REENTRANT -DUSE_SOUND -Wall -Wformat-security -Wundef -Wno-array-bounds -Wno-format-zero-length -Wmissing-declarations -Wredundant-decls -Wno-parentheses -Wwrite-strings -Wshadow -pedantic -Wuninitialized -Iutil -I. -isystem /usr/include/lua-5.1 -Irltiles  -isystem /usr/include/freetype2 -I/usr/include/libpng16 -isystem /usr/include/SDL2    -DWIZARD -DASSERTS -DPROPORTIONAL_FONT=\"/usr/share/fonts/bitstream-vera/Vera.ttf\" -DMONOSPACED_FONT=\"/usr/share/fonts/bitstream-vera/VeraMono.ttf\" -D_REENTRANT -DCLUA_BINDINGS -DSAVE_DIR_PATH=\"~/.crawl\" -DSHARED_DIR_PATH=\"/usr/share/crawl/dat\" -DDATA_DIR_PATH=\"/usr/share/crawl/\" -D_GNU_SOURCE -MMD -c glwrapper-ogl.cc -o glwrapper-ogl.o
In file included from windowmanager-sdl.cc:27:0:
cio.h:46:74: error: could not convert 'true' from 'bool' to '__vector(4) __bool int'
                             bool fake_ctrl = true, bool fake_shift = true);
                                                                          ^
cio.h:46:74: error: could not convert 'true' from 'bool' to '__vector(4) __bool int'
cio.h: In member function 'c_mouse_event::operator __vector(4) __bool int() const':
cio.h:105:16: error: cannot convert 'const int' to '__vector(4) __bool int' in return
         return bstate;
                ^~~~~~
cio.h: In member function '__vector(4) __bool int c_mouse_event::left_clicked() const':
cio.h:110:25: error: cannot convert 'int' to '__vector(4) __bool int' in return
         return bstate & BUTTON1;
                         ^~~~~~~
cio.h: In member function '__vector(4) __bool int c_mouse_event::right_clicked() const':
cio.h:115:25: error: cannot convert 'int' to '__vector(4) __bool int' in return
         return bstate & BUTTON3;
                         ^~~~~~~
cio.h: In member function '__vector(4) __bool int c_mouse_event::scroll_up() const':
cio.h:120:64: error: cannot convert 'int' to '__vector(4) __bool int' in return
         return bstate & (BUTTON4 | BUTTON4_DBL | BUTTON_SCRL_UP);
                                                                ^
cio.h: In member function '__vector(4) __bool int c_mouse_event::scroll_down() const':
cio.h:125:64: error: cannot convert 'int' to '__vector(4) __bool int' in return
         return bstate & (BUTTON2 | BUTTON2_DBL | BUTTON_SCRL_DN);
                                                                ^
cio.h: At global scope:
cio.h:131:66: error: could not convert 'false' from 'bool' to '__vector(4) __bool int'
 void          c_input_reset(bool enable_mouse, bool flush = false);
                                                                  ^
cio.h: In constructor 'cursor_control::cursor_control(__vector(4) __bool int)':
cio.h:212:77: error: cannot convert 'bool' to '__vector(4) __bool int' in initialization
         : cstate(is_cursor_enabled()), smartcstate(is_smart_cursor_enabled())
                                                                             ^
cio.h:212:77: error: cannot convert 'bool' to '__vector(4) __bool int' in initialization
cio.h:215:42: error: cannot convert '__vector(4) __bool int' to 'bool' for argument '1' to 'void set_cursor_enabled(bool)'
         set_cursor_enabled(cursor_enabled);
                                          ^
cio.h: In destructor 'cursor_control::~cursor_control()':
cio.h:219:34: error: cannot convert '__vector(4) __bool int' to 'bool' for argument '1' to 'void set_cursor_enabled(bool)'
         set_cursor_enabled(cstate);
                                  ^
cio.h:220:40: error: cannot convert '__vector(4) __bool int' to 'bool' for argument '1' to 'void enable_smart_cursor(bool)'
         enable_smart_cursor(smartcstate);
                                        ^
cio.h: At global scope:
cio.h:237:41: error: could not convert 'true' from 'bool' to '__vector(4) __bool int'
     int read_line(bool clear_previous = true);
                                         ^~~~
In file included from windowmanager-sdl.cc:28:0:
files.h:45:7: error: expected unqualified-id before '<' token
 vector<string> get_dir_files(const string &dir);
       ^
files.h:46:7: error: expected unqualified-id before '<' token
 vector<string> get_dir_files_ext(const string &dir, const string &ext);
       ^
files.h:47:7: error: expected unqualified-id before '<' token
 vector<string> get_dir_files_recursive(const string &dirname,
       ^
files.h:54:71: error: could not convert 'true' from 'bool' to '__vector(4) __bool int'
                      bool (*thing_exists)(const string&) = file_exists);
                                                                       ^
files.h:54:71: error: could not convert 'false' from 'bool' to '__vector(4) __bool int'
files.h:64:70: error: could not convert 'false' from 'bool' to '__vector(4) __bool int'
 bool check_mkdir(const string &what, string *dir, bool silent = false);
                                                                      ^
files.h:67:7: error: expected unqualified-id before '<' token
 vector<player_save_info> find_all_saved_characters();
       ^
files.h:77:7: error: expected unqualified-id before '<' token
 vector<string> get_title_files();
       ^
files.h:112:35: error: could not convert 'false' from 'bool' to '__vector(4) __bool int'
 void save_ghost(bool force = false);
                                   ^
files.h:126:76: error: could not convert 'true' from 'bool' to '__vector(4) __bool int'
     file_lock(const string &filename, const char *mode, bool die_on_fail = true);
                                                                            ^~~~
In file included from windowmanager-sdl.cc:29:0:
glwrapper.h:174:49: error: could not convert 'false' from 'bool' to '__vector(4) __bool int'
     static GLShapeBuffer *create(bool texture = false, bool colour = false,
                                                 ^~~~~
glwrapper.h:174:70: error: could not convert 'false' from 'bool' to '__vector(4) __bool int'
     static GLShapeBuffer *create(bool texture = false, bool colour = false,
                                                                      ^~~~~
In file included from windowmanager-sdl.cc:30:0:
libutil.h: In function '__vector(4) __bool int isadigit(int)':
libutil.h:31:29: error: cannot convert 'bool' to '__vector(4) __bool int' in return
     return c >= '0' && c <= '9';
                             ^~~
libutil.h: In function '__vector(4) __bool int isalower(int)':
libutil.h:37:29: error: cannot convert 'bool' to '__vector(4) __bool int' in return
     return c >= 'a' && c <= 'z';
                             ^~~
libutil.h: In function '__vector(4) __bool int isaupper(int)':
libutil.h:42:29: error: cannot convert 'bool' to '__vector(4) __bool int' in return
     return c >= 'A' && c <= 'Z';
                             ^~~
libutil.h: In function '__vector(4) __bool int isaalpha(int)':
libutil.h:47:59: error: cannot convert 'bool' to '__vector(4) __bool int' in return
     return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z');
                                                           ^
libutil.h: In function '__vector(4) __bool int isaalnum(int)':
libutil.h:52:85: error: cannot convert 'bool' to '__vector(4) __bool int' in return
     return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9');
                                                                                     ^
libutil.h: In function 'char32_t toalower(char32_t)':
libutil.h:57:42: error: cannot convert '__vector(4) unsigned int' to 'char32_t' in return
     return isaupper(c) ? c + 'a' - 'A' : c;
                                          ^
libutil.h: In function 'int toalower(int)':
libutil.h:63:42: error: cannot convert '__vector(4) int' to 'int' in return
     return isaupper(c) ? c + 'a' - 'A' : c;
                                          ^
libutil.h: At global scope:
libutil.h:73:64: error: could not convert 'false' from 'bool' to '__vector(4) __bool int'
 bool strip_tag(string &s, const string &tag, bool nopad = false);
                                                                ^
libutil.h:75:7: error: expected unqualified-id before '<' token
 vector<string> strip_multiple_tag_prefix(string &s, const string &tagprefix);
       ^
libutil.h:104:16: error: variable or field 'erase_any' declared void
 void erase_any(vector<Z> &vec, unsigned long which)
                ^
libutil.h:104:16: error: expected primary-expression before '__attribute__'
 void erase_any(vector<Z> &vec, unsigned long which)
                ^
libutil.h:104:32: error: expected primary-expression before 'unsigned'
 void erase_any(vector<Z> &vec, unsigned long which)
                                ^~~~~~~~
libutil.h: In function '__vector(4) __bool int testbits(uint64_t, uint64_t)':
libutil.h:231:30: error: cannot convert 'bool' to '__vector(4) __bool int' in return
     return (flags & test) == test;
                              ^~~~
In file included from feature.h:4:0,
                 from options.h:6,
                 from windowmanager-sdl.cc:31:
show.h: In member function 'show_type::operator __vector(4) __bool int() const':
show.h:57:43: error: cannot convert 'bool' to '__vector(4) __bool int' in return
     operator bool() const { return cls != SH_NOTHING; }
                                           ^~~~~~~~~~
show.h: At global scope:
show.h:87:84: error: could not convert 'false' from 'bool' to '__vector(4) __bool int'
 void update_item_at(const coord_def &gp, bool detected = false, bool wizard = false);
                                                                                    ^
show.h:87:84: error: could not convert 'false' from 'bool' to '__vector(4) __bool int'
In file included from options.h:6:0,
                 from windowmanager-sdl.cc:31:
feature.h: In member function '__vector(4) __bool int feature_def::is_notable() const':
feature.h:47:46: error: cannot convert 'unsigned int' to '__vector(4) __bool int' in return
     bool is_notable() const { return flags & FFT_NOTABLE; }
                                              ^~~~~~~~~~~
In file included from newgame_def.h:4:0,
                 from options.h:7,
                 from windowmanager-sdl.cc:31:
itemprop-enum.h: At global scope:
itemprop-enum.h:303:13: error: expected unqualified-id before '<' token
 const vector<misc_item_type> deck_types =
             ^
itemprop-enum.h:316:13: error: expected unqualified-id before '<' token
 const vector<misc_item_type> misc_types =
             ^
In file included from options.h:7:0,
                 from windowmanager-sdl.cc:31:
newgame_def.h:21:11: error: expected unqualified-id before '<' token
     vector<string> allowed_combos;
           ^
newgame_def.h:22:11: error: expected unqualified-id before '<' token
     vector<species_type> allowed_species;
           ^
newgame_def.h:23:11: error: expected unqualified-id before '<' token
     vector<job_type> allowed_jobs;
           ^
newgame_def.h:24:11: error: expected unqualified-id before '<' token
     vector<weapon_type> allowed_weapons;
           ^
In file included from windowmanager-sdl.cc:31:0:
options.h: In member function '__vector(4) __bool int message_filter::operator==(const message_filter&) const':
options.h:33:55: error: cannot convert 'bool' to '__vector(4) __bool int' in return
         return channel == mf.channel && pattern == mf.pattern;
                                                       ^~~~~~~
options.h: In member function '__vector(4) __bool int message_filter::is_filtered(int, const string&) const':
options.h:38:59: error: cannot convert 'bool' to '__vector(4) __bool int' in initialization
         bool channel_match = ch == channel || channel == -1;
                                                           ^
options.h:39:28: error: could not convert '(#'vec_cond_expr' not supported by dump_expr#<expression error> | (((const message_filter*)this)->message_filter::pattern.text_pattern::empty() ? (__vector(4) int){-1, -1, -1, -1} : (__vector(4) int){0, 0, 0, 0}))' from '__vector(4) int' to 'bool'
         if (!channel_match || pattern.empty())
             ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
options.h:41:33: error: cannot convert 'bool' to '__vector(4) __bool int' in return
         return pattern.matches(s);
                                 ^
options.h: In member function '__vector(4) __bool int sound_mapping::operator==(const sound_mapping&) const':
options.h:51:55: error: cannot convert 'bool' to '__vector(4) __bool int' in return
         return pattern == o.pattern && soundfile == o.soundfile;
                                                       ^~~~~~~~~
options.h: In member function '__vector(4) __bool int colour_mapping::operator==(const colour_mapping&) const':
options.h:62:68: error: cannot convert 'bool' to '__vector(4) __bool int' in return
         return tag == o.tag && pattern == o.pattern && colour == o.colour;
                                                                    ^~~~~~
options.h: At global scope:
options.h:127:41: error: expected ',' or '...' before '<' token
                             const vector<string> *rcdirs = nullptr);
                                         ^
options.h:144:11: error: expected unqualified-id before '<' token
     vector<item_glyph_override_type > item_glyph_overrides;
           ^
options.h:154:11: error: expected unqualified-id before '<' token
     vector<string> additional_macro_files;
           ^
options.h:252:11: error: expected unqualified-id before '<' token
     vector<unsigned> fire_order;  // missile search order for 'f' command
           ^
options.h:261:11: error: expected unqualified-id before '<' token
     vector<string> pizzas;
           ^
options.h:267:11: error: expected unqualified-id before '<' token
     vector<string> terp_files; // Lua files to load for luaterp
           ^
options.h:274:11: error: expected unqualified-id before '<' token
     vector<pair<int, int> > hp_colour;
           ^
options.h:275:11: error: expected unqualified-id before '<' token
     vector<pair<int, int> > mp_colour;
           ^
options.h:276:11: error: expected unqualified-id before '<' token
     vector<pair<int, int> > stat_colour;
           ^
options.h:277:11: error: expected unqualified-id before '<' token
     vector<int> enemy_hp_colour;
           ^
options.h:280:11: error: expected unqualified-id before '<' token
     vector<pair<text_pattern, bool> > force_autopickup;
           ^
options.h:281:11: error: expected unqualified-id before '<' token
     vector<text_pattern> note_monsters;  // Interesting monsters
           ^
options.h:282:11: error: expected unqualified-id before '<' token
     vector<text_pattern> note_messages;  // Interesting messages
           ^
options.h:283:11: error: expected unqualified-id before '<' token
     vector<pair<text_pattern, string> > autoinscriptions;
           ^
options.h:284:11: error: expected unqualified-id before '<' token
     vector<text_pattern> note_items;     // Objects to note
           ^
options.h:287:11: error: expected unqualified-id before '<' token
     vector<pair<text_pattern, string>> auto_spell_letters;
           ^
options.h:288:11: error: expected unqualified-id before '<' token
     vector<pair<text_pattern, string>> auto_item_letters;
           ^
options.h:289:11: error: expected unqualified-id before '<' token
     vector<pair<text_pattern, string>> auto_ability_letters;
           ^
options.h:304:11: error: expected unqualified-id before '<' token
     vector<message_filter> force_more_message;
           ^
options.h:305:11: error: expected unqualified-id before '<' token
     vector<message_filter> flash_screen_message;
           ^
options.h:306:11: error: expected unqualified-id before '<' token
     vector<text_pattern> confirm_action;
           ^
options.h:313:11: error: expected unqualified-id before '<' token
     vector<text_pattern> auto_exclude; // Automatically set an exclusion
           ^
options.h:338:11: error: expected unqualified-id before '<' token
     vector<text_pattern> explore_stop_pickup_ignore;
           ^
options.h:353:11: error: expected unqualified-id before '<' token
     vector<sound_mapping> sound_mappings;
           ^
options.h:354:11: error: expected unqualified-id before '<' token
     vector<colour_mapping> menu_colour_mappings;
           ^
options.h:355:11: error: expected unqualified-id before '<' token
     vector<message_colour_mapping> message_colour_mappings;
           ^
options.h:357:11: error: expected unqualified-id before '<' token
     vector<menu_sort_condition> sort_menus;
           ^
options.h:368:11: error: expected unqualified-id before '<' token
     vector<string> dump_order;
           ^
options.h:385:11: error: expected unqualified-id before '<' token
     vector<text_pattern> drop_filter;
           ^
options.h:420:11: error: expected unqualified-id before '<' token
     vector<flang_entry> fake_langs;       // The fake language(s) in use.
           ^
options.h:436:11: error: expected unqualified-id before '<' token
     vector<string> fsim_scale;
           ^
options.h:437:11: error: expected unqualified-id before '<' token
     vector<string> fsim_kit;
           ^
options.h:514:11: error: expected unqualified-id before '<' token
     vector<string> tile_layout_priority;
           ^
options.h:593:11: error: expected unqualified-id before '<' token
     vector<GameOption*> option_behaviour;
           ^
options.h:595:17: error: expected unqualified-id before '<' token
     const vector<GameOption*> build_options_list();
                 ^
options.h:596:60: error: expected ',' or '...' before '<' token
     map<string, GameOption*> build_options_map(const vector<GameOption*> &opts);
                                                            ^
options.h:115:62: error: could not convert 'false' from 'bool' to '__vector(4) __bool int'
     void read_option_line(const string &s, bool runscripts = false);
                                                              ^~~~~
options.h:117:44: error: could not convert 'true' from 'bool' to '__vector(4) __bool int'
                       bool clear_aliases = true);
                                            ^~~~
options.h:571:57: error: could not convert 'true' from 'bool' to '__vector(4) __bool int'
     void new_dump_fields(const string &text, bool add = true,
                                                         ^~~~
options.h:572:41: error: could not convert 'false' from 'bool' to '__vector(4) __bool int'
                          bool prepend = false);
                                         ^~~~~
options.h:579:37: error: could not convert 'false' from 'bool' to '__vector(4) __bool int'
                      bool prepend = false);
                                     ^~~~~
options.h: In member function '__vector(4) __bool int game_options::has_fake_lang(flang_t)':
options.h:423:29: error: 'fake_langs' was not declared in this scope
         return any_of(begin(fake_langs), end(fake_langs),
                             ^~~~~~~~~~
In file included from windowmanager-sdl.cc:32:0:
syscalls.h: At global scope:
syscalls.h:13:53: error: could not convert 'false' from 'bool' to '__vector(4) __bool int'
 bool lock_file(int fd, bool write, bool wait = false);
                                                     ^
In file included from windowmanager-sdl.cc:33:0:
unicode.h:11:64: error: could not convert 'true' from 'bool' to '__vector(4) __bool int'
 string chop_string(const char *s, int width, bool spaces = true);
                                                                ^
unicode.h:12:66: error: could not convert 'true' from 'bool' to '__vector(4) __bool int'
 string chop_string(const string &s, int width, bool spaces = true);
                                                                  ^
unicode.h:13:71: error: could not convert 'true' from 'bool' to '__vector(4) __bool int'
 string chop_tagged_string(const char *s, int width, bool spaces = true);
                                                                       ^
unicode.h:14:73: error: could not convert 'true' from 'bool' to '__vector(4) __bool int'
 string chop_tagged_string(const string &s, int width, bool spaces = true);
                                                                         ^
unicode.h: In member function 'virtual __vector(4) __bool int LineInput::error()':
unicode.h:63:35: error: cannot convert 'bool' to '__vector(4) __bool int' in return
     virtual bool error() { return false; };
                                   ^~~~~
unicode.h: In member function 'virtual __vector(4) __bool int FileLineInput::error()':
unicode.h:85:37: error: cannot convert 'bool' to '__vector(4) __bool int' in return
     bool error() override { return !f; };
                                     ^
unicode.h: In member function 'virtual __vector(4) __bool int UTF8FileLineInput::error()':
unicode.h:99:37: error: cannot convert 'bool' to '__vector(4) __bool int' in return
     bool error() override { return !f; };
                                     ^
windowmanager-sdl.cc: In member function 'virtual int SDLWrapper::init(coord_def*, int*, int*)':
windowmanager-sdl.cc:401:69: error: cannot convert 'bool' to '__vector(4) __bool int' in initialization
     bool too_small = (_desktop_width < 1024 || _desktop_height < 800);
                                                                     ^
windowmanager-sdl.cc:403:9: error: could not convert '((((int)Options.game_options::tile_full_screen) == 1) ? (__vector(4) int){-1, -1, -1, -1} : #'vec_cond_expr' not supported by dump_expr#<expression error>)' from '__vector(4) int' to 'bool'
     if (Options.tile_full_screen == SCREENMODE_FULL
         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         || too_small && Options.tile_full_screen == SCREENMODE_AUTO)
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
windowmanager-sdl.cc: At global scope:
windowmanager-sdl.cc:513:6: error: prototype for '__vector(4) __bool int SDLWrapper::set_window_icon(const char*)' does not match any in class 'SDLWrapper'
 bool SDLWrapper::set_window_icon(const char* icon_name)
      ^~~~~~~~~~
In file included from windowmanager-sdl.cc:6:0:
windowmanager-sdl.h:25:18: error: candidate is: virtual bool SDLWrapper::set_window_icon(const char*)
     virtual bool set_window_icon(const char* icon_name) override;
                  ^~~~~~~~~~~~~~~
windowmanager-sdl.cc:825:6: error: prototype for '__vector(4) __bool int SDLWrapper::load_texture(GenericTexture*, const char*, MipMapOptions, unsigned int&, unsigned int&, tex_proc_func, __vector(4) __bool int)' does not match any in class 'SDLWrapper'
 bool SDLWrapper::load_texture(GenericTexture *tex, const char *filename,
      ^~~~~~~~~~
In file included from windowmanager-sdl.cc:6:0:
windowmanager-sdl.h:54:18: error: candidate is: virtual bool SDLWrapper::load_texture(GenericTexture*, const char*, MipMapOptions, unsigned int&, unsigned int&, tex_proc_func, bool)
     virtual bool load_texture(GenericTexture *tex, const char *filename,
                  ^~~~~~~~~~~~
windowmanager-sdl.cc:946:19: error: expected declaration before end of line
         ASSERT(pal);
                   ^

Build log: https://kojipkgs.fedoraproject.org//work/tasks/1398/16271398/build.log

(Does not happen on other architecture like x86, x86_64, PPC64 big-endian)

@sagitter
Copy link
Author

sagitter commented Nov 1, 2016

Can be fixed by replacing -std=c++11 with -std=gnu++11

@isloat
Copy link
Contributor

isloat commented Nov 12, 2016

To my knowledge there isn't anyone on the team who builds on PowerPC-le, but we have someone who may know how to fix this looking into it.

You should submit your fix as a patch or PR! (Of course, if you can, make sure it doesn't break anything else...)

@neilmoore
Copy link
Member

Something somewhere in your build is defining bool as __vector(4) __bool int, which is causing all kind of breakage.

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58241 suggests that the problem is with altivec.h, which is #included from SDL.h. Try editing windowmanager-sdl.cc and glwrapper-ogl.cc to do
#undef bool after the #include <SDL.h>.

@rawlins rawlins added the build Related to issues building dcss label Oct 20, 2018
@rawlins
Copy link
Member

rawlins commented Jul 17, 2020

This is definitely useful information to keep around, but looking back at this it seems that this is more or less a downstream issue, and since there hasn't been recent activity on this I'm going to close it up.

@rawlins rawlins closed this as completed Jul 17, 2020
RojjaCebolla pushed a commit to RojjaCebolla/crawl that referenced this issue Feb 24, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Related to issues building dcss
Projects
None yet
Development

No branches or pull requests

4 participants