Welcome!

Welcome to the official BlackBerry Support Community Forums.

This is your resource to discuss support topics with your peers, and learn from each other.

inside custom component

Native Development

Reply
Developer
borceg
Posts: 671
Registered: ‎03-21-2012
My Device: BlackBerry PlayBook 16GB
My Carrier: Vip
Accepted Solution

Issues with building p7zip

Yesterday I tried to build p7zip (p7zip is the command line version of 7-Zip for Unix/Linux, made by an independent developer.) located here http://sourceforge.net/projects/p7zip/

 

It's makefile based project, already ported to old qnx 6.4/6.3 with this makefile

 

###################################################
# makefile.machine for "7z , 7za , 7zr , 7zCon.sfx " :
# tested with p7zip-4.47_beta on qnx-6.3.0 sp3 x86 target

OPTFLAGS=-O

ALLFLAGS=${OPTFLAGS} -s \
       -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE \
       -DNDEBUG -D_REENTRANT -DENV_UNIX \
       $(LOCAL_FLAGS)

CXX=QCC -V3.3.5,gcc_ntox86 $(ALLFLAGS)
CC=qcc -V3.3.5,gcc_ntox86 $(ALLFLAGS)
LINK_SHARED=-shared

#LOCAL_LIBS=-lpthread
#LOCAL_LIBS_DLL=$(LOCAL_LIBS) -ldl
LOCAL_LIBS_DLL=$(LOCAL_LIBS)

OBJ_CRC32=$(OBJ_CRC32_C)

 

I changed these two lines to match NDK 2.0.0 (-V4.4.2)

CXX=QCC -V3.3.5,gcc_ntox86 $(ALLFLAGS)
CC=qcc -V3.3.5,gcc_ntox86 $(ALLFLAGS)

Here is quite  big error log of what I got so far

 

