Build on Ubuntu 18.04
Closed this issue · 5 comments
C-far commented
What are the corrects dependencies to build on Linux ?
In my case, I have these packets :
- gcc-8
- g++-8
- gcc-8-multilib
- g++-8-multilib
- libboost-all-dev
And when I use make
:
gcc -I/usr/include/x86_64-linux-gnu -c -m32 -fPIC -O3 -DLINUX -w -I./include/ -I./include/SDK/amx/ ./include/SDK/amx/*.c
g++ -I/usr/include/x86_64-linux-gnu/c++/8/32 -c -m32 -fPIC -O3 -DLINUX -w -I./include/ -I./include/SDK/amx/ ./include/SDK/*.cpp
g++ -I/usr/include/x86_64-linux-gnu/c++/8/32 -c -m32 -fPIC -O3 -DLINUX -w -I./include/ -I./include/SDK/amx/ ./src/*.cpp
In file included from ./src/callback.cpp:17:0:
./src/callback.h:35:12: error: ‘std::variant’ has not been declared
using std::variant;
^~~~~~~
./src/callback.h:38:12: error: ‘std::bind’ has not been declared
using std::bind;
^~~~
In file included from ./src/pbkdf2.h:26:0,
from ./src/callback.h:43,
from ./src/callback.cpp:17:
./src/utility.h:29:12: error: ‘std::variant’ has not been declared
using std::variant;
^~~~~~~
In file included from ./src/pbkdf2.h:26:0,
from ./src/callback.h:43,
from ./src/callback.cpp:17:
./src/utility.h:37:9: error: ‘variant’ was not declared in this scope
stack< variant<cell, string> > Params;
^~~~~~~
./src/utility.h:37:9: note: suggested alternative: ‘vprintf’
stack< variant<cell, string> > Params;
^~~~~~~
vprintf
./src/utility.h:37:29: error: template argument 1 is invalid
stack< variant<cell, string> > Params;
^
./src/utility.h:37:31: error: expected unqualified-id before ‘>’ token
stack< variant<cell, string> > Params;
^
In file included from ./src/callback.cpp:17:0:
./src/callback.h:55:25: error: ‘variant’ was not declared in this scope
void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
^~~~~~~
./src/callback.h:55:25: note: suggested alternative: ‘vprintf’
void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
^~~~~~~
vprintf
./src/callback.h:55:45: error: template argument 1 is invalid
void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
^
./src/callback.h:55:25: error: ‘variant’ was not declared in this scope
void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
^~~~~~~
./src/callback.h:55:25: note: suggested alternative: ‘vprintf’
void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
^~~~~~~
vprintf
./src/callback.h:55:45: error: template argument 1 is invalid
void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
^
./src/callback.h:55:25: error: ‘variant’ was not declared in this scope
void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
^~~~~~~
./src/callback.h:55:25: note: suggested alternative: ‘vprintf’
void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
^~~~~~~
vprintf
./src/callback.h:55:45: error: template argument 1 is invalid
void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
^
./src/callback.h:55:18: error: ‘stack’ is not a type
void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
^~~~~
./src/callback.h:55:23: error: expected ‘,’ or ‘...’ before ‘<’ token
void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
^
./src/callback.cpp: In member function ‘void Callback::ProcessTick()’:
./src/callback.cpp:46:27: error: ‘struct CallbackData’ has no member named ‘Params’
while (!Queue->cData->Params.empty())
^~~~~~
./src/callback.cpp:48:6: error: ‘variant’ was not declared in this scope
variant<cell, string> Param(move(Queue->cData->Params.top()));
^~~~~~~
./src/callback.cpp:48:6: note: suggested alternative: ‘vprintf’
variant<cell, string> Param(move(Queue->cData->Params.top()));
^~~~~~~
vprintf
./src/callback.cpp:48:18: error: expected primary-expression before ‘,’ token
variant<cell, string> Param(move(Queue->cData->Params.top()));
^
./src/callback.cpp:48:26: error: expected primary-expression before ‘>’ token
variant<cell, string> Param(move(Queue->cData->Params.top()));
^
./src/callback.cpp:48:53: error: ‘struct CallbackData’ has no member named ‘Params’
variant<cell, string> Param(move(Queue->cData->Params.top()));
^~~~~~
./src/callback.cpp:48:28: error: ‘Param’ was not declared in this scope
variant<cell, string> Param(move(Queue->cData->Params.top()));
^~~~~
./src/callback.cpp:50:24: error: ‘get_if’ is not a member of ‘std’
if (auto v = std::get_if<cell>(&Param)) {
^~~~~~
./src/callback.cpp:50:24: note: suggested alternative: ‘get’
if (auto v = std::get_if<cell>(&Param)) {
^~~~~~
get
./src/callback.cpp:50:35: error: expected primary-expression before ‘>’ token
if (auto v = std::get_if<cell>(&Param)) {
^
./src/callback.cpp:53:29: error: ‘get_if’ is not a member of ‘std’
else if (auto v = std::get_if<string>(&Param)) {
^~~~~~
./src/callback.cpp:53:29: note: suggested alternative: ‘get’
else if (auto v = std::get_if<string>(&Param)) {
^~~~~~
get
./src/callback.cpp:53:42: error: expected primary-expression before ‘>’ token
else if (auto v = std::get_if<string>(&Param)) {
^
./src/callback.cpp:61:20: error: ‘struct CallbackData’ has no member named ‘Params’
Queue->cData->Params.pop();
^~~~~~
./src/callback.cpp: At global scope:
./src/callback.cpp:100:34: error: ‘variant’ was not declared in this scope
void Callback::Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount)
^~~~~~~
./src/callback.cpp:100:34: note: suggested alternative: ‘vprintf’
void Callback::Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount)
^~~~~~~
vprintf
./src/callback.cpp:100:54: error: template argument 1 is invalid
void Callback::Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount)
^
./src/callback.cpp:100:34: error: ‘variant’ was not declared in this scope
void Callback::Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount)
^~~~~~~
./src/callback.cpp:100:34: note: suggested alternative: ‘vprintf’
void Callback::Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount)
^~~~~~~
vprintf
./src/callback.cpp:100:54: error: template argument 1 is invalid
void Callback::Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount)
^
./src/callback.cpp:100:34: error: ‘variant’ was not declared in this scope
void Callback::Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount)
^~~~~~~
./src/callback.cpp:100:34: note: suggested alternative: ‘vprintf’
void Callback::Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount)
^~~~~~~
vprintf
./src/callback.cpp:100:54: error: template argument 1 is invalid
void Callback::Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount)
^
./src/callback.cpp:100:27: error: variable or field ‘Parameters’ declared void
void Callback::Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount)
^~~~~
./src/callback.cpp:100:34: error: ‘variant’ was not declared in this scope
void Callback::Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount)
^~~~~~~
./src/callback.cpp:100:34: note: suggested alternative: ‘vprintf’
void Callback::Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount)
^~~~~~~
vprintf
./src/callback.cpp:100:54: error: template argument 1 is invalid
void Callback::Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount)
^
./src/callback.cpp:100:59: error: ‘CallbackParameters’ was not declared in this scope
void Callback::Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount)
^~~~~~~~~~~~~~~~~~
./src/callback.cpp:100:59: note: suggested alternative: ‘CallbackData’
void Callback::Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount)
^~~~~~~~~~~~~~~~~~
CallbackData
./src/callback.cpp:100:79: error: expected primary-expression before ‘const’
void Callback::Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount)
^~~~~
./src/callback.cpp:100:103: error: expected primary-expression before ‘*’ token
void Callback::Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount)
^
./src/callback.cpp:100:104: error: ‘amx’ was not declared in this scope
void Callback::Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount)
^~~
./src/callback.cpp:100:114: error: expected primary-expression before ‘*’ token
void Callback::Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount)
^
./src/callback.cpp:100:115: error: ‘params’ was not declared in this scope
void Callback::Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount)
^~~~~~
./src/callback.cpp:100:123: error: expected primary-expression before ‘const’
void Callback::Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount)
^~~~~
In file included from ./src/main.cpp:20:0:
./src/callback.h:35:12: error: ‘std::variant’ has not been declared
using std::variant;
^~~~~~~
./src/callback.h:38:12: error: ‘std::bind’ has not been declared
using std::bind;
^~~~
In file included from ./src/pbkdf2.h:26:0,
from ./src/callback.h:43,
from ./src/main.cpp:20:
./src/utility.h:29:12: error: ‘std::variant’ has not been declared
using std::variant;
^~~~~~~
./src/utility.h:37:9: error: ‘variant’ was not declared in this scope
stack< variant<cell, string> > Params;
^~~~~~~
./src/utility.h:37:9: note: suggested alternative: ‘vprintf’
stack< variant<cell, string> > Params;
^~~~~~~
vprintf
./src/utility.h:37:29: error: template argument 1 is invalid
stack< variant<cell, string> > Params;
^
./src/utility.h:37:31: error: expected unqualified-id before ‘>’ token
stack< variant<cell, string> > Params;
^
In file included from ./src/main.cpp:20:0:
./src/callback.h:55:25: error: ‘variant’ was not declared in this scope
void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
^~~~~~~
./src/callback.h:55:25: note: suggested alternative: ‘vprintf’
void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
^~~~~~~
vprintf
./src/callback.h:55:45: error: template argument 1 is invalid
void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
^
./src/callback.h:55:25: error: ‘variant’ was not declared in this scope
void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
^~~~~~~
./src/callback.h:55:25: note: suggested alternative: ‘vprintf’
void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
^~~~~~~
vprintf
./src/callback.h:55:45: error: template argument 1 is invalid
void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
^
./src/callback.h:55:25: error: ‘variant’ was not declared in this scope
void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
^~~~~~~
./src/callback.h:55:25: note: suggested alternative: ‘vprintf’
void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
^~~~~~~
vprintf
./src/callback.h:55:45: error: template argument 1 is invalid
void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
^
./src/callback.h:55:18: error: ‘stack’ is not a type
void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
^~~~~
./src/callback.h:55:23: error: expected ‘,’ or ‘...’ before ‘<’ token
void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
^
In file included from ./src/natives.cpp:31:0:
./src/utility.h:29:12: error: ‘std::variant’ has not been declared
using std::variant;
^~~~~~~
In file included from ./src/natives.cpp:31:0:
./src/utility.h:37:9: error: ‘variant’ was not declared in this scope
stack< variant<cell, string> > Params;
^~~~~~~
./src/utility.h:37:9: note: suggested alternative: ‘__rint’
stack< variant<cell, string> > Params;
^~~~~~~
__rint
./src/utility.h:37:29: error: template argument 1 is invalid
stack< variant<cell, string> > Params;
^
./src/utility.h:37:31: error: expected unqualified-id before ‘>’ token
stack< variant<cell, string> > Params;
^
In file included from ./src/natives.cpp:33:0:
./src/callback.h:35:12: error: ‘std::variant’ has not been declared
using std::variant;
^~~~~~~
In file included from ./src/natives.cpp:33:0:
./src/callback.h:55:25: error: ‘variant’ was not declared in this scope
void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
^~~~~~~
./src/callback.h:55:25: note: suggested alternative: ‘__rint’
void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
^~~~~~~
__rint
./src/callback.h:55:45: error: template argument 1 is invalid
void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
^
./src/callback.h:55:25: error: ‘variant’ was not declared in this scope
void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
^~~~~~~
./src/callback.h:55:25: note: suggested alternative: ‘__rint’
void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
^~~~~~~
__rint
./src/callback.h:55:45: error: template argument 1 is invalid
void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
^
./src/callback.h:55:25: error: ‘variant’ was not declared in this scope
void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
^~~~~~~
./src/callback.h:55:25: note: suggested alternative: ‘__rint’
void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
^~~~~~~
__rint
./src/callback.h:55:45: error: template argument 1 is invalid
void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
^
./src/callback.h:55:18: error: ‘stack’ is not a type
void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
^~~~~
./src/callback.h:55:23: error: expected ‘,’ or ‘...’ before ‘<’ token
void Parameters(stack< variant<cell, string> > &CallbackParameters, const char *format, AMX *amx, cell *params, const unsigned pcount);
^
./src/natives.cpp: In function ‘cell Native::hash_generate(AMX*, cell*)’:
./src/natives.cpp:66:37: error: ‘struct CallbackData’ has no member named ‘Params’
Callback::Get()->Parameters(cData->Params, format, amx, params, ParameterCount);
^~~~~~
./src/natives.cpp: In function ‘cell Native::hash_validate(AMX*, cell*)’:
./src/natives.cpp:124:37: error: ‘struct CallbackData’ has no member named ‘Params’
Callback::Get()->Parameters(cData->Params, format, amx, params, ParameterCount);
^~~~~~
In file included from ./src/pbkdf2.h:26:0,
from ./src/pbkdf2.cpp:23:
./src/utility.h:29:12: error: ‘std::variant’ has not been declared
using std::variant;
^~~~~~~
In file included from ./src/pbkdf2.h:26:0,
from ./src/pbkdf2.cpp:23:
./src/utility.h:37:9: error: ‘variant’ was not declared in this scope
stack< variant<cell, string> > Params;
^~~~~~~
./src/utility.h:37:9: note: suggested alternative: ‘__rint’
stack< variant<cell, string> > Params;
^~~~~~~
__rint
./src/utility.h:37:29: error: template argument 1 is invalid
stack< variant<cell, string> > Params;
^
./src/utility.h:37:31: error: expected unqualified-id before ‘>’ token
stack< variant<cell, string> > Params;
^
In file included from ./src/utility.cpp:31:0:
./src/utility.h:29:12: error: ‘std::variant’ has not been declared
using std::variant;
^~~~~~~
In file included from ./src/utility.cpp:31:0:
./src/utility.h:37:9: error: ‘variant’ was not declared in this scope
stack< variant<cell, string> > Params;
^~~~~~~
./src/utility.h:37:9: note: suggested alternative: ‘__rint’
stack< variant<cell, string> > Params;
^~~~~~~
__rint
./src/utility.h:37:29: error: template argument 1 is invalid
stack< variant<cell, string> > Params;
^
./src/utility.h:37:31: error: expected unqualified-id before ‘>’ token
stack< variant<cell, string> > Params;
^
makefile:11: recipe for target 'hash' failed
make: *** [hash] Error 1
Mellnik commented
Boost is no longer necessary because of C++17. I forgot to update the makefile. Try to remove boost from the makefile and append "-std=gnu++17" instead.
C-far commented
I need to compile Crypto++ in 32 bits ?
gcc -std=gnu++17 -m32 -c -fPIC -O3 -DLINUX -w -I./include/ -I./include/SDK/amx/ ./include/SDK/amx/*.c
g++ -std=gnu++17 -m32 -c -fPIC -O3 -DLINUX -w -I./include/ -I./include/SDK/amx/ ./include/SDK/*.cpp
g++ -std=gnu++17 -m32 -c -fPIC -O3 -DLINUX -w -I./include/ -I./include/SDK/amx/ ./src/*.cpp
mkdir -p bin
g++ -std=gnu++17 -m32 -O2 -fshort-wchar -shared -o "bin/hash.so" *.o ./lib/libcryptopp.a -lrt -Wl,-Bstatic -Wl,-Bdynamic
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(cryptlib.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(integer.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(algparam.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(asn.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(base64.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(basecode.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(crc.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(crc_simd.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(dll.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(ec2n.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(ecp.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(files.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(filters.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(fips140.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(gf2n.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(gfpcrypt.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(hex.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(hmac.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(hrtimer.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(iterhash.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(md5.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(misc.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(modes.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(mqueue.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(nbtheory.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(oaep.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(osrng.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(pubkey.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(queue.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(randpool.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(rijndael.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(rijndael_simd.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(ripemd.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(rng.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(sha.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(sha3.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(sha_simd.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(whrlpool.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(cpu.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(keccakc.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(rdtables.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `./lib/libcryptopp.a(sse_simd.o)' is incompatible with i386 output
Mellnik commented
This one is new to me but yes, you can try the -m32 switch for the lib.
C-far commented
I have compiled all Crypto++ files in 32 bits and with a remake of the makefile + adding 2 #include to compile correctly (functional and cstring files)
GPP = g++
GCC = gcc
OUTPUT = "bin/hash.so"
COMPILER_FLAGS = -std=gnu++17 -m32 -c -DLINUX -w -I./include/ -I./include/SDK/amx/
LIBRARIES = ./lib/libcryptopp.a -lrt -Wl,-Bstatic -Wl,-Bdynamic
CRYPTOPP_SRC_DIR = ./src/cryptopp
all: cryptolib hash clean
hash:
$(GCC) $(COMPILER_FLAGS) ./include/SDK/amx/*.c
$(GPP) $(COMPILER_FLAGS) ./include/SDK/*.cpp
$(GPP) $(COMPILER_FLAGS) ./src/*.cpp
mkdir -p bin
$(GPP) -std=gnu++17 -m32 -fshort-wchar -shared -o $(OUTPUT) *.o $(LIBRARIES)
cryptolib:
$(MAKE) -C $(CRYPTOPP_SRC_DIR) static
mkdir -p lib
cp $(CRYPTOPP_SRC_DIR)/libcryptopp.a ./lib
clean:
rm -f *.o
rsetiawan7 commented
I've make a pull request to able build the plugin in Linux.
#11