Many errors compiling RSErasurePlugin.c

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Many errors compiling RSErasurePlugin.c

Robert Withers-2
 

Some of the initial errors have to do with the static declarations of logTable and expTable. Here is the output...

libtool: compile:  clang -Wall -g -O2 -DNDEBUG -DDEBUGVM=0 -msse2 -DCOGMTVM=0 -pthread -DLSB_FIRST=1 -m64 -Wno-missing-braces -Wno-unknown-pragmas -Wno-unused-value -Wno-unused-label -Wno-unused-function -Wno-unused-variable -DHAVE_CONFIG_H -I/home/rabbit/vm-dev/opensmalltalk-vm/build.linux64x64/squeak.cog.spur/build -I/home/rabbit/vm-dev/opensmalltalk-vm/build.linux64x64/squeak.cog.spur/build -I/home/rabbit/vm-dev/opensmalltalk-vm/platforms/unix/vm -I/home/rabbit/vm-dev/opensmalltalk-vm/platforms/Cross/vm -I/home/rabbit/vm-dev/opensmalltalk-vm/spur64src/vm -I/usr/local/include -m64 -Wno-missing-braces -Wno-unknown-pragmas -Wno-unused-value -Wno-unused-label -Wno-unused-function -Wno-unused-variable -c /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c  -fPIC -DPIC -o .libs/RSErasurePlugin.o
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:44:15: error: static declaration of 'exp' follows non-static declaration
static usqInt exp(sqInt a);
              ^
/usr/include/x86_64-linux-gnu/bits/mathcalls.h:95:17: note: previous declaration is here
__MATHCALL_VEC (exp,, (_Mdouble_ __x));
                ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:48:15: error: static declaration of 'log' follows non-static declaration
static usqInt log(sqInt a);
              ^
/usr/include/x86_64-linux-gnu/bits/mathcalls.h:104:17: note: previous declaration is here
__MATHCALL_VEC (log,, (_Mdouble_ __x));
                ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:166:29: error: redefinition of 'multiplicationTable' as different kind of symbol
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:50:26: note: previous definition is here
static unsigned short ** multiplicationTable(void);
                         ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:166:66: error: expected '}'
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:166:63: note: to match this '{'
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:180:5: warning: implicit declaration of function 'twosComplement' is invalid in C99 [-Wimplicit-function-declaration]
                ? twosComplement(a)
                  ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:201:11: warning: implicit declaration of function 'signal' is invalid in C99 [-Wimplicit-function-declaration]
                        return signal(Exception, "Argument 'divisor' is 0");
                               ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:201:18: error: use of undeclared identifier 'Exception'
                        return signal(Exception, "Argument 'divisor' is 0");
                                      ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:221:1: error: static declaration of 'exp' follows non-static declaration
exp(sqInt a)
^
/usr/include/x86_64-linux-gnu/bits/mathcalls.h:95:17: note: previous declaration is here
__MATHCALL_VEC (exp,, (_Mdouble_ __x));
                ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:241:5: warning: implicit declaration of function 'twosComplement' is invalid in C99 [-Wimplicit-function-declaration]
                ? twosComplement(base)
                  ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:270:5: warning: implicit declaration of function 'twosComplement' is invalid in C99 [-Wimplicit-function-declaration]
                ? twosComplement(a)
                  ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:299:1: error: static declaration of 'log' follows non-static declaration