PpmdEncoder.o:(.eh_frame+0x1fb): undefined reference to `__gxx_personality_v0'
PpmdRegister.o: In function `CreateCodecOut()':
PpmdRegister.cpp:(.text+0x28): undefined reference to `operator new(unsigned int
)'
PpmdRegister.cpp:(.text+0x3e): undefined reference to `operator delete(void*)'
PpmdRegister.o: In function `CreateCodec()':
PpmdRegister.cpp:(.text+0x6d): undefined reference to `operator new(unsigned int
)'
PpmdRegister.cpp:(.text+0x124): undefined reference to `operator delete(void*)'
PpmdRegister.o:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'
PpmdRegister.o:(.eh_frame+0xf3): undefined reference to `__gxx_personality_v0'
PpmdZip.o: In function `NCompress::NPpmdZip::CEncoder::~CEncoder()':
PpmdZip.cpp:(.text+0x49e): undefined reference to `operator delete(void*)'
PpmdZip.o: In function `NCompress::NPpmdZip::CDecoder::~CDecoder()':
PpmdZip.cpp:(.text+0x8ee): undefined reference to `operator delete(void*)'
PpmdZip.o:(.rodata._ZTIN9NCompress8NPpmdZip8CEncoderE[_ZTIN9NCompress8NPpmdZip8C
EncoderE]+0x0): undefined reference to `vtable for __cxxabiv1::__vmi_class_type_
info'
PpmdZip.o:(.rodata._ZTIN9NCompress8NPpmdZip8CDecoderE[_ZTIN9NCompress8NPpmdZip8C
DecoderE]+0x0): undefined reference to `vtable for __cxxabiv1::__vmi_class_type_
info'
PpmdZip.o:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'
PpmdZip.o:(.eh_frame+0x1c7): undefined reference to `__gxx_personality_v0'
QuantumDecoder.o: In function `NCompress::NQuantum::CDecoder::Code(ISequentialIn
Stream*, ISequentialOutStream*, unsigned long long const*, unsigned long long co
nst*, ICompressProgressInfo*)':
QuantumDecoder.cpp:(.text+0x12e5): undefined reference to `__cxa_begin_catch'
QuantumDecoder.cpp:(.text+0x12ec): undefined reference to `__cxa_end_catch'
QuantumDecoder.cpp:(.text+0x12f6): undefined reference to `__cxa_begin_catch'
QuantumDecoder.cpp:(.text+0x12fd): undefined reference to `__cxa_end_catch'
QuantumDecoder.cpp:(.text+0x1307): undefined reference to `__cxa_begin_catch'
QuantumDecoder.cpp:(.text+0x130c): undefined reference to `__cxa_end_catch'
QuantumDecoder.o: In function `NCompress::NQuantum::CDecoder::~CDecoder()':
QuantumDecoder.cpp:(.text._ZN9NCompress8NQuantum8CDecoderD0Ev[_ZN9NCompress8NQua
ntum8CDecoderD0Ev]+0xdd): undefined reference to `operator delete(void*)'
QuantumDecoder.o:(.rodata._ZTIN9NCompress8NQuantum8CDecoderE[_ZTIN9NCompress8NQu
antum8CDecoderE]+0x0): undefined reference to `vtable for __cxxabiv1::__vmi_clas
s_type_info'
QuantumDecoder.o:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'

QuantumDecoder.o:(.eh_frame+0x1a3): undefined reference to `__gxx_personality_v0
'
ShrinkDecoder.o: In function `NCompress::NShrink::CDecoder::Code(ISequentialInSt
ream*, ISequentialOutStream*, unsigned long long const*, unsigned long long cons
t*, ICompressProgressInfo*)':
ShrinkDecoder.cpp:(.text+0x761): undefined reference to `__cxa_begin_catch'
ShrinkDecoder.cpp:(.text+0x768): undefined reference to `__cxa_end_catch'
ShrinkDecoder.cpp:(.text+0x772): undefined reference to `__cxa_begin_catch'
ShrinkDecoder.cpp:(.text+0x779): undefined reference to `__cxa_end_catch'
ShrinkDecoder.cpp:(.text+0x783): undefined reference to `__cxa_begin_catch'
ShrinkDecoder.cpp:(.text+0x788): undefined reference to `__cxa_end_catch'
ShrinkDecoder.o: In function `NCompress::NShrink::CDecoder::~CDecoder()':
ShrinkDecoder.cpp:(.text._ZN9NCompress7NShrink8CDecoderD0Ev[_ZN9NCompress7NShrin
k8CDecoderD0Ev]+0x13): undefined reference to `operator delete(void*)'
ShrinkDecoder.o:(.rodata._ZTIN9NCompress7NShrink8CDecoderE[_ZTIN9NCompress7NShri
nk8CDecoderE]+0x0): undefined reference to `vtable for __cxxabiv1::__vmi_class_t
ype_info'
ShrinkDecoder.o:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'
ShrinkDecoder.o:(.eh_frame+0x12f): undefined reference to `__gxx_personality_v0'

ZDecoder.o: In function `NCompress::NZ::CDecoder::~CDecoder()':
ZDecoder.cpp:(.text+0xbf): undefined reference to `operator delete(void*)'
ZDecoder.o: In function `NCompress::NZ::CDecoder::Code(ISequentialInStream*, ISe
quentialOutStream*, unsigned long long const*, unsigned long long const*, ICompr
essProgressInfo*)':
ZDecoder.cpp:(.text+0x7ef): undefined reference to `__cxa_begin_catch'
ZDecoder.cpp:(.text+0x7f6): undefined reference to `__cxa_end_catch'
ZDecoder.cpp:(.text+0x800): undefined reference to `__cxa_begin_catch'
ZDecoder.cpp:(.text+0x807): undefined reference to `__cxa_end_catch'
ZDecoder.cpp:(.text+0x811): undefined reference to `__cxa_begin_catch'
ZDecoder.cpp:(.text+0x816): undefined reference to `__cxa_end_catch'
ZDecoder.o:(.rodata._ZTIN9NCompress2NZ8CDecoderE[_ZTIN9NCompress2NZ8CDecoderE]+0
x0): undefined reference to `vtable for __cxxabiv1::__vmi_class_type_info'
ZDecoder.o:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'
ZDecoder.o:(.eh_frame+0x167): undefined reference to `__gxx_personality_v0'
7zAes.o: In function `NCrypto::NSevenZ::CEncoder::CreateFilter()':
7zAes.cpp:(.text+0x338): undefined reference to `operator new(unsigned int)'
7zAes.cpp:(.text+0x34e): undefined reference to `operator delete(void*)'
7zAes.o: In function `NCrypto::NSevenZ::CDecoder::CreateFilter()':
7zAes.cpp:(.text+0x6be): undefined reference to `operator new(unsigned int)'
7zAes.cpp:(.text+0x6d4): undefined reference to `operator delete(void*)'
7zAes.o: In function `NCrypto::NSevenZ::CBaseCoder::CryptoSetPassword(unsigned c
har const*, unsigned int)':
7zAes.cpp:(.text+0x73f): undefined reference to `operator new[](unsigned int)'
7zAes.cpp:(.text+0x772): undefined reference to `operator delete[](void*)'
7zAes.o: In function `NCrypto::NSevenZ::CKeyInfoCache::Find(NCrypto::NSevenZ::CK
eyInfo&)':
7zAes.cpp:(.text+0x80a): undefined reference to `operator new(unsigned int)'
7zAes.cpp:(.text+0x85c): undefined reference to `operator new[](unsigned int)'
7zAes.cpp:(.text+0x89c): undefined reference to `operator delete[](void*)'
7zAes.cpp:(.text+0x94f): undefined reference to `operator delete(void*)'
7zAes.cpp:(.text+0x986): undefined reference to `operator delete[](void*)'
7zAes.cpp:(.text+0x98e): undefined reference to `operator delete(void*)'
7zAes.o: In function `NCrypto::NSevenZ::CKeyInfoCache::Add(NCrypto::NSevenZ::CKe
yInfo&)':
7zAes.cpp:(.text+0xa18): undefined reference to `operator new(unsigned int)'
7zAes.cpp:(.text+0xa65): undefined reference to `operator new[](unsigned int)'
7zAes.cpp:(.text+0xa98): undefined reference to `operator delete[](void*)'
7zAes.cpp:(.text+0xb14): undefined reference to `operator delete(void*)'
7zAes.o: In function `CObjectVector<NCrypto::NSevenZ::CKeyInfo>::~CObjectVector(
)':
7zAes.cpp:(.text._ZN13CObjectVectorIN7NCrypto7NSevenZ8CKeyInfoEED0Ev[_ZN13CObjec
tVectorIN7NCrypto7NSevenZ8CKeyInfoEED0Ev]+0x49): undefined reference to `operato
r delete(void*)'
7zAes.o: In function `CObjectVector<NCrypto::NSevenZ::CKeyInfo>::Delete(int, int
)':
7zAes.cpp:(.text._ZN13CObjectVectorIN7NCrypto7NSevenZ8CKeyInfoEE6DeleteEii[_ZN13
CObjectVectorIN7NCrypto7NSevenZ8CKeyInfoEE6DeleteEii]+0x4f): undefined reference
 to `operator delete[](void*)'
7zAes.cpp:(.text._ZN13CObjectVectorIN7NCrypto7NSevenZ8CKeyInfoEE6DeleteEii[_ZN13
CObjectVectorIN7NCrypto7NSevenZ8CKeyInfoEE6DeleteEii]+0x57): undefined reference
 to `operator delete(void*)'
