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!
>
>
>