Compiling on Linux
#1
Didn't see a dedicated section for support, so I'll post it here. Downloaded revision 918 with subversion, types "make" and "make release=1" and here is what it outputs, and then quits immediately afterwards:
Code:
make
/usr/bin/g++ -s -ggdb -D_DEBUG -c -I. -Isource -Isource/md5 -IWebServer -Isource/items -Isource/blocks -Itolua++-1.0.93/src/lib -Ilua-5.1.4/src -Izlib-1.2.7 -IiniFile -Itolua++-1.0.93/include -Ijsoncpp-src-0.5.0/include -Ijsoncpp-src-0.5.0/src/lib_json -Isquirrel_3_0_1_stable/include -Isquirrel_3_0_1_stable -Isquirrel_3_0_1_stable/sqrat CryptoPP/wake.cpp -o build/debug/CryptoPP/wake.o
In file included from CryptoPP/wake.h:5:0,
                 from CryptoPP/wake.cpp:4:
CryptoPP/secblock.h: In instantiation of ‘CryptoPP::AllocatorWithCleanup<T, T_Align16>::pointer CryptoPP::AllocatorWithCleanup<T, T_Align16>::allocate(CryptoPP::AllocatorWithCleanup<T, T_Align16>::size_type, const void*) [with T = unsigned char; bool T_Align16 = false; CryptoPP::AllocatorWithCleanup<T, T_Align16>::pointer = unsigned char*; CryptoPP::AllocatorWithCleanup<T, T_Align16>::size_type = long unsigned int]’:
CryptoPP/secblock.h:247:19:   required from ‘CryptoPP::SecBlock<T, A>::SecBlock(CryptoPP::SecBlock<T, A>::size_type) [with T = unsigned char; A = CryptoPP::AllocatorWithCleanup<unsigned char>; CryptoPP::SecBlock<T, A>::size_type = long unsigned int]’
CryptoPP/strciphr.h:134:26:   required from ‘CryptoPP::SymmetricCipherFinal<BASE, INFO>::SymmetricCipherFinal() [with BASE = CryptoPP::ConcretePolicyHolder<CryptoPP::WAKE_Policy<CryptoPP::EnumToType<CryptoPP::ByteOrder, 1> >, CryptoPP::AdditiveCipherTemplate<CryptoPP::AbstractPolicyHolder<CryptoPP::AdditiveCipherAbstractPolicy, CryptoPP::SymmetricCipher> >, CryptoPP::AdditiveCipherAbstractPolicy>; INFO = CryptoPP::WAKE_OFB_Info<CryptoPP::EnumToType<CryptoPP::ByteOrder, 1> >]’
CryptoPP/wake.cpp:10:25:   required from here
CryptoPP/secblock.h:91:3: error: ‘CheckSize’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
CryptoPP/secblock.h:91:3: note: declarations in dependent base ‘CryptoPP::AllocatorBase<unsigned char>’ are not found by unqualified lookup
CryptoPP/secblock.h:91:3: note: use ‘this->CheckSize’ instead
make: *** [build/debug/CryptoPP/wake.o] Error 1

I have GCC 4.7.2 and GNU make 3.82. Operator error, or?
Reply
Thanks given by:
#2
That seems like a problem inside the CryptoPP library; no idea how to fix that, sorry.

Maybe, since we're using only a small fraction of the library, removing the wake.cpp file might actually help - it might not be needed for MCServer. Try that first, and if that produces a working binary, we'll remove the file from the repo.
Reply
Thanks given by:
#3
I've removed the offending file since it doesn't seem to be needed at all. Please try compiling rev 925.
Reply
Thanks given by:
#4
Code:
make
/usr/bin/g++ -s -ggdb -D_DEBUG -c -I. -Isource -Isource/md5 -IWebServer -Isource/items -Isource/blocks -Itolua++-1.0.93/src/lib -Ilua-5.1.4/src -Izlib-1.2.7 -IiniFile -Itolua++-1.0.93/include -Ijsoncpp-src-0.5.0/include -Ijsoncpp-src-0.5.0/src/lib_json -Isquirrel_3_0_1_stable/include -Isquirrel_3_0_1_stable -Isquirrel_3_0_1_stable/sqrat CryptoPP/rng.cpp -o build/debug/CryptoPP/rng.o
In file included from CryptoPP/rng.h:7:0,
                 from CryptoPP/rng.cpp:5:
CryptoPP/filters.h:7:22: fatal error: secblock.h: No such file or directory
compilation terminated.
make: *** [build/debug/CryptoPP/rng.o] Error 1
[jordan@jordan mc-server-read-only]$ make
/usr/bin/g++ -s -ggdb -D_DEBUG -c -I. -Isource -Isource/md5 -IWebServer -Isource/items -Isource/blocks -Itolua++-1.0.93/src/lib -Ilua-5.1.4/src -Izlib-1.2.7 -IiniFile -Itolua++-1.0.93/include -Ijsoncpp-src-0.5.0/include -Ijsoncpp-src-0.5.0/src/lib_json -Isquirrel_3_0_1_stable/include -Isquirrel_3_0_1_stable -Isquirrel_3_0_1_stable/sqrat CryptoPP/rng.cpp -o build/debug/CryptoPP/rng.o
In file included from CryptoPP/filters.h:7:0,
                 from CryptoPP/rng.h:7,
                 from CryptoPP/rng.cpp:5:
