Hi Rajiv, I have a similar problem. Can you please tell me how your problem get solved? I need it urgently. Thanks in advance.
On Friday, February 20, 2015 at 11:54:58 AM UTC+5:30, Rajiv Poplai wrote: > > Thanks Jeff, that indeed solved the problem. > > regards, > Rajiv > > On Friday, February 20, 2015 at 4:57:24 AM UTC+5:30, Jeffrey Walton wrote: >> >> >> Please provide the Xcode setting you are using under C++ Standard >> Library (CLANG_CXX_LIBRARY). >> > libstdc++ >> >> >> nm -g /usr/local/lib/libcryptopp.a | c++filt | grep >> RandomPool::GenerateIntoBufferedTransformation | grep " T " >> > 0000000000000310 T >> CryptoPP::RandomPool::GenerateIntoBufferedTransformation(CryptoPP::BufferedTransformation&, >> >> std::__1::basic_string<char, std::__1::char_traits<char>, >> std::__1::allocator<char> > const&, unsigned long long) >> >> There's your problem :( >> >> Xcode is using GNU's libstdc++. Your libcryptoppa. is using LLVM's libc++. >> >> You can tell because LLVM decorates their symbols with the "__1". I don't >> know anything else about it "__1". It may be an actual namespace, or it >> may be a pseudo-namespace. >> >> Jeff >> >> On Thursday, February 19, 2015 at 4:22:47 PM UTC-5, Rajiv Poplai wrote: >> >>> >>> On Friday, February 20, 2015 at 2:08:42 AM UTC+5:30, Jeffrey Walton >>> wrote: >>>> >>>> >>>> >>>> On Thursday, February 19, 2015 at 8:11:34 AM UTC-5, Rajiv Poplai wrote: >>>>> >>>>> Thanks Jeff, I followed the steps detailed but it is showing one >>>>> symbol as not found. >>>>> >>>>> CryptoPP::RandomPool::GenerateIntoBufferedTransformation(CryptoPP::BufferedTransformation >>>>> >>>>> &, std::string const&, unsigned long long) >>>>> referenced from Vtable for CryptoPP::AutoSeededRandomPool >>>>> >>>>> This is caused by following statement in code >>>>> CryptoPP::AutoSeededRandomPool rnd; >>>>> >>>>> In the randpool.cpp GenerateIntoBufferedTransformation has the last >>>>> parameter defined as lword and not unsigned long long. >>>>> Not able to figure out how to rectify this problem >>>>> >>>> This is just a typedef from config.h: >>>> >>>> #if defined(_MSC_VER) || defined(__BORLANDC__) >>>> typedef unsigned __int64 word64; >>>> #define W64LIT(x) x##ui64 >>>> #else >>>> typedef unsigned long long word64; >>>> #define W64LIT(x) x##ULL >>>> #endif >>>> >>>> // define large word type, used for file offsets and such >>>> typedef word64 lword; >>>> const lword LWORD_MAX = W64LIT(0xffffffffffffffff); >>>> >>>> Please provide the Xcode setting you are using under C++ Standard >>>> Library (CLANG_CXX_LIBRARY). >>>> >>> libstdc++ >>> >>>> >>>> [~/Documents/ccryptopp]$ lipo -info libcryptopp.a >>>> >>>> input file libcryptopp.a is not a fat file >>>> >>>> Non-fat file: libcryptopp.a is architecture: x86_64 >>>> >>> >>> >>>> Please provide the output of the following command: >>>> >>> >>>> nm -g /usr/local/lib/libcryptopp.a | c++filt | grep >>>> RandomPool::GenerateIntoBufferedTransformation | grep " T " >>>> >>> 0000000000000310 T >>> CryptoPP::RandomPool::GenerateIntoBufferedTransformation(CryptoPP::BufferedTransformation&, >>> >>> std::__1::basic_string<char, std::__1::char_traits<char>, >>> std::__1::allocator<char> > const&, unsigned long long) >>> >>> 0000000000002d78 S >>> CryptoPP::RandomPool::GenerateIntoBufferedTransformation(CryptoPP::BufferedTransformation&, >>> >>> std::__1::basic_string<char, std::__1::char_traits<char>, >>> std::__1::allocator<char> > const&, unsigned long long) (.eh) >>> >>> >>> Please provide the link command you are using (produced by Xcode). >>>> >>> Ld >>>> /Users/rapoplai/git/gocartclient/public/gcclient/libraries/macintosh/universal/debug/GCClient.app/Contents/MacOS/GCClient >>>> >>>> normal x86_64 >>>> >>>> cd /Users/rapoplai/git/gocartclient/build/gcclient/xcode >>>> >>>> export MACOSX_DEPLOYMENT_TARGET=10.7 >>>> >>>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ >>>> >>>> -arch x86_64 -isysroot >>>> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk >>>> >>>> -L/Users/rapoplai/git/gocartclient/public/gcclient/libraries/macintosh/universal/debug >>>> >>>> -L/Users/rapoplai/git/gocartclient/build/gcclient/xcode/../../../public/services/libraries/macintosh/universal/debug >>>> >>>> -L/Users/rapoplai/git/gocart/sources/client/public/services/libraries/macintosh/universal/Debug >>>> >>>> -L/Users/rapoplai/git/gocart/sources/client/public/services/libraries/macintosh/universal/Release >>>> >>>> -L/Users/rapoplai/git/gocartclient/external/caps/libraries/macintosh/universal/debug >>>> >>>> -L/Users/rapoplai/git/gocartclient/build/adobe_ialclient/xcode/../../../external/CCryptoPP/5.6.2/lib/mac/10.9 >>>> >>>> -L/Users/rapoplai/git/gocartclient/external/CCryptoPP/5.6.2/lib/mac/10.9 >>>> -L/Users/rapoplai/git/gocartclient/build/adobe_ialclient/xcode >>>> -F/Users/rapoplai/git/gocartclient/public/gcclient/libraries/macintosh/universal/debug >>>> >>>> -filelist >>>> /Users/rapoplai/git/gocartclient/obj/gcclient.build/debug/GCClient.build/Objects-normal/x86_64/GCClient.LinkFileList >>>> >>>> -mmacosx-version-min=10.7 -no_dead_strip_inits_and_terms -Wl -pie >>>> -stdlib=libstdc++ -fobjc-link-runtime -lcrypto >>>> /Users/rapoplai/git/gocartclient/public/adobe_ialclient/libraries/macintosh/universal/debug/adobe_ialclient.a >>>> >>>> /Users/rapoplai/git/gocartclient/public/DispatchClient/libraries/macintosh/universal/debug/libdispatchclient.a >>>> >>>> -lribscaps -lcryptopp >>>> /Users/rapoplai/git/gocartclient/public/services/libraries/macintosh/universal/debug/libAMTServiceLoader.a >>>> >>>> -lsqlite3 -lc++.1 -framework SystemConfiguration -framework Cocoa -Xlinker >>>> -dependency_info -Xlinker >>>> /Users/rapoplai/git/gocartclient/obj/gcclient.build/debug/GCClient.build/Objects-normal/x86_64/GCClient_dependency_info.dat >>>> >>>> -o >>>> /Users/rapoplai/git/gocartclient/public/gcclient/libraries/macintosh/universal/debug/GCClient.app/Contents/MacOS/GCClient >>>> >>> >>> >>>> >>>> On Thursday, February 19, 2015 at 3:38:07 AM UTC+5:30, Jeffrey Walton >>>> wrote: >>>> >>>>> >>>>>> >>>>>> On Wednesday, February 18, 2015 at 1:31:07 PM UTC-5, Rajiv Poplai >>>>>> wrote: >>>>>>> >>>>>>> I created libcrypto.a of CCryptopp 5.6.1 on Mac OS 10.9 using >>>>>>> GNUmakefile. >>>>>>> Subsequently when I link it in my project in XCode 5.1.1, I get the >>>>>>> following linker error. >>>>>>> >>>>>>> CryptoPP:RandomPool::GenerateIntoBufferedTransformation symbol not >>>>>>> found. >>>>>>> >>>>>>> Can anybody help me with this issue. >>>>>>> >>>>>> Xcode uses LLVM's libc++ by default. By default, Crpyto++'s >>>>>> GNUmakefile omits CXXFLAGS += -std=libc++, so it uses GNU's libstdc++. >>>>>> The >>>>>> following is from around line 90: >>>>>> >>>>>> ifeq ($(UNAME),Darwin) >>>>>> AR = libtool >>>>>> ARFLAGS = -static -o >>>>>> CXX = c++ >>>>>> IS_GCC2 = $(shell $(CXX) -v 2>&1 | $(EGREP) -c gcc-932) >>>>>> ifeq ($(IS_GCC2),1) >>>>>> CXXFLAGS += -fno-coalesce-templates -fno-coalesce-static-vtables >>>>>> LDLIBS += -lstdc++ >>>>>> LDFLAGS += -flat_namespace -undefined suppress -m >>>>>> endif >>>>>> endif >>>>>> >>>>>> So you will either need to: >>>>>> >>>>>> (1) Change Xcode to use GNU's libstdc++ >>>>>> (2) Rebuild Crypto++ to use LLVM's libc++ >>>>>> >>>>>> To perform (1), change the setting in the Target's build settings. >>>>>> >>>>>> To perform (2), open the GNUmakefile and add CXXFLAGS += -std=libc++ >>>>>> after one of he Darwin tests (search for Darwin). And get rid of the >>>>>> line: >>>>>> >>>>>> LDLIBS += -lstdc++ >>>>>> >>>>> -- -- You received this message because you are subscribed to the "Crypto++ Users" Google Group. To unsubscribe, send an email to cryptopp-users-unsubscr...@googlegroups.com. More information about Crypto++ and this group is available at http://www.cryptopp.com. --- You received this message because you are subscribed to the Google Groups "Crypto++ Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to cryptopp-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.