cryptopp 5.5.2 i gcc 4.7

Łukasz Michalski lm at zork.pl
Tue Sep 4 12:05:06 CEST 2012


On 09/04/2012 11:45 AM, Jan Rękorajski wrote:
> On Tue, 04 Sep 2012, Łukasz Michalski wrote:
> 
>> Witam,
>>
>> Budowa cryptopp 5.5.2 za pomocą gcc 4.7.1 kończy się tak:
>>
>> /bin/sh ./libtool --tag=CXX   --mode=compile i686-pld-linux-g++
>> -DHAVE_CONFIG_H -I.   -D_FORTIFY_SOURCE=2   -O2 -pipe
>> -fno-strict-aliasing -fwrapv -march=i686 -mtune=pentium4 -gdwarf-4
>> -fno-debug-types-section -g2  -DCRYPTOPP_DISABLE_X86ASM -MT algparam.lo
>> -MD -MP -MF .deps/algparam.Tpo -c -o algparam.lo algparam.cpp
>> libtool: compile:  i686-pld-linux-g++ -DHAVE_CONFIG_H -I.
>> -D_FORTIFY_SOURCE=2 -O2 -pipe -fno-strict-aliasing -fwrapv -march=i686
>> -mtune=pentium4 -gdwarf-4 -fno-debug-types-section -g2
>> -DCRYPTOPP_DISABLE_X86ASM -MT algparam.lo -MD -MP -MF .deps/algparam.Tpo
>> -c algparam.cpp  -fPIC -DPIC -o .libs/algparam.o
>> In file included from algparam.h:6:0,
>>                  from algparam.cpp:7:
>> 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 = unsigned int]':
>> secblock.h:283: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 = unsigned int]'
>> algparam.h:17:2:   required from here
>> secblock.h:97:3: error: 'CheckSize' was not declared in this scope, and
>> no declarations were found by argument-dependent lookup at the point of
>> instantiation [-fpermissive]
>> secblock.h:97:3: note: declarations in dependent base
>> 'CryptoPP::AllocatorBase<unsigned char>' are not found by unqualified lookup
>> secblock.h:97:3: note: use 'this->CheckSize' instead
>> make[1]: *** [algparam.lo] Error 1
>>
>> Próbowałem 5.6.1 - też się nie buduje, nawet z tym:
>> http://sourceforge.net/apps/trac/cryptopp/attachment/ticket/14/gcc4.7.diff
>>
>> Jak wersja z repo została zbudowana? Starszym kompilatorem? Czy są
>> gdzieś jakieś patche o których nie wiem?
> 
> Patrząc po datach to było kompilowane bardzo starym gcc (Built: 2008/07/27 23:19).
> Próbowałeś dodać -fpermissive do CXXFLAGS jak sugeruje komunikat błędu?
> 

Nie, poddałem się. Powyższy patch dla 5.6.1 pomaga, ale dodałem jeszcze
swój. Crypttest i tak się nie linkuje za pomocą configure zrobionego
przez PLD z dynamiczną wersją.

Ponieważ we własnym projekcie i tak dla windowsa buduję lokalną wersję
ze źródeł to na razie pod linuxem zrobiłem tak samo.

Załączone patche pozwalają na zbudowanie 5.6.1 za pomocą oryginalnego
GNUmakefile (biblioteka statyczna).

pozdrawiam,
Łukasz
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cryptopp-gcc4.7.patch
Type: text/x-patch
Size: 3912 bytes
Desc: not available
URL: </mailman/pipermail/pld-devel-pl/attachments/20120904/e47cfb6c/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cryptopp-gcc4.7-panama.patch
Type: text/x-patch
Size: 339 bytes
Desc: not available
URL: </mailman/pipermail/pld-devel-pl/attachments/20120904/e47cfb6c/attachment-0001.bin>


More information about the pld-devel-pl mailing list