Thank you so much! Your change fixed that specific error. I am still getting additional errors. Including the messages below.
Let me know if there's anything I can do to help! - Rowan ``` /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -Wall -I sql -Werror -rdynamic -g -O2 -MT libapl_la-libapl.lo -MD -MP -MF .deps/libapl_la-libapl.Tpo -c -o libapl_la-libapl.lo `test -f 'libapl.cc' || echo './'`libapl.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -Wall -I sql -Werror -rdynamic -g -O2 -MT libapl_la-libapl.lo -MD -MP -MF .deps/libapl_la-libapl.Tpo -c libapl.cc -fPIC -DPIC -o .libs/libapl_la-libapl.o libapl.cc: In function ‘int64_t get_axis(APL_value, unsigned int)’: libapl.cc:143:21: error: comparison of integer expressions of different signedness: ‘int’ and ‘uRank’ {aka ‘unsigned int’} [-Werror=sign-compare] return int(axis) < val->get_rank() ? val->get_shape_item(axis) : -1; ~~~~~~~~~~^~~~~~~~~~~~~~~~~ libapl.cc: In function ‘void set_value(APL_value, APL_value, uint64_t)’: libapl.cc:329:40: error: no matching function for call to ‘Value::decrement_owner_count(Value*&, const char [14])’ v->decrement_owner_count(v, LOC); ^ In file included from ./Command.hh:28, from ./Workspace.hh:26, from libapl.cc:25: ./Value.hh:558:12: note: candidate: ‘void Value::decrement_owner_count(const char*)’ void decrement_owner_count(const char * loc) ^~~~~~~~~~~~~~~~~~~~~ ./Value.hh:558:12: note: candidate expects 1 argument, 2 provided libapl.cc:340:75: error: no matching function for call to ‘PointerCell::PointerCell(Value_P, Value&)’ new (cell) PointerCell(src.get_pointer_value()->clone(LOC), *val); ^ In file included from ./Value.hh:29, from ./Command.hh:28, from ./Workspace.hh:26, from libapl.cc:25: ./PointerCell.hh:41:4: note: candidate: ‘PointerCell::PointerCell(Value*, Value&, uint32_t)’ PointerCell(Value * val, Value & cell_owneri, uint32_t magic); ^~~~~~~~~~~ ./PointerCell.hh:41:4: note: candidate expects 3 arguments, 2 provided ./PointerCell.hh:37:4: note: candidate: ‘PointerCell::PointerCell(Value*, Value&)’ PointerCell(Value * val, Value & cell_owner); ^~~~~~~~~~~ ./PointerCell.hh:37:4: note: no known conversion for argument 1 from ‘Value_P’ to ‘Value*’ ./PointerCell.hh:33:7: note: candidate: ‘constexpr PointerCell::PointerCell(const PointerCell&)’ class PointerCell : public Cell ^~~~~~~~~~~ ./PointerCell.hh:33:7: note: candidate expects 1 argument, 2 provided ./PointerCell.hh:33:7: note: candidate: ‘constexpr PointerCell::PointerCell(PointerCell&&)’ ./PointerCell.hh:33:7: note: candidate expects 1 argument, 2 provided libapl.cc:344:61: error: no matching function for call to ‘PointerCell::PointerCell(Value_P, Value&)’ new (cell) PointerCell(new_value->clone(LOC), *val); ^ In file included from ./Value.hh:29, from ./Command.hh:28, from ./Workspace.hh:26, from libapl.cc:25: ./PointerCell.hh:41:4: note: candidate: ‘PointerCell::PointerCell(Value*, Value&, uint32_t)’ PointerCell(Value * val, Value & cell_owneri, uint32_t magic); ^~~~~~~~~~~ ./PointerCell.hh:41:4: note: candidate expects 3 arguments, 2 provided ./PointerCell.hh:37:4: note: candidate: ‘PointerCell::PointerCell(Value*, Value&)’ PointerCell(Value * val, Value & cell_owner); ^~~~~~~~~~~ ./PointerCell.hh:37:4: note: no known conversion for argument 1 from ‘Value_P’ to ‘Value*’ ./PointerCell.hh:33:7: note: candidate: ‘constexpr PointerCell::PointerCell(const PointerCell&)’ class PointerCell : public Cell ^~~~~~~~~~~ ./PointerCell.hh:33:7: note: candidate expects 1 argument, 2 provided ./PointerCell.hh:33:7: note: candidate: ‘constexpr PointerCell::PointerCell(PointerCell&&)’ ./PointerCell.hh:33:7: note: candidate expects 1 argument, 2 provided libapl.cc: In function ‘int apl_exec(const char*)’: libapl.cc:362:35: error: no matching function for call to ‘StateIndicator::get_error() const’ if (si) return si->get_error().error_code; ^ In file included from ./PrimitiveOperator.hh:25, from ./Workspace.hh:27, from libapl.cc:25: ./StateIndicator.hh:127:19: note: candidate: ‘static Error& StateIndicator::get_error(StateIndicator*)’ static Error & get_error(StateIndicator * si) ^~~~~~~~~ ./StateIndicator.hh:127:19: note: candidate expects 1 argument, 0 provided ./StateIndicator.hh:131:25: note: candidate: ‘static const Error& StateIndicator::get_error(const StateIndicator*)’ static const Error & get_error(const StateIndicator * si) ^~~~~~~~~ ./StateIndicator.hh:131:25: note: candidate expects 1 argument, 0 provided libapl.cc: In function ‘int apl_exec_ucs(const unsigned int*)’: libapl.cc:378:35: error: no matching function for call to ‘StateIndicator::get_error() const’ if (si) return si->get_error().error_code; ^ In file included from ./PrimitiveOperator.hh:25, from ./Workspace.hh:27, from libapl.cc:25: ./StateIndicator.hh:127:19: note: candidate: ‘static Error& StateIndicator::get_error(StateIndicator*)’ static Error & get_error(StateIndicator * si) ^~~~~~~~~ ./StateIndicator.hh:127:19: note: candidate expects 1 argument, 0 provided ./StateIndicator.hh:131:25: note: candidate: ‘static const Error& StateIndicator::get_error(const StateIndicator*)’ static const Error & get_error(const StateIndicator * si) ^~~~~~~~~ ./StateIndicator.hh:131:25: note: candidate expects 1 argument, 0 provided libapl.cc: In function ‘void Unicode_to_UTF8(int, char*, int*)’: libapl.cc:604:21: error: no matching function for call to ‘UTF8_string::UTF8_string(UCS_string (&)(Unicode))’ UTF8_string utf8(ucs); ^ In file included from ./LibPaths.hh:24, from ./Command.hh:27, from ./Workspace.hh:26, from libapl.cc:25: ./UTF8_string.hh:72:4: note: candidate: ‘UTF8_string::UTF8_string(const Value&)’ UTF8_string(const Value & value); ^~~~~~~~~~~ ./UTF8_string.hh:72:4: note: no known conversion for argument 1 from ‘UCS_string(Unicode)’ to ‘const Value&’ ./UTF8_string.hh:68:4: note: candidate: ‘UTF8_string::UTF8_string(const UCS_string&)’ UTF8_string(const UCS_string & ucs); ^~~~~~~~~~~ ./UTF8_string.hh:68:4: note: no known conversion for argument 1 from ‘UCS_string(Unicode)’ to ‘const UCS_string&’ ./UTF8_string.hh:60:4: note: candidate: ‘UTF8_string::UTF8_string(const UTF8*, size_t)’ UTF8_string(const UTF8 * str, size_t len) ^~~~~~~~~~~ ./UTF8_string.hh:60:4: note: candidate expects 2 arguments, 1 provided ./UTF8_string.hh:56:4: note: candidate: ‘UTF8_string::UTF8_string(const char*)’ UTF8_string(const char * str) ^~~~~~~~~~~ ./UTF8_string.hh:56:4: note: no known conversion for argument 1 from ‘UCS_string(Unicode)’ to ‘const char*’ ./UTF8_string.hh:52:4: note: candidate: ‘UTF8_string::UTF8_string()’ UTF8_string() ^~~~~~~~~~~ ./UTF8_string.hh:52:4: note: candidate expects 0 arguments, 1 provided ./UTF8_string.hh:48:7: note: candidate: ‘UTF8_string::UTF8_string(const UTF8_string&)’ class UTF8_string : public std::basic_string<UTF8> ^~~~~~~~~~~ ./UTF8_string.hh:48:7: note: no known conversion for argument 1 from ‘UCS_string(Unicode)’ to ‘const UTF8_string&’ ./UTF8_string.hh:48:7: note: candidate: ‘UTF8_string::UTF8_string(UTF8_string&&)’ ./UTF8_string.hh:48:7: note: no known conversion for argument 1 from ‘UCS_string(Unicode)’ to ‘UTF8_string&&’ libapl.cc:605:22: error: comparison of integer expressions of different signedness: ‘int’ and ‘std::__cxx11::basic_string<unsigned char>::size_type’ {aka ‘long unsigned int’} [-Werror=sign-compare] for (int d = 0; d < utf8.size(); ++d) dest[d] = utf8[d]; ~~^~~~~~~~~~~~~ cc1plus: all warnings being treated as errors make[3]: *** [Makefile:2119: libapl_la-libapl.lo] Error 1 ``` On Sun, Jun 2, 2019 at 8:50 PM Dr. Jürgen Sauermann < mail@jürgen-sauermann.de> wrote: > Hi Rowan, > > thanks for reporting this. Supposedly fixed in *SVN 1162*. > > Best Regards, > /// Jürgen > > > On 6/2/19 10:17 PM, Rowan Cannaday wrote: > > Hello! > > I am trying to compile libapl, and am running into the following error: > > ``` > libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -Wall -I sql > -Wold-style-cast -Werror -I/usr/include -I/usr/include/postgresql -rdynamic > -g -O2 -MT libapl_la-libapl.lo -MD -MP -MF .deps/libapl_la-libapl.Tpo -c > libapl.cc -fPIC -DPIC -o .libs/libapl_la-libapl.o > libapl.cc: In function 'Value* get_value(APL_value, uint64_t)': > libapl.cc:210:4: error: 'Z' was not declared in this scope > Z.get()->increment_owner_count(LOC); // keep value > ``` > > I am using the following to configure: > ``` > ./configure --with-libapl > ``` > > I have built the interpreter successfully before. > > I also generated a tags file for the project and it is unable to find the > definition for 'Z'. > > Any help is appreciated, thank you for your time! > > >