7zAes.o: In function `NCrypto::NSevenZ::CBase::~CBase()':
7zAes.cpp:(.text._ZN7NCrypto7NSevenZ5CBaseD2Ev[_ZN7NCrypto7NSevenZ5CBaseD2Ev]+0x
21): undefined reference to `operator delete[](void*)'
7zAes.o: In function `NCrypto::NSevenZ::CEncoder::~CEncoder()':
7zAes.cpp:(.text._ZN7NCrypto7NSevenZ8CEncoderD0Ev[_ZN7NCrypto7NSevenZ8CEncoderD0
Ev]+0x82): undefined reference to `operator delete[](void*)'
7zAes.cpp:(.text._ZN7NCrypto7NSevenZ8CEncoderD0Ev[_ZN7NCrypto7NSevenZ8CEncoderD0
Ev]+0xed): undefined reference to `operator delete(void*)'
7zAes.o: In function `NCrypto::NSevenZ::CBaseCoder::~CBaseCoder()':
7zAes.cpp:(.text._ZN7NCrypto7NSevenZ10CBaseCoderD0Ev[_ZN7NCrypto7NSevenZ10CBaseC
oderD0Ev]+0x5c): undefined reference to `operator delete[](void*)'
7zAes.cpp:(.text._ZN7NCrypto7NSevenZ10CBaseCoderD0Ev[_ZN7NCrypto7NSevenZ10CBaseC
oderD0Ev]+0xbe): undefined reference to `operator delete(void*)'
7zAes.o: In function `NCrypto::NSevenZ::CBaseCoder::~CBaseCoder()':
7zAes.cpp:(.text._ZN7NCrypto7NSevenZ10CBaseCoderD1Ev[_ZN7NCrypto7NSevenZ10CBaseC
oderD1Ev]+0x5c): undefined reference to `operator delete[](void*)'
7zAes.o: In function `NCrypto::NSevenZ::CDecoder::~CDecoder()':
7zAes.cpp:(.text._ZN7NCrypto7NSevenZ8CDecoderD1Ev[_ZN7NCrypto7NSevenZ8CDecoderD1
Ev]+0x6c): undefined reference to `operator delete[](void*)'
7zAes.o: In function `NCrypto::NSevenZ::CEncoder::~CEncoder()':
7zAes.cpp:(.text._ZN7NCrypto7NSevenZ8CEncoderD1Ev[_ZN7NCrypto7NSevenZ8CEncoderD1
Ev]+0x80): undefined reference to `operator delete[](void*)'
7zAes.o: In function `NCrypto::NSevenZ::CDecoder::~CDecoder()':
7zAes.cpp:(.text._ZN7NCrypto7NSevenZ8CDecoderD0Ev[_ZN7NCrypto7NSevenZ8CDecoderD0
Ev]+0x6e): undefined reference to `operator delete[](void*)'
7zAes.cpp:(.text._ZN7NCrypto7NSevenZ8CDecoderD0Ev[_ZN7NCrypto7NSevenZ8CDecoderD0
Ev]+0xd9): undefined reference to `operator delete(void*)'
7zAes.o:(.rodata._ZTVN7NCrypto7NSevenZ10CBaseCoderE[_ZTVN7NCrypto7NSevenZ10CBase
CoderE]+0x8): undefined reference to `__cxa_pure_virtual'
7zAes.o:(.rodata._ZTVN7NCrypto7NSevenZ10CBaseCoderE[_ZTVN7NCrypto7NSevenZ10CBase
CoderE]+0xc): undefined reference to `__cxa_pure_virtual'
7zAes.o:(.rodata._ZTVN7NCrypto7NSevenZ10CBaseCoderE[_ZTVN7NCrypto7NSevenZ10CBase
CoderE]+0x10): undefined reference to `__cxa_pure_virtual'
7zAes.o:(.rodata._ZTVN7NCrypto7NSevenZ10CBaseCoderE[_ZTVN7NCrypto7NSevenZ10CBase
CoderE]+0x24): undefined reference to `__cxa_pure_virtual'
7zAes.o:(.rodata._ZTVN7NCrypto7NSevenZ10CBaseCoderE[_ZTVN7NCrypto7NSevenZ10CBase
CoderE]+0x34): undefined reference to `__cxa_pure_virtual'
7zAes.o:(.rodata._ZTVN7NCrypto7NSevenZ10CBaseCoderE[_ZTVN7NCrypto7NSevenZ10CBase
CoderE]+0x38): more undefined references to `__cxa_pure_virtual' follow
7zAes.o:(.rodata._ZTIN7NCrypto7NSevenZ8CDecoderE[_ZTIN7NCrypto7NSevenZ8CDecoderE
]+0x0): undefined reference to `vtable for __cxxabiv1::__vmi_class_type_info'
7zAes.o:(.rodata._ZTIN7NCrypto7NSevenZ8CEncoderE[_ZTIN7NCrypto7NSevenZ8CEncoderE
]+0x0): undefined reference to `vtable for __cxxabiv1::__vmi_class_type_info'
7zAes.o:(.rodata._ZTIN7NCrypto7NSevenZ10CBaseCoderE[_ZTIN7NCrypto7NSevenZ10CBase
CoderE]+0x0): undefined reference to `vtable for __cxxabiv1::__vmi_class_type_in
fo'
7zAes.o:(.rodata._ZTIN7NCrypto7NSevenZ5CBaseE[_ZTIN7NCrypto7NSevenZ5CBaseE]+0x0)
: undefined reference to `vtable for __cxxabiv1::__class_type_info'
7zAes.o:(.rodata._ZTI13CObjectVectorIN7NCrypto7NSevenZ8CKeyInfoEE[_ZTI13CObjectV
ectorIN7NCrypto7NSevenZ8CKeyInfoEE]+0x0): undefined reference to `vtable for __c
xxabiv1::__si_class_type_info'
7zAes.o:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'
7zAes.o:(.eh_frame+0x31b): undefined reference to `__gxx_personality_v0'
7zAesRegister.o: In function `CreateCodec()':
7zAesRegister.cpp:(.text+0x2b): undefined reference to `operator new(unsigned in
t)'
7zAesRegister.cpp:(.text+0x99): undefined reference to `operator delete(void*)'
7zAesRegister.o: In function `CreateCodecOut()':
7zAesRegister.cpp:(.text+0xbc): undefined reference to `operator new(unsigned in
t)'
7zAesRegister.cpp:(.text+0x134): undefined reference to `operator delete(void*)'

7zAesRegister.o:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'
7zAesRegister.o:(.eh_frame+0x19b): undefined reference to `__gxx_personality_v0'