CryptoPP/secblock.h: In instantiation of ‘CryptoPP::AllocatorWithCleanup<T, T_Align16>::pointer CryptoPP::AllocatorWithCleanup<T, T_Align16>::allocate(CryptoPP::AllocatorWithCleanup<T, T_Align16>::size_type, const void*) [with T = unsigned char; bool T_Align16 = false; CryptoPP::AllocatorWithCleanup<T, T_Align16>::pointer = unsigned char*; CryptoPP::AllocatorWithCleanup<T, T_Align16>::size_type = long unsigned int]’:
CryptoPP/secblock.h:247:19:   required from ‘CryptoPP::SecBlock<T, A>::SecBlock(CryptoPP::SecBlock<T, A>::size_type) [with T = unsigned char; A = CryptoPP::AllocatorWithCleanup<unsigned char>; CryptoPP::SecBlock<T, A>::size_type = long unsigned int]’
CryptoPP/algparam.h:17:2:   required from here
CryptoPP/secblock.h:91:3: error: ‘CheckSize’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
CryptoPP/secblock.h:91:3: note: declarations in dependent base ‘CryptoPP::AllocatorBase<unsigned char>’ are not found by unqualified lookup
CryptoPP/secblock.h:91:3: note: use ‘this->CheckSize’ instead
make: *** [build/debug/CryptoPP/rng.o] Error 1
Revision 925, otherwise same setup as earlier. Edit the read only folder is in fact modifiable, just didn't rename it to reflect that.
Reply
Thanks given by:
#5
Also, simply getting rid of secblock does not work, it is required for this.

EDIT: I messed with secblock, and fixed it. Now other files are throwing errors, I will see about fixing those too. I'll upload the fixed files in a zip folder once I get them fixed.
It would seem my progress has been suddenly halted, found a bug in GCC, which I do not feel like looking into right now. I will when I get back from school tomorrow.
Reply
Thanks given by:
#6
You can add the -fpermissive flag to compile it, it worked for me, but now I have bugs, and the server crashes when someone respawns (see Here)
Reply
Thanks given by:
#7
(10-06-2012, 06:02 PM)konfiot Wrote: You can add the -fpermissive flag to compile it, it worked for me, but now I have bugs, and the server crashes when someone respawns (see Here)

I tried that, and I still came upon the error. I meant to upload the patched cryptopp files the other night, but forgot about it in the midst of real life. I'm going to try downloading the latest revision.
Reply
Thanks given by:
#8
(10-09-2012, 12:28 PM)The Walking Glitch Wrote:
(10-06-2012, 06:02 PM)konfiot Wrote: You can add the -fpermissive flag to compile it, it worked for me, but now I have bugs, and the server crashes when someone respawns (see Here)

I tried that, and I still came upon the error. I meant to upload the patched cryptopp files the other night, but forgot about it in the midst of real life. I'm going to try downloading the latest revision.
Arf, Yeah the last rev is fixing this error, but I got an other error, which I fixed also with with a -fpermissive flag (this flag is kinda magicBig Grin) Hope it will work for you.
What's your hardware and OS ?
Reply
Thanks given by:
#9
(10-09-2012, 03:27 PM)konfiot Wrote:
(10-09-2012, 12:28 PM)The Walking Glitch Wrote:
(10-06-2012, 06:02 PM)konfiot Wrote: You can add the -fpermissive flag to compile it, it worked for me, but now I have bugs, and the server crashes when someone respawns (see Here)

I tried that, and I still came upon the error. I meant to upload the patched cryptopp files the other night, but forgot about it in the midst of real life. I'm going to try downloading the latest revision.
Arf, Yeah the last rev is fixing this error, but I got an other error, which I fixed also with with a -fpermissive flag (this flag is kinda magicBig Grin) Hope it will work for you.
What's your hardware and OS ?
Phenom II 1090T @ 4.4Ghz; 16GB of RAM; 120GB SSD boot drive; 4 2TB drives, RAID 0+1; CFed 7870's OCed to 1200MHz. Fedora 17 xfce. And yes, the -fpermissive flag does work magic sometimes.
Code:
make release=1 CFLAGS="-fpermissive"
/usr/bin/g++ -s -O3 -DNDEBUG -c -I. -Isource -Isource/md5 -IWebServer -Isource/items -Isource/blocks -Itolua++-1.0.93/src/lib -Ilua-5.1.4/src -Izlib-1.2.7 -IiniFile -Itolua++-1.0.93/include -Ijsoncpp-src-0.5.0/include -Ijsoncpp-src-0.5.0/src/lib_json -Isquirrel_3_0_1_stable/include -Isquirrel_3_0_1_stable -Isquirrel_3_0_1_stable/sqrat source/Server.cpp -o build/release/source/Server.o
In file included from source/Protocol/ProtocolRecognizer.h:13:0,
                 from source/Server.cpp:23:
source/Protocol/Protocol.h: In member function ‘void cProtocol::WriteVectorI(const Vector3i&)’:
source/Protocol/Protocol.h:163:22: error: ‘WriteInt’ was not declared in this scope
make: *** [build/release/source/Server.o] Error 1

Still refuses to compile even with -fpermissive set, as you can see. I don't have the time to fix it myself right now.
Reply
Thanks given by:
#10
Did you get the latest sources? Rev 1013 compiles fine with gcc 4.4.3 on Ubuntu on my computer. The error you're listing makes no sense - the WriteInt() function is defined a few lines above that error.
Reply
Thanks given by:




Users browsing this thread: 10 Guest(s)