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.

Reply via email to