HmacSha1.o:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'
MyAes.o: In function `NCrypto::CAesCbcCoder::~CAesCbcCoder()':
MyAes.cpp:(.text._ZN7NCrypto12CAesCbcCoderD0Ev[_ZN7NCrypto12CAesCbcCoderD0Ev]+0x
22): undefined reference to `operator delete(void*)'
MyAes.o: In function `NCrypto::CAesCbcEncoder::~CAesCbcEncoder()':
MyAes.cpp:(.text._ZN7NCrypto14CAesCbcEncoderD0Ev[_ZN7NCrypto14CAesCbcEncoderD0Ev
]+0x22): undefined reference to `operator delete(void*)'
MyAes.o:(.rodata._ZTIN7NCrypto12CAesCbcCoderE[_ZTIN7NCrypto12CAesCbcCoderE]+0x0)
: undefined reference to `vtable for __cxxabiv1::__vmi_class_type_info'
MyAes.o:(.rodata._ZTIN7NCrypto14CAesCbcEncoderE[_ZTIN7NCrypto14CAesCbcEncoderE]+
0x0): undefined reference to `vtable for __cxxabiv1::__si_class_type_info'
MyAes.o:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'
Pbkdf2HmacSha1.o:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'

RandGen.o:(.eh_frame+0x13): undefined reference to `__gxx_personality_v0'
RandGen.o:(.eh_frame+0x72): undefined reference to `__gxx_personality_v0'
Sha1.o:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'
WzAes.o: In function `NCrypto::NWzAes::CBaseCoder::CryptoSetPassword(unsigned ch
ar const*, unsigned int)':
WzAes.cpp:(.text+0x5c9): undefined reference to `operator new[](unsigned int)'
WzAes.cpp:(.text+0x5fc): undefined reference to `operator delete[](void*)'
WzAes.o: In function `NCrypto::NWzAes::CDecoder::~CDecoder()':
WzAes.cpp:(.text._ZN7NCrypto6NWzAes8CDecoderD1Ev[_ZN7NCrypto6NWzAes8CDecoderD1Ev
]+0x45): undefined reference to `operator delete[](void*)'
WzAes.o: In function `NCrypto::NWzAes::CBaseCoder::~CBaseCoder()':
WzAes.cpp:(.text._ZN7NCrypto6NWzAes10CBaseCoderD0Ev[_ZN7NCrypto6NWzAes10CBaseCod
erD0Ev]+0x31): undefined reference to `operator delete[](void*)'
WzAes.cpp:(.text._ZN7NCrypto6NWzAes10CBaseCoderD0Ev[_ZN7NCrypto6NWzAes10CBaseCod
erD0Ev]+0x46): undefined reference to `operator delete(void*)'
WzAes.o: In function `NCrypto::NWzAes::CBaseCoder::~CBaseCoder()':
WzAes.cpp:(.text._ZN7NCrypto6NWzAes10CBaseCoderD1Ev[_ZN7NCrypto6NWzAes10CBaseCod
erD1Ev]+0x31): undefined reference to `operator delete[](void*)'
WzAes.o: In function `NCrypto::NWzAes::CEncoder::~CEncoder()':
WzAes.cpp:(.text._ZN7NCrypto6NWzAes8CEncoderD0Ev[_ZN7NCrypto6NWzAes8CEncoderD0Ev
]+0x38): undefined reference to `operator delete[](void*)'
WzAes.cpp:(.text._ZN7NCrypto6NWzAes8CEncoderD0Ev[_ZN7NCrypto6NWzAes8CEncoderD0Ev
]+0x4d): undefined reference to `operator delete(void*)'
WzAes.o: In function `NCrypto::NWzAes::CEncoder::~CEncoder()':
WzAes.cpp:(.text._ZN7NCrypto6NWzAes8CEncoderD1Ev[_ZN7NCrypto6NWzAes8CEncoderD1Ev
]+0x31): undefined reference to `operator delete[](void*)'
WzAes.o: In function `NCrypto::NWzAes::CDecoder::~CDecoder()':
WzAes.cpp:(.text._ZN7NCrypto6NWzAes8CDecoderD0Ev[_ZN7NCrypto6NWzAes8CDecoderD0Ev
]+0x4c): undefined reference to `operator delete[](void*)'
WzAes.cpp:(.text._ZN7NCrypto6NWzAes8CDecoderD0Ev[_ZN7NCrypto6NWzAes8CDecoderD0Ev
]+0x61): undefined reference to `operator delete(void*)'
WzAes.o:(.rodata._ZTVN7NCrypto6NWzAes10CBaseCoderE[_ZTVN7NCrypto6NWzAes10CBaseCo
derE]+0x8): undefined reference to `__cxa_pure_virtual'
WzAes.o:(.rodata._ZTVN7NCrypto6NWzAes10CBaseCoderE[_ZTVN7NCrypto6NWzAes10CBaseCo
derE]+0xc): undefined reference to `__cxa_pure_virtual'
WzAes.o:(.rodata._ZTVN7NCrypto6NWzAes10CBaseCoderE[_ZTVN7NCrypto6NWzAes10CBaseCo
derE]+0x10): undefined reference to `__cxa_pure_virtual'
WzAes.o:(.rodata._ZTVN7NCrypto6NWzAes10CBaseCoderE[_ZTVN7NCrypto6NWzAes10CBaseCo
derE]+0x20): undefined reference to `__cxa_pure_virtual'
WzAes.o:(.rodata._ZTVN7NCrypto6NWzAes10CBaseCoderE[_ZTVN7NCrypto6NWzAes10CBaseCo
derE]+0x30): undefined reference to `__cxa_pure_virtual'
WzAes.o:(.rodata._ZTVN7NCrypto6NWzAes10CBaseCoderE[_ZTVN7NCrypto6NWzAes10CBaseCo
derE]+0x34): more undefined references to `__cxa_pure_virtual' follow
WzAes.o:(.rodata._ZTIN7NCrypto6NWzAes8CDecoderE[_ZTIN7NCrypto6NWzAes8CDecoderE]+
0x0): undefined reference to `vtable for __cxxabiv1::__vmi_class_type_info'
WzAes.o:(.rodata._ZTIN7NCrypto6NWzAes8CEncoderE[_ZTIN7NCrypto6NWzAes8CEncoderE]+
0x0): undefined reference to `vtable for __cxxabiv1::__si_class_type_info'
WzAes.o:(.rodata._ZTIN7NCrypto6NWzAes10CBaseCoderE[_ZTIN7NCrypto6NWzAes10CBaseCo
derE]+0x0): undefined reference to `vtable for __cxxabiv1::__vmi_class_type_info
'
WzAes.o:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'
ZipCrypto.o: In function `NCrypto::NZip::CCipher::~CCipher()':
ZipCrypto.cpp:(.text._ZN7NCrypto4NZip7CCipherD0Ev[_ZN7NCrypto4NZip7CCipherD0Ev]+
0x22): undefined reference to `operator delete(void*)'
ZipCrypto.o: In function `NCrypto::NZip::CEncoder::~CEncoder()':
ZipCrypto.cpp:(.text._ZN7NCrypto4NZip8CEncoderD0Ev[_ZN7NCrypto4NZip8CEncoderD0Ev
]+0x22): undefined reference to `operator delete(void*)'
ZipCrypto.o: In function `NCrypto::NZip::CDecoder::~CDecoder()':
ZipCrypto.cpp:(.text._ZN7NCrypto4NZip8CDecoderD0Ev[_ZN7NCrypto4NZip8CDecoderD0Ev
]+0x22): undefined reference to `operator delete(void*)'
ZipCrypto.o:(.rodata._ZTVN7NCrypto4NZip7CCipherE[_ZTVN7NCrypto4NZip7CCipherE]+0x
8): undefined reference to `__cxa_pure_virtual'
ZipCrypto.o:(.rodata._ZTVN7NCrypto4NZip7CCipherE[_ZTVN7NCrypto4NZip7CCipherE]+0x
c): undefined reference to `__cxa_pure_virtual'
ZipCrypto.o:(.rodata._ZTVN7NCrypto4NZip7CCipherE[_ZTVN7NCrypto4NZip7CCipherE]+0x
10): undefined reference to `__cxa_pure_virtual'
ZipCrypto.o:(.rodata._ZTVN7NCrypto4NZip7CCipherE[_ZTVN7NCrypto4NZip7CCipherE]+0x
20): undefined reference to `__cxa_pure_virtual'
ZipCrypto.o:(.rodata._ZTVN7NCrypto4NZip7CCipherE[_ZTVN7NCrypto4NZip7CCipherE]+0x
30): undefined reference to `__cxa_pure_virtual'
ZipCrypto.o:(.rodata._ZTVN7NCrypto4NZip7CCipherE[_ZTVN7NCrypto4NZip7CCipherE]+0x
34): more undefined references to `__cxa_pure_virtual' follow
ZipCrypto.o:(.rodata._ZTIN7NCrypto4NZip8CDecoderE[_ZTIN7NCrypto4NZip8CDecoderE]+
0x0): undefined reference to `vtable for __cxxabiv1::__si_class_type_info'
ZipCrypto.o:(.rodata._ZTIN7NCrypto4NZip8CEncoderE[_ZTIN7NCrypto4NZip8CEncoderE]+
0x0): undefined reference to `vtable for __cxxabiv1::__si_class_type_info'
ZipCrypto.o:(.rodata._ZTIN7NCrypto4NZip7CCipherE[_ZTIN7NCrypto4NZip7CCipherE]+0x
0): undefined reference to `vtable for __cxxabiv1::__vmi_class_type_info'
ZipCrypto.o:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'
ZipStrong.o: In function `NCrypto::NZipStrong::CDecoder::ReadHeader(ISequentialI
nStream*, unsigned int, unsigned long long)':
ZipStrong.cpp:(.text+0x531): undefined reference to `operator delete[](void*)'
ZipStrong.cpp:(.text+0x558): undefined reference to `operator new[](unsigned int
)'
ZipStrong.cpp:(.text+0x598): undefined reference to `operator delete[](void*)'
ZipStrong.o: In function `NCrypto::NZipStrong::CBaseCoder::~CBaseCoder()':
ZipStrong.cpp:(.text._ZN7NCrypto10NZipStrong10CBaseCoderD1Ev[_ZN7NCrypto10NZipSt
rong10CBaseCoderD1Ev]+0x4b): undefined reference to `operator delete[](void*)'
ZipStrong.o: In function `NCrypto::NZipStrong::CBaseCoder::~CBaseCoder()':
ZipStrong.cpp:(.text._ZN7NCrypto10NZipStrong10CBaseCoderD0Ev[_ZN7NCrypto10NZipSt
rong10CBaseCoderD0Ev]+0x4b): undefined reference to `operator delete[](void*)'
ZipStrong.cpp:(.text._ZN7NCrypto10NZipStrong10CBaseCoderD0Ev[_ZN7NCrypto10NZipSt
rong10CBaseCoderD0Ev]+0x6a): undefined reference to `operator delete(void*)'
ZipStrong.o:(.rodata._ZTVN7NCrypto10NZipStrong10CBaseCoderE[_ZTVN7NCrypto10NZipS
trong10CBaseCoderE]+0x5c): undefined reference to `__cxa_pure_virtual'
ZipStrong.o:(.rodata._ZTVN7NCrypto10NZipStrong10CBaseCoderE[_ZTVN7NCrypto10NZipS
trong10CBaseCoderE]+0x60): undefined reference to `__cxa_pure_virtual'
ZipStrong.o:(.rodata._ZTVN7NCrypto10NZipStrong10CBaseCoderE[_ZTVN7NCrypto10NZipS
trong10CBaseCoderE]+0x64): undefined reference to `__cxa_pure_virtual'
ZipStrong.o:(.rodata._ZTIN7NCrypto10NZipStrong10CBaseCoderE[_ZTIN7NCrypto10NZipS
trong10CBaseCoderE]+0x0): undefined reference to `vtable for __cxxabiv1::__vmi_c
lass_type_info'
ZipStrong.o:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'
cc: C:/bbndk-2.0.0/host/win32/x86/usr/bin/ntox86-ld caught signal 1
make[1]: *** [../../../../bin/7za] Error 1
make[1]: Leaving directory `D:/Downloads/p7zip_9.20.1/CPP/7zip/Bundles/Alone'
make: *** [7za] Error 2

 