log(sqInt a)
^
/usr/include/x86_64-linux-gnu/bits/mathcalls.h:104:17: note: previous declaration is here
__MATHCALL_VEC (log,, (_Mdouble_ __x));
                ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:304:3: warning: implicit declaration of function 'signal' is invalid in C99 [-Wimplicit-function-declaration]
                signal(RSErasureIllegalArgumentError, "zero argument");
                ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:304:10: error: use of undeclared identifier 'RSErasureIllegalArgumentError'
                signal(RSErasureIllegalArgumentError, "zero argument");
                       ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:307:5: warning: implicit declaration of function 'twosComplement' is invalid in C99 [-Wimplicit-function-declaration]
                ? twosComplement(a)
                  ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:320:5: warning: implicit declaration of function 'twosComplement' is invalid in C99 [-Wimplicit-function-declaration]
                ? twosComplement(value)
                  ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:328:9: warning: incompatible pointer types returning 'unsigned short **(void)' from a function with result type 'unsigned short **' [-Wincompatible-pointer-types]
        return multiplicationTable;
               ^~~~~~~~~~~~~~~~~~~
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:341:5: warning: implicit declaration of function 'twosComplement' is invalid in C99 [-Wimplicit-function-declaration]
                ? twosComplement(a)
                  ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:374:5: warning: implicit declaration of function 'twosComplement' is invalid in C99 [-Wimplicit-function-declaration]
                ? twosComplement(a)
                  ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:380:2: warning: implicit declaration of function 'popthenPushInteger' is invalid in C99 [-Wimplicit-function-declaration]
        popthenPushInteger(2, result);
        ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:418:24: warning: implicit declaration of function 'signal' is invalid in C99 [-Wimplicit-function-declaration]
                        result = ((usqInt) (signal(Exception, "Argument 'divisor' is 0")));
                                            ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:418:31: error: use of undeclared identifier 'Exception'
                        result = ((usqInt) (signal(Exception, "Argument 'divisor' is 0")));
                                                   ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:434:2: warning: implicit declaration of function 'popthenPushInteger' is invalid in C99 [-Wimplicit-function-declaration]
        popthenPushInteger(2, result);
        ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:455:2: warning: implicit declaration of function 'popthenPushInteger' is invalid in C99 [-Wimplicit-function-declaration]
        popthenPushInteger(2, result);
        ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:496:5: warning: implicit declaration of function 'twosComplement' is invalid in C99 [-Wimplicit-function-declaration]
                ? twosComplement(a)
                  ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:506:2: warning: implicit declaration of function 'popthenPushInteger' is invalid in C99 [-Wimplicit-function-declaration]
        popthenPushInteger(2, result);
        ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:550:5: warning: implicit declaration of function 'twosComplement' is invalid in C99 [-Wimplicit-function-declaration]
                ? twosComplement(a)
                  ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:560:2: warning: implicit declaration of function 'popthenPushInteger' is invalid in C99 [-Wimplicit-function-declaration]
        popthenPushInteger(2, result);
        ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:590:3: warning: implicit declaration of function 'signal' is invalid in C99 [-Wimplicit-function-declaration]
                signal(RSErasureIllegalArgumentError, "zero argument");
                ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:590:10: error: use of undeclared identifier 'RSErasureIllegalArgumentError'
                signal(RSErasureIllegalArgumentError, "zero argument");
                       ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:593:5: warning: implicit declaration of function 'twosComplement' is invalid in C99 [-Wimplicit-function-declaration]
                ? twosComplement(a)
                  ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:596:2: warning: implicit declaration of function 'popthenPushInteger' is invalid in C99 [-Wimplicit-function-declaration]
        popthenPushInteger(2, result);
        ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:638:5: warning: implicit declaration of function 'twosComplement' is invalid in C99 [-Wimplicit-function-declaration]
                ? twosComplement(a)
                  ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:645:2: warning: implicit declaration of function 'popthenPushInteger' is invalid in C99 [-Wimplicit-function-declaration]
        popthenPushInteger(2, result);
        ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:695:5: warning: implicit declaration of function 'twosComplement' is invalid in C99 [-Wimplicit-function-declaration]
                ? twosComplement(a)
                  ^
24 warnings and 10 errors generated.
make[1]: *** [Makefile:177: RSErasurePlugin.lo] Error 1
make: *** [Makefile:582: RSErasurePlugin.la] Error 2

--
---
Kindly,
Robert



