Hello again, Ran across the following error while building the erlang interface:
``` gcc -o erlang_APL_nif.so -Wall -fpic -shared -rdynamic -pthread \ erlang_APL_nif.c -L/usr/local/lib/apl -lapl erlang_APL_nif.c:36:15: error: #if with no expression #if HAVE_DIRTY ^ make[2]: *** [Makefile:482: erlang_APL_nif.so] Error 1 ``` ``` Linux 4.19.0-5-amd64 #1 SMP Debian 4.19.37-3 (2019-05-15) x86_64 GNU/Linux gcc (Debian 8.3.0-7) 8.3.0 ``` I'm including the patch I used to fix it: Index: erlang/erlang_APL_nif.c =================================================================== --- erlang/erlang_APL_nif.c (revision 1163) +++ erlang/erlang_APL_nif.c (working copy) @@ -33,7 +33,7 @@ # define HAVE_DIRTY /* we hope so */ #endif -#if HAVE_DIRTY +#ifdef HAVE_DIRTY # define DIRTY_FLAG , ERL_NIF_DIRTY_JOB_CPU_BOUND #else # define DIRTY_FLAG Cheers - Rowan On Mon, Jun 3, 2019 at 3:32 PM Dr. Jürgen Sauermann < mail@jürgen-sauermann.de> wrote: > Hi again, > > I have checked in *SVN 1163*. This version should compile nicely under > g++ version 5.4.0 (the latest that I have) and also when building *libapl* > . > > It also passes all automated GNU APL test cases and shows no memory > leaks under valgrind. > > Classes *UTF8_string* and *Token_string* have been changed to use > *std::**basic_string<UTF8> *and *std::vector<Token>* instead of > *Simple_string<>*. > > Class *UCS_string* will be converted next and if that works then I am > planning to release GNU APL 1.8. > > Best Rgeards, > Jürgen > > > > On 6/2/19 10:50 PM, Dr. Jürgen Sauermann 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! > > > >