Can somebody point me what I'm doing wrong ?

 

Please use plain text.
BlackBerry Development Advisor (Retired)
mgoulet
Posts: 329
Registered: ‎05-07-2012
My Device: BB Alpha
My Carrier: N/A

Re: Issues with building p7zip

Hi,

 

Are you building using Momentics? Are you sure you are importing the project in the correct fashion? (makefile project, cascades project, etc..)

 

Martin

Please use plain text.
Developer
borceg
Posts: 671
Registered: ‎03-21-2012
My Device: BlackBerry PlayBook 16GB
My Carrier: Vip

Re: Issues with building p7zip

I tried with importing it as makefile project, but again fails to build.

makefile.machine must be changed with correct QNX/BB specific flagh and options, which to be honest I don't know how to set-up them.

This is makefile for linux


#
# makefile for Linux (x86, PPC, alpha ...)
#

OPTFLAGS=-O

ALLFLAGS=${OPTFLAGS} -pipe -s \
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE \
-DNDEBUG -D_REENTRANT -DENV_UNIX \
-D_7ZIP_LARGE_PAGES \
$(LOCAL_FLAGS)

CXX=g++ $(ALLFLAGS)
CC=gcc $(ALLFLAGS)
CC_SHARED=-fPIC
LINK_SHARED=-fPIC -shared