RSErasurePlugin.c (339K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Many errors compiling RSErasurePlugin.c

Robert Withers-2
 

I managed to remove all errors. The mvm script generated .la and .lo files, in these locations:

[hidden email]
[hidden email]


Looking into /usr/local/lib/squeak/5.0-202010010729/ at my previously installed Squeak vm, the plugin files are .so (shared object). Where can I find the .so files for the 2 new plugins I generated? Thx!

---
Kindly,
Robert


On 5/29/21 12:15 PM, Robert Withers wrote:

Some of the initial errors have to do with the static declarations of logTable and expTable. Here is the output...

libtool: compile:  clang -Wall -g -O2 -DNDEBUG -DDEBUGVM=0 -msse2 -DCOGMTVM=0 -pthread -DLSB_FIRST=1 -m64 -Wno-missing-braces -Wno-unknown-pragmas -Wno-unused-value -Wno-unused-label -Wno-unused-function -Wno-unused-variable -DHAVE_CONFIG_H -I/home/rabbit/vm-dev/opensmalltalk-vm/build.linux64x64/squeak.cog.spur/build -I/home/rabbit/vm-dev/opensmalltalk-vm/build.linux64x64/squeak.cog.spur/build -I/home/rabbit/vm-dev/opensmalltalk-vm/platforms/unix/vm -I/home/rabbit/vm-dev/opensmalltalk-vm/platforms/Cross/vm -I/home/rabbit/vm-dev/opensmalltalk-vm/spur64src/vm -I/usr/local/include -m64 -Wno-missing-braces -Wno-unknown-pragmas -Wno-unused-value -Wno-unused-label -Wno-unused-function -Wno-unused-variable -c /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c  -fPIC -DPIC -o .libs/RSErasurePlugin.o
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:44:15: error: static declaration of 'exp' follows non-static declaration
static usqInt exp(sqInt a);
              ^
/usr/include/x86_64-linux-gnu/bits/mathcalls.h:95:17: note: previous declaration is here
__MATHCALL_VEC (exp,, (_Mdouble_ __x));
                ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:48:15: error: static declaration of 'log' follows non-static declaration
static usqInt log(sqInt a);
              ^
/usr/include/x86_64-linux-gnu/bits/mathcalls.h:104:17: note: previous declaration is here
__MATHCALL_VEC (log,, (_Mdouble_ __x));
                ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:166:29: error: redefinition of 'multiplicationTable' as different kind of symbol
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:50:26: note: previous definition is here
static unsigned short ** multiplicationTable(void);
                         ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:166:66: error: expected '}'
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:166:63: note: to match this '{'
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:180:5: warning: implicit declaration of function 'twosComplement' is invalid in C99 [-Wimplicit-function-declaration]
                ? twosComplement(a)
                  ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:201:11: warning: implicit declaration of function 'signal' is invalid in C99 [-Wimplicit-function-declaration]
                        return signal(Exception, "Argument 'divisor' is 0");
                               ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:201:18: error: use of undeclared identifier 'Exception'
                        return signal(Exception, "Argument 'divisor' is 0");
                                      ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:221:1: error: static declaration of 'exp' follows non-static declaration
exp(sqInt a)
^
/usr/include/x86_64-linux-gnu/bits/mathcalls.h:95:17: note: previous declaration is here
__MATHCALL_VEC (exp,, (_Mdouble_ __x));
                ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:241:5: warning: implicit declaration of function 'twosComplement' is invalid in C99 [-Wimplicit-function-declaration]
                ? twosComplement(base)
                  ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:270:5: warning: implicit declaration of function 'twosComplement' is invalid in C99 [-Wimplicit-function-declaration]
                ? twosComplement(a)
                  ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:299:1: error: static declaration of 'log' follows non-static declaration
log(sqInt a)
^
/usr/include/x86_64-linux-gnu/bits/mathcalls.h:104:17: note: previous declaration is here
__MATHCALL_VEC (log,, (_Mdouble_ __x));
                ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:304:3: warning: implicit declaration of function 'signal' is invalid in C99 [-Wimplicit-function-declaration]
                signal(RSErasureIllegalArgumentError, "zero argument");
                ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:304:10: error: use of undeclared identifier 'RSErasureIllegalArgumentError'
                signal(RSErasureIllegalArgumentError, "zero argument");
                       ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:307:5: warning: implicit declaration of function 'twosComplement' is invalid in C99 [-Wimplicit-function-declaration]
                ? twosComplement(a)
                  ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:320:5: warning: implicit declaration of function 'twosComplement' is invalid in C99 [-Wimplicit-function-declaration]
                ? twosComplement(value)
                  ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:328:9: warning: incompatible pointer types returning 'unsigned short **(void)' from a function with result type 'unsigned short **' [-Wincompatible-pointer-types]
        return multiplicationTable;
               ^~~~~~~~~~~~~~~~~~~
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:341:5: warning: implicit declaration of function 'twosComplement' is invalid in C99 [-Wimplicit-function-declaration]
                ? twosComplement(a)
                  ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:374:5: warning: implicit declaration of function 'twosComplement' is invalid in C99 [-Wimplicit-function-declaration]
                ? twosComplement(a)
                  ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:380:2: warning: implicit declaration of function 'popthenPushInteger' is invalid in C99 [-Wimplicit-function-declaration]
        popthenPushInteger(2, result);
        ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:418:24: warning: implicit declaration of function 'signal' is invalid in C99 [-Wimplicit-function-declaration]
                        result = ((usqInt) (signal(Exception, "Argument 'divisor' is 0")));
                                            ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:418:31: error: use of undeclared identifier 'Exception'
                        result = ((usqInt) (signal(Exception, "Argument 'divisor' is 0")));
                                                   ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:434:2: warning: implicit declaration of function 'popthenPushInteger' is invalid in C99 [-Wimplicit-function-declaration]
        popthenPushInteger(2, result);
        ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:455:2: warning: implicit declaration of function 'popthenPushInteger' is invalid in C99 [-Wimplicit-function-declaration]
        popthenPushInteger(2, result);
        ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:496:5: warning: implicit declaration of function 'twosComplement' is invalid in C99 [-Wimplicit-function-declaration]
                ? twosComplement(a)
                  ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:506:2: warning: implicit declaration of function 'popthenPushInteger' is invalid in C99 [-Wimplicit-function-declaration]
        popthenPushInteger(2, result);
        ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:550:5: warning: implicit declaration of function 'twosComplement' is invalid in C99 [-Wimplicit-function-declaration]
                ? twosComplement(a)
                  ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:560:2: warning: implicit declaration of function 'popthenPushInteger' is invalid in C99 [-Wimplicit-function-declaration]
        popthenPushInteger(2, result);
        ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:590:3: warning: implicit declaration of function 'signal' is invalid in C99 [-Wimplicit-function-declaration]
                signal(RSErasureIllegalArgumentError, "zero argument");
                ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:590:10: error: use of undeclared identifier 'RSErasureIllegalArgumentError'
                signal(RSErasureIllegalArgumentError, "zero argument");
                       ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:593:5: warning: implicit declaration of function 'twosComplement' is invalid in C99 [-Wimplicit-function-declaration]
                ? twosComplement(a)
                  ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:596:2: warning: implicit declaration of function 'popthenPushInteger' is invalid in C99 [-Wimplicit-function-declaration]
        popthenPushInteger(2, result);
        ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:638:5: warning: implicit declaration of function 'twosComplement' is invalid in C99 [-Wimplicit-function-declaration]
                ? twosComplement(a)
                  ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:645:2: warning: implicit declaration of function 'popthenPushInteger' is invalid in C99 [-Wimplicit-function-declaration]
        popthenPushInteger(2, result);
        ^
/home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:695:5: warning: implicit declaration of function 'twosComplement' is invalid in C99 [-Wimplicit-function-declaration]
                ? twosComplement(a)
                  ^
24 warnings and 10 errors generated.
make[1]: *** [Makefile:177: RSErasurePlugin.lo] Error 1
make: *** [Makefile:582: RSErasurePlugin.la] Error 2

--
---
Kindly,
Robert


Reply | Threaded
Open this post in threaded view
|

Re: Many errors compiling RSErasurePlugin.c

Tobias Pape
 
.la and .lo is libtool stuff, I think they should be made into .so's somewhere down the make pipeline, but my memory is a bit hazy there…

> On 29. May 2021, at 19:49, Robert Withers <[hidden email]> wrote:
>
> I managed to remove all errors. The mvm script generated .la and .lo files, in these locations:
>
> rabbit@ganymede:~/vm-dev/opensmalltalk-vm/build.linux64x64/squeak.cog.spur/build/RSErasurePlugin/
> rabbit@ganymede:~/vm-dev/opensmalltalk-vm/build.linux64x64/squeak.cog.spur/buil/RSFECPlugin/
>
>
> Looking into /usr/local/lib/squeak/5.0-202010010729/ at my previously installed Squeak vm, the plugin files are .so (shared object). Where can I find the .so files for the 2 new plugins I generated? Thx!
> ---
> Kindly,
> Robert
>
>
> On 5/29/21 12:15 PM, Robert Withers wrote:
>> Some of the initial errors have to do with the static declarations of logTable and expTable. Here is the output...
>>
>> libtool: compile:  clang -Wall -g -O2 -DNDEBUG -DDEBUGVM=0 -msse2 -DCOGMTVM=0 -pthread -DLSB_FIRST=1 -m64 -Wno-missing-braces -Wno-unknown-pragmas -Wno-unused-value -Wno-unused-label -Wno-unused-function -Wno-unused-variable -DHAVE_CONFIG_H -I/home/rabbit/vm-dev/opensmalltalk-vm/build.linux64x64/squeak.cog.spur/build -I/home/rabbit/vm-dev/opensmalltalk-vm/build.linux64x64/squeak.cog.spur/build -I/home/rabbit/vm-dev/opensmalltalk-vm/platforms/unix/vm -I/home/rabbit/vm-dev/opensmalltalk-vm/platforms/Cross/vm -I/home/rabbit/vm-dev/opensmalltalk-vm/spur64src/vm -I/usr/local/include -m64 -Wno-missing-braces -Wno-unknown-pragmas -Wno-unused-value -Wno-unused-label -Wno-unused-function -Wno-unused-variable -c /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c  -fPIC -DPIC -o .libs/RSErasurePlugin.o
>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:44:15: error: static declaration of 'exp' follows non-static declaration
>> static usqInt exp(sqInt a);
>>               ^
>> /usr/include/x86_64-linux-gnu/bits/mathcalls.h:95:17: note: previous declaration is here
>> __MATHCALL_VEC (exp,, (_Mdouble_ __x));
>>                 ^
>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:48:15: error: static declaration of 'log' follows non-static declaration
>> static usqInt log(sqInt a);
>>               ^
>> /usr/include/x86_64-linux-gnu/bits/mathcalls.h:104:17: note: previous declaration is here
>> __MATHCALL_VEC (log,, (_Mdouble_ __x));
>>                 ^
>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:166:29: error: redefinition of 'multiplicationTable' as different kind of symbol
>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:50:26: note: previous definition is here
>> static unsigned short ** multiplicationTable(void);
>>                          ^
>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:166:66: error: expected '}'
>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:166:63: note: to match this '{'
>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:180:5: warning: implicit declaration of function 'twosComplement' is invalid in C99 [-Wimplicit-function-declaration]
>>                 ? twosComplement(a)
>>                   ^
>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:201:11: warning: implicit declaration of function 'signal' is invalid in C99 [-Wimplicit-function-declaration]
>>                         return signal(Exception, "Argument 'divisor' is 0");
>>                                ^
>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:201:18: error: use of undeclared identifier 'Exception'
>>                         return signal(Exception, "Argument 'divisor' is 0");
>>                                       ^
>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:221:1: error: static declaration of 'exp' follows non-static declaration
>> exp(sqInt a)
>> ^
>> /usr/include/x86_64-linux-gnu/bits/mathcalls.h:95:17: note: previous declaration is here
>> __MATHCALL_VEC (exp,, (_Mdouble_ __x));
>>                 ^
>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:241:5: warning: implicit declaration of function 'twosComplement' is invalid in C99 [-Wimplicit-function-declaration]
>>                 ? twosComplement(base)
>>                   ^
>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:270:5: warning: implicit declaration of function 'twosComplement' is invalid in C99 [-Wimplicit-function-declaration]
>>                 ? twosComplement(a)
>>                   ^
>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:299:1: error: static declaration of 'log' follows non-static declaration
>> log(sqInt a)
>> ^
>> /usr/include/x86_64-linux-gnu/bits/mathcalls.h:104:17: note: previous declaration is here
>> __MATHCALL_VEC (log,, (_Mdouble_ __x));
>>                 ^
>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:304:3: warning: implicit declaration of function 'signal' is invalid in C99 [-Wimplicit-function-declaration]
>>                 signal(RSErasureIllegalArgumentError, "zero argument");
>>                 ^
>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:304:10: error: use of undeclared identifier 'RSErasureIllegalArgumentError'
>>                 signal(RSErasureIllegalArgumentError, "zero argument");
>>                        ^
>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:307:5: warning: implicit declaration of function 'twosComplement' is invalid in C99 [-Wimplicit-function-declaration]
>>                 ? twosComplement(a)
>>                   ^
>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:320:5: warning: implicit declaration of function 'twosComplement' is invalid in C99 [-Wimplicit-function-declaration]
>>                 ? twosComplement(value)
>>                   ^
>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:328:9: warning: incompatible pointer types returning 'unsigned short **(void)' from a function with result type 'unsigned short **' [-Wincompatible-pointer-types]
>>         return multiplicationTable;
>>                ^~~~~~~~~~~~~~~~~~~
>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:341:5: warning: implicit declaration of function 'twosComplement' is invalid in C99 [-Wimplicit-function-declaration]
>>                 ? twosComplement(a)
>>                   ^
>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:374:5: warning: implicit declaration of function 'twosComplement' is invalid in C99 [-Wimplicit-function-declaration]
>>                 ? twosComplement(a)
>>                   ^
>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:380:2: warning: implicit declaration of function 'popthenPushInteger' is invalid in C99 [-Wimplicit-function-declaration]
>>         popthenPushInteger(2, result);
>>         ^
>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:418:24: warning: implicit declaration of function 'signal' is invalid in C99 [-Wimplicit-function-declaration]
>>                         result = ((usqInt) (signal(Exception, "Argument 'divisor' is 0")));
>>                                             ^
>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:418:31: error: use of undeclared identifier 'Exception'
>>                         result = ((usqInt) (signal(Exception, "Argument 'divisor' is 0")));
>>                                                    ^
>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:434:2: warning: implicit declaration of function 'popthenPushInteger' is invalid in C99 [-Wimplicit-function-declaration]
>>         popthenPushInteger(2, result);
>>         ^
>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:455:2: warning: implicit declaration of function 'popthenPushInteger' is invalid in C99 [-Wimplicit-function-declaration]
>>         popthenPushInteger(2, result);
>>         ^
>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:496:5: warning: implicit declaration of function 'twosComplement' is invalid in C99 [-Wimplicit-function-declaration]
>>                 ? twosComplement(a)
>>                   ^
>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:506:2: warning: implicit declaration of function 'popthenPushInteger' is invalid in C99 [-Wimplicit-function-declaration]
>>         popthenPushInteger(2, result);
>>         ^
>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:550:5: warning: implicit declaration of function 'twosComplement' is invalid in C99 [-Wimplicit-function-declaration]
>>                 ? twosComplement(a)
>>                   ^
>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:560:2: warning: implicit declaration of function 'popthenPushInteger' is invalid in C99 [-Wimplicit-function-declaration]
>>         popthenPushInteger(2, result);
>>         ^
>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:590:3: warning: implicit declaration of function 'signal' is invalid in C99 [-Wimplicit-function-declaration]
>>                 signal(RSErasureIllegalArgumentError, "zero argument");
>>                 ^
>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:590:10: error: use of undeclared identifier 'RSErasureIllegalArgumentError'
>>                 signal(RSErasureIllegalArgumentError, "zero argument");
>>                        ^
>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:593:5: warning: implicit declaration of function 'twosComplement' is invalid in C99 [-Wimplicit-function-declaration]
>>                 ? twosComplement(a)
>>                   ^
>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:596:2: warning: implicit declaration of function 'popthenPushInteger' is invalid in C99 [-Wimplicit-function-declaration]
>>         popthenPushInteger(2, result);
>>         ^
>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:638:5: warning: implicit declaration of function 'twosComplement' is invalid in C99 [-Wimplicit-function-declaration]
>>                 ? twosComplement(a)
>>                   ^
>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:645:2: warning: implicit declaration of function 'popthenPushInteger' is invalid in C99 [-Wimplicit-function-declaration]
>>         popthenPushInteger(2, result);
>>         ^
>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:695:5: warning: implicit declaration of function 'twosComplement' is invalid in C99 [-Wimplicit-function-declaration]
>>                 ? twosComplement(a)
>>                   ^
>> 24 warnings and 10 errors generated.
>> make[1]: *** [Makefile:177: RSErasurePlugin.lo] Error 1
>> make: *** [Makefile:582: RSErasurePlugin.la] Error 2
>>
>> --
>> ---
>> Kindly,
>> Robert
>>
>>


Reply | Threaded
Open this post in threaded view
|

[FIXED] Re: Many errors compiling RSErasurePlugin.c

Robert Withers-2
 
No worries! I found them in the .libs directory under each plugin
directory. I am testing the plugins from inside squeak, now. There are
errors: primitiveFailed for primLog:, for instance.

---
Kindly,
Robert


On 5/29/21 2:08 PM, Tobias Pape wrote:

> .la and .lo is libtool stuff, I think they should be made into .so's somewhere down the make pipeline, but my memory is a bit hazy there…
>
>> On 29. May 2021, at 19:49, Robert Withers <[hidden email]> wrote:
>>
>> I managed to remove all errors. The mvm script generated .la and .lo files, in these locations:
>>
>> rabbit@ganymede:~/vm-dev/opensmalltalk-vm/build.linux64x64/squeak.cog.spur/build/RSErasurePlugin/
>> rabbit@ganymede:~/vm-dev/opensmalltalk-vm/build.linux64x64/squeak.cog.spur/buil/RSFECPlugin/
>>
>>
>> Looking into /usr/local/lib/squeak/5.0-202010010729/ at my previously installed Squeak vm, the plugin files are .so (shared object). Where can I find the .so files for the 2 new plugins I generated? Thx!
>> ---
>> Kindly,
>> Robert
>>
>>
>> On 5/29/21 12:15 PM, Robert Withers wrote:
>>> Some of the initial errors have to do with the static declarations of logTable and expTable. Here is the output...
>>>
>>> libtool: compile:  clang -Wall -g -O2 -DNDEBUG -DDEBUGVM=0 -msse2 -DCOGMTVM=0 -pthread -DLSB_FIRST=1 -m64 -Wno-missing-braces -Wno-unknown-pragmas -Wno-unused-value -Wno-unused-label -Wno-unused-function -Wno-unused-variable -DHAVE_CONFIG_H -I/home/rabbit/vm-dev/opensmalltalk-vm/build.linux64x64/squeak.cog.spur/build -I/home/rabbit/vm-dev/opensmalltalk-vm/build.linux64x64/squeak.cog.spur/build -I/home/rabbit/vm-dev/opensmalltalk-vm/platforms/unix/vm -I/home/rabbit/vm-dev/opensmalltalk-vm/platforms/Cross/vm -I/home/rabbit/vm-dev/opensmalltalk-vm/spur64src/vm -I/usr/local/include -m64 -Wno-missing-braces -Wno-unknown-pragmas -Wno-unused-value -Wno-unused-label -Wno-unused-function -Wno-unused-variable -c /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c  -fPIC -DPIC -o .libs/RSErasurePlugin.o
>>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:44:15: error: static declaration of 'exp' follows non-static declaration
>>> static usqInt exp(sqInt a);
>>>                ^
>>> /usr/include/x86_64-linux-gnu/bits/mathcalls.h:95:17: note: previous declaration is here
>>> __MATHCALL_VEC (exp,, (_Mdouble_ __x));
>>>                  ^
>>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:48:15: error: static declaration of 'log' follows non-static declaration
>>> static usqInt log(sqInt a);
>>>                ^
>>> /usr/include/x86_64-linux-gnu/bits/mathcalls.h:104:17: note: previous declaration is here
>>> __MATHCALL_VEC (log,, (_Mdouble_ __x));
>>>                  ^
>>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:166:29: error: redefinition of 'multiplicationTable' as different kind of symbol
>>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:50:26: note: previous definition is here
>>> static unsigned short ** multiplicationTable(void);
>>>                           ^
>>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:166:66: error: expected '}'
>>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:166:63: note: to match this '{'
>>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:180:5: warning: implicit declaration of function 'twosComplement' is invalid in C99 [-Wimplicit-function-declaration]
>>>                  ? twosComplement(a)
>>>                    ^
>>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:201:11: warning: implicit declaration of function 'signal' is invalid in C99 [-Wimplicit-function-declaration]
>>>                          return signal(Exception, "Argument 'divisor' is 0");
>>>                                 ^
>>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:201:18: error: use of undeclared identifier 'Exception'
>>>                          return signal(Exception, "Argument 'divisor' is 0");
>>>                                        ^
>>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:221:1: error: static declaration of 'exp' follows non-static declaration
>>> exp(sqInt a)
>>> ^
>>> /usr/include/x86_64-linux-gnu/bits/mathcalls.h:95:17: note: previous declaration is here
>>> __MATHCALL_VEC (exp,, (_Mdouble_ __x));
>>>                  ^
>>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:241:5: warning: implicit declaration of function 'twosComplement' is invalid in C99 [-Wimplicit-function-declaration]
>>>                  ? twosComplement(base)
>>>                    ^
>>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:270:5: warning: implicit declaration of function 'twosComplement' is invalid in C99 [-Wimplicit-function-declaration]
>>>                  ? twosComplement(a)
>>>                    ^
>>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:299:1: error: static declaration of 'log' follows non-static declaration
>>> log(sqInt a)
>>> ^
>>> /usr/include/x86_64-linux-gnu/bits/mathcalls.h:104:17: note: previous declaration is here
>>> __MATHCALL_VEC (log,, (_Mdouble_ __x));
>>>                  ^
>>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:304:3: warning: implicit declaration of function 'signal' is invalid in C99 [-Wimplicit-function-declaration]
>>>                  signal(RSErasureIllegalArgumentError, "zero argument");
>>>                  ^
>>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:304:10: error: use of undeclared identifier 'RSErasureIllegalArgumentError'
>>>                  signal(RSErasureIllegalArgumentError, "zero argument");
>>>                         ^
>>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:307:5: warning: implicit declaration of function 'twosComplement' is invalid in C99 [-Wimplicit-function-declaration]
>>>                  ? twosComplement(a)
>>>                    ^
>>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:320:5: warning: implicit declaration of function 'twosComplement' is invalid in C99 [-Wimplicit-function-declaration]
>>>                  ? twosComplement(value)
>>>                    ^
>>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:328:9: warning: incompatible pointer types returning 'unsigned short **(void)' from a function with result type 'unsigned short **' [-Wincompatible-pointer-types]
>>>          return multiplicationTable;
>>>                 ^~~~~~~~~~~~~~~~~~~
>>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:341:5: warning: implicit declaration of function 'twosComplement' is invalid in C99 [-Wimplicit-function-declaration]
>>>                  ? twosComplement(a)
>>>                    ^
>>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:374:5: warning: implicit declaration of function 'twosComplement' is invalid in C99 [-Wimplicit-function-declaration]
>>>                  ? twosComplement(a)
>>>                    ^
>>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:380:2: warning: implicit declaration of function 'popthenPushInteger' is invalid in C99 [-Wimplicit-function-declaration]
>>>          popthenPushInteger(2, result);
>>>          ^
>>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:418:24: warning: implicit declaration of function 'signal' is invalid in C99 [-Wimplicit-function-declaration]
>>>                          result = ((usqInt) (signal(Exception, "Argument 'divisor' is 0")));
>>>                                              ^
>>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:418:31: error: use of undeclared identifier 'Exception'
>>>                          result = ((usqInt) (signal(Exception, "Argument 'divisor' is 0")));
>>>                                                     ^
>>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:434:2: warning: implicit declaration of function 'popthenPushInteger' is invalid in C99 [-Wimplicit-function-declaration]
>>>          popthenPushInteger(2, result);
>>>          ^
>>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:455:2: warning: implicit declaration of function 'popthenPushInteger' is invalid in C99 [-Wimplicit-function-declaration]
>>>          popthenPushInteger(2, result);
>>>          ^
>>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:496:5: warning: implicit declaration of function 'twosComplement' is invalid in C99 [-Wimplicit-function-declaration]
>>>                  ? twosComplement(a)
>>>                    ^
>>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:506:2: warning: implicit declaration of function 'popthenPushInteger' is invalid in C99 [-Wimplicit-function-declaration]
>>>          popthenPushInteger(2, result);
>>>          ^
>>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:550:5: warning: implicit declaration of function 'twosComplement' is invalid in C99 [-Wimplicit-function-declaration]
>>>                  ? twosComplement(a)
>>>                    ^
>>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:560:2: warning: implicit declaration of function 'popthenPushInteger' is invalid in C99 [-Wimplicit-function-declaration]
>>>          popthenPushInteger(2, result);
>>>          ^
>>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:590:3: warning: implicit declaration of function 'signal' is invalid in C99 [-Wimplicit-function-declaration]
>>>                  signal(RSErasureIllegalArgumentError, "zero argument");
>>>                  ^
>>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:590:10: error: use of undeclared identifier 'RSErasureIllegalArgumentError'
>>>                  signal(RSErasureIllegalArgumentError, "zero argument");
>>>                         ^
>>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:593:5: warning: implicit declaration of function 'twosComplement' is invalid in C99 [-Wimplicit-function-declaration]
>>>                  ? twosComplement(a)
>>>                    ^
>>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:596:2: warning: implicit declaration of function 'popthenPushInteger' is invalid in C99 [-Wimplicit-function-declaration]
>>>          popthenPushInteger(2, result);
>>>          ^
>>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:638:5: warning: implicit declaration of function 'twosComplement' is invalid in C99 [-Wimplicit-function-declaration]
>>>                  ? twosComplement(a)
>>>                    ^
>>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:645:2: warning: implicit declaration of function 'popthenPushInteger' is invalid in C99 [-Wimplicit-function-declaration]
>>>          popthenPushInteger(2, result);
>>>          ^
>>> /home/rabbit/vm-dev/opensmalltalk-vm/src/plugins/RSErasurePlugin/RSErasurePlugin.c:695:5: warning: implicit declaration of function 'twosComplement' is invalid in C99 [-Wimplicit-function-declaration]
>>>                  ? twosComplement(a)
>>>                    ^
>>> 24 warnings and 10 errors generated.
>>> make[1]: *** [Makefile:177: RSErasurePlugin.lo] Error 1
>>> make: *** [Makefile:582: RSErasurePlugin.la] Error 2
>>>
>>> --
>>> ---
>>> Kindly,
>>> Robert
>>>
>>>
>