LOCAL_LIBS=-lpthread
LOCAL_LIBS_DLL=$(LOCAL_LIBS) -ldl

OBJ_CRC32=$(OBJ_CRC32_C)
Please use plain text.
BlackBerry Development Advisor
lingBB10Dev
Posts: 35
Registered: ‎08-01-2012
My Device: BB10 alpha-BB10 developer
My Carrier: T-Mobile

Re: Issues with building p7zip

Were you trying to use qcc on linux to cross compile the p7zip targeting for qnx on playbook, right?

 

I tested it to compile it with NDK on Mac using the following steps:

 

1) change the makefile.qnx_shared.so ( you can choose the proper makefile for your own need)

 

CXX=QCC -Vgcc_ntoarmv7le $(ALLFLAGS)
CC=qcc -Vgcc_ntoarmv7le $(ALLFLAGS)

 

 

2) from the console:

 

source /<path to your NDK installtaion dir>/bbndk-env.sh

cp  makefile.qnx_shared.so makefile.machine

make 

 

 

Compilation was successful, but I did not test the binary.

 

Let me know if these steps help if you are doing cross compiling on linux

 

 

 

Please use plain text.
Developer
borceg
Posts: 671
Registered: ‎03-21-2012
My Device: BlackBerry PlayBook 16GB
My Carrier: Vip

Re: Issues with building p7zip

I tried it on windows :smileyfrustrated: Can't try on linux right now, my linux dev machine is not available.
Please use plain text.
BlackBerry Development Advisor
lingBB10Dev
Posts: 35
Registered: ‎08-01-2012
My Device: BB10 alpha-BB10 developer
My Carrier: T-Mobile

Re: Issues with building p7zip

[ Edited ]

Ok, I got a chance to try the p7zip build with NDK on Windows.

 

It looks like the original p7zip makefiles were tested on Unix/Linux system.

 

The qcc setting from that makefile was not able to detect the cross compliling tool chain properly, e.g.: was not able to link with the proper libs.

 

 

I managed to build the p7zip lib with NDK 10 on Windows successfully.

 

Instead of letting qcc detect the tool chain, I set them directly.

 

 

1) To build the lib qnx/x86:

 

CXX=i486-pc-nto-qnx8.0.0-g++.exe  $(ALLFLAGS)

CC=i486-pc-nto-qnx8.0.0-gcc.exe  $(ALLFLAGS)

2) To build the lib qnx/arm:

 

CXX=arm-unknown-nto-qnx8.0.0eabi-g++.exe  $(ALLFLAGS)

CC=arm-unknown-nto-qnx8.0.0eabi-gcc.exe  $(ALLFLAGS)

 

 

Please let me know whether these will work for u or not.

 

 

 

 

 

 

 

 

 

 

Please use plain text.
Developer
borceg
Posts: 671
Registered: ‎03-21-2012
My Device: BlackBerry PlayBook 16GB
My Carrier: Vip

Re: Issues with building p7zip

My config is: mingw in path, still getting compile errors. Tried with calling make form ndk 10.06 - same :smileysad:

 

C:\p7zip_9.20.1>C:\bbndk-10.0.06\host_10_0_6_1\win32\x86\usr\bin\make
mkdir -p bin
C:/bbndk-10.0.06/host_10_0_6_1/win32/x86/usr/bin/make -C CPP/7zip/Bundles/Alone
all
make[1]: Entering directory `C:/p7zip_9.20.1/CPP/7zip/Bundles/Alone'
g++ -c -I. -I../../../myWindows -I../../../ -I../../../include_windows ../../../
myWindows/myGetTickCount.cpp
In file included from c:\mingw1\bin\../lib/gcc/mingw32/4.6.2/../../../../include
/pthread.h:198:0,
                 from ../../../myWindows/StdAfx.h:13,
                 from ../../../myWindows/myGetTickCount.cpp:1:
../../../include_windows/windows.h:68:9: error: 'WCHAR' does not name a type
../../../include_windows/windows.h:69:9: error: 'CHAR' does not name a type
../../../include_windows/windows.h:70:9: error: 'TCHAR' does not name a type
../../../include_windows/windows.h:91:9: error: 'BYTE' does not name a type
In file included from c:\mingw1\bin\../lib/gcc/mingw32/4.6.2/../../../../include
/pthread.h:198:0,
                 from ../../../myWindows/StdAfx.h:13,
                 from ../../../myWindows/myGetTickCount.cpp:1:
../../../include_windows/windows.h:131:2: error: 'WORD' does not name a type
../../../include_windows/windows.h:132:2: error: 'WORD' does not name a type
../../../include_windows/windows.h:133:2: error: 'WORD' does not name a type
../../../include_windows/windows.h:134:2: error: 'WORD' does not name a type
../../../include_windows/windows.h:135:2: error: 'WORD' does not name a type
../../../include_windows/windows.h:136:2: error: 'WORD' does not name a type
../../../include_windows/windows.h:137:2: error: 'WORD' does not name a type
../../../include_windows/windows.h:138:2: error: 'WORD' does not name a type
../../../include_windows/windows.h:145:35: error: 'WORD' was not declared in thi
s scope
../../../include_windows/windows.h:145:40: error: 'WORD' was not declared in thi
s scope
../../../include_windows/windows.h:145:45: error: 'FILETIME' was not declared in
 this scope
../../../include_windows/windows.h:145:55: error: expected primary-expression be
fore ')' token
../../../include_windows/windows.h:145:55: error: expression list treated as com
pound expression in initializer [-fpermissive]
../../../include_windows/windows.h:146:41: error: 'FILETIME' does not name a typ
e
../../../include_windows/windows.h:146:52: error: 'WORD' has not been declared
../../../include_windows/windows.h:146:60: error: 'WORD' has not been declared
../../../include_windows/windows.h:147:43: error: 'FILETIME' does not name a typ
e
../../../include_windows/windows.h:147:54: error: 'FILETIME' has not been declar
ed
../../../include_windows/windows.h:148:40: error: 'FILETIME' does not name a typ
e
../../../include_windows/windows.h:149:43: error: 'FILETIME' does not name a typ
e
../../../include_windows/windows.h:149:54: error: 'FILETIME' has not been declar
ed
../../../include_windows/windows.h:151:52: error: 'FILETIME' has not been declar
ed
../../../include_windows/windows.h:153:1: error: 'DWORD' does not name a type
In file included from ../../../include_windows/windows.h:167:0,
                 from c:\mingw1\bin\../lib/gcc/mingw32/4.6.2/../../../../include
/pthread.h:198,
                 from ../../../myWindows/StdAfx.h:13,
                 from ../../../myWindows/myGetTickCount.cpp:1:
../../../include_windows/basetyps.h:16:9: error: 'GUID' does not name a type
../../../include_windows/basetyps.h:17:9: error: 'GUID' does not name a type
In file included from c:\mingw1\bin\../lib/gcc/mingw32/4.6.2/../../../../include
/pthread.h:198:0,
                 from ../../../myWindows/StdAfx.h:13,
                 from ../../../myWindows/myGetTickCount.cpp:1:
../../../include_windows/windows.h:171:2: error: 'LPOLESTR' does not name a type

../../../include_windows/windows.h:172:2: error: 'PROPID' does not name a type
../../../include_windows/windows.h:173:2: error: 'VARTYPE' does not name a type
../../../include_windows/windows.h:177:18: error: 'IID' does not name a type
../../../include_windows/windows.h:179:1: error: expected class-name before '{'
token
../../../include_windows/windows.h:180:12: error: 'QueryInterface' has not been
declared
../../../include_windows/windows.h:180:28: error: 'REFIID' has not been declared

../../../include_windows/windows.h:180:41: error: 'STDMETHOD' declared as functi
on returning a function
../../../include_windows/windows.h:180:41: error: expected ';' at end of member
declaration
../../../include_windows/windows.h:180:43: error: 'PURE' does not name a type
../../../include_windows/windows.h:181:13: error: 'ULONG' has not been declared
../../../include_windows/windows.h:181:19: error: 'AddRef' has not been declared

../../../include_windows/windows.h:181:31: error: 'STDMETHOD_' declared as funct
ion returning a function
../../../include_windows/windows.h:181:31: error: expected ';' at end of member
declaration
../../../include_windows/windows.h:181:33: error: 'PURE' does not name a type
../../../include_windows/windows.h:182:13: error: 'ULONG' has not been declared
../../../include_windows/windows.h:182:19: error: 'Release' has not been declare
d
../../../include_windows/windows.h:182:32: error: 'STDMETHOD_' declared as funct
ion returning a function
../../../include_windows/windows.h:182:32: error: expected ';' at end of member
declaration
../../../include_windows/windows.h:182:34: error: 'PURE' does not name a type
../../../include_windows/windows.h:183:12: error: 'Read' has not been declared
../../../include_windows/windows.h:183:24: error: 'ULONG' has not been declared
../../../include_windows/windows.h:183:30: error: 'ULONG' has not been declared
../../../include_windows/windows.h:183:36: error: 'STDMETHOD' declared as functi
on returning a function
../../../include_windows/windows.h:183:36: error: expected ';' at end of member
declaration
../../../include_windows/windows.h:183:38: error: 'PURE' does not name a type
../../../include_windows/windows.h:184:12: error: 'Write' has not been declared
../../../include_windows/windows.h:184:31: error: 'ULONG' has not been declared
../../../include_windows/windows.h:184:37: error: 'ULONG' has not been declared
../../../include_windows/windows.h:184:43: error: 'STDMETHOD' declared as functi
on returning a function
../../../include_windows/windows.h:184:43: error: expected ';' at end of member
declaration
../../../include_windows/windows.h:184:45: error: 'PURE' does not name a type
In file included from ../../../myWindows/StdAfx.h:13:0,
                 from ../../../myWindows/myGetTickCount.cpp:1:
c:\mingw1\bin\../lib/gcc/mingw32/4.6.2/../../../../include/pthread.h:1216:15: er
ror: 'HANDLE' does not name a type
c:\mingw1\bin\../lib/gcc/mingw32/4.6.2/../../../../include/pthread.h:1220:15: er
ror: 'DWORD' does not name a type
c:\mingw1\bin\../lib/gcc/mingw32/4.6.2/../../../../include/pthread.h:1238:54: er
ror: definition of 'int pthreadCancelableWait' is marked 'dllimport'
c:\mingw1\bin\../lib/gcc/mingw32/4.6.2/../../../../include/pthread.h:1238:54: er
ror: 'HANDLE' was not declared in this scope
c:\mingw1\bin\../lib/gcc/mingw32/4.6.2/../../../../include/pthread.h:1239:59: er
ror: definition of 'int pthreadCancelableTimedWait' is marked 'dllimport'
c:\mingw1\bin\../lib/gcc/mingw32/4.6.2/../../../../include/pthread.h:1239:59: er
ror: 'HANDLE' was not declared in this scope
c:\mingw1\bin\../lib/gcc/mingw32/4.6.2/../../../../include/pthread.h:1240:41: er
ror: 'DWORD' was not declared in this scope
c:\mingw1\bin\../lib/gcc/mingw32/4.6.2/../../../../include/pthread.h:1240:54: er
ror: expression list treated as compound expression in initializer [-fpermissive
]
c:\mingw1\bin\../lib/gcc/mingw32/4.6.2/../../../../include/pthread.h:1285:15: er
ror: 'DWORD' does not name a type
In file included from ../../../Common/Types.h:6:0,
                 from ../../../myWindows/StdAfx.h:17,
                 from ../../../myWindows/myGetTickCount.cpp:1:
../../../Common/../../C/Types.h:46:9: error: 'DWORD' does not name a type
In file included from ../../../myWindows/myGetTickCount.cpp:1:0:
../../../myWindows/StdAfx.h:58:8: error: 'DWORD' does not name a type
../../../myWindows/StdAfx.h:59:34: error: variable or field 'SetLastError' decla
red void
../../../myWindows/StdAfx.h:59:34: error: 'DWORD' was not declared in this scope

../../../myWindows/StdAfx.h:107:9: error: 'WORD' does not name a type
../../../myWindows/StdAfx.h:109:1: error: 'LANGID' does not name a type
../../../myWindows/StdAfx.h:110:1: error: 'LANGID' does not name a type
../../../myWindows/myGetTickCount.cpp:5:1: error: 'DWORD' does not name a type
make[1]: *** [myGetTickCount.o] Error 1
make[1]: Leaving directory `C:/p7zip_9.20.1/CPP/7zip/Bundles/Alone'
make: *** [7za] Error 2

C:\p7zip_9.20.1>

 

Please use plain text.
Developer
borceg
Posts: 671
Registered: ‎03-21-2012
My Device: BlackBerry PlayBook 16GB
My Carrier: Vip

Re: Issues with building p7zip

Removed mingw because it caused conflicts witn include files, but now this errors show up

 

C:\bbndk-10.0.06\bbndk-env.bat
-sets the path OK
C:\p7zip_9.20.1>make
mkdir -p bin
make -C CPP/7zip/Bundles/Alone all
make[1]: Entering directory `C:/p7zip_9.20.1/CPP/7zip/Bundles/Alone'
g++ -c -I. -I../../../myWindows -I../../../ -I../../../include_windows ../../../
myWindows/myGetTickCount.cpp
process_begin: CreateProcess(NULL, g++ -c -I. -I../../../myWindows -I../../../ -
I../../../include_windows ../../../myWindows/myGetTickCount.cpp, ...) failed.
make (e=2): The system cannot find the file specified.
make[1]: *** [myGetTickCount.o] Error 2
make[1]: Leaving directory `C:/p7zip_9.20.1/CPP/7zip/Bundles/Alone'
make: *** [7za] Error 2

C:\p7zip_9.20.1>

 

Please use plain text.
BlackBerry Development Advisor
lingBB10Dev
Posts: 35
Registered: ‎08-01-2012
My Device: BB10 alpha-BB10 developer
My Carrier: T-Mobile

Re: Issues with building p7zip

It looks like your build environment was messed up.

e.g.: You were invoking "g++' instead of either one of "qcc" variants:

qcc or those I mentioned in the my previous post.

(Previously, you were able to compile the code until it got linking error.)

suggest that you check you environment to make sure your clean up mingw, then remove qde and reinstall qde.

Once you get your environment cleanup, then, try to the make file according to my last suggestions, which shall fix the linking errors.









Please use plain text.
Developer
borceg
Posts: 671
Registered: ‎03-21-2012
My Device: BlackBerry PlayBook 16GB
My Carrier: Vip

Re: Issues with building p7zip

[ Edited ]

Thank you very much. I changed fresh build machine with ndk 2.0.0/10.06 both built fine. Now test time :smileyhappy:

 

And 

 

$ ls
sys
$ cp /accounts/1000/shared/misc/7za 7za
$ ls
7za    sys
$ chmod 6775 7za
$ ./7za

7-Zip (A) 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18
p7zip Version 9.20 (locale=C,Utf16=off,HugeFiles=on,1 CPU)

Usage: 7za <command> [<switches>...] <archive_name> [<file_names>...]
       [<@listfiles...>]

<Commands>
  a: Add files to archive
  b: Benchmark
  d: Delete files from archive
  e: Extract files from archive (without using directory names)
  l: List contents of archive
  t: Test integrity of archive
  u: Update files to archive
  x: eXtract files with full paths
<Switches>
  -ai[r[-|0]]{@listfile|!wildcard}: Include archives
  -ax[r[-|0]]{@listfile|!wildcard}: eXclude archives
  -bd: Disable percentage indicator
  -i[r[-|0]]{@listfile|!wildcard}: Include filenames
  -m{Parameters}: set compression Method
  -o{Directory}: set Output directory
  -p{Password}: set Password
  -r[-|0]: Recurse subdirectories
  -scs{UTF-8 | WIN | DOS}: set charset for list files
  -sfx[{name}]: Create SFX archive
  -si[{name}]: read data from stdin
  -slt: show technical information for l (List) command
  -so: write data to stdout
  -ssc[-]: set sensitive case mode
  -t{Type}: Set type of archive
  -u[-][p#][q#][r#][x#][y#][z#][!newArchiveName]: Update options
  -v{Size}[b|k|m|g]: Create volumes
  -w[{path}]: assign Work directory. Empty path means a temporary directory
  -x[r[-|0]]]{@listfile|!wildcard}: eXclude filenames
  -y: assume Yes on all queries
$ 

 

Please use plain text.