On Mar 3, 2014, at 7:40 AM, Daniel Johnson <daniel.johnso...@gmail.com> wrote:

> 
> On Mar 3, 2014, at 6:09 AM, Corey Halpin <chal...@cs.wisc.edu> wrote:
> 
>> Unfortunately, I'm still on 10.7 and don't have a 10.8 machine to test 
>> against.
>> 
>> I can get 1.10 (the upstream stable release) to mostly work on 10.7... 
>> however, Montone (the only package that uses botan that I can find) doesn't 
>> build against botan 1.10 in any released version.  The monotone development 
>> branch does mention fixes for compatibility with botan 1.10 -- but I'd need 
>> to 
>> be able to find the relevant commit to backport it.  More time to dig would 
>> be 
>> required.
>> 
>> The use of configure.pl here was deliberate, as it supported --cpu=generic.  
>> The newer configure.py forces one to choose a specific architecture.  Maybe 
>> this can be dropped now, as ppc isn't really a concern?
>> 
>> By any chance does adding SetCPPFlags: -std=gnu89 resolve the issue?
>> 
>> I'll look into this more when I can, but I must apologize that it probably 
>> won't be for a while.  I'm preparing to defend my dissertation and spare 
>> cycles are not abundant.
>> 
>> Best regards.
>> 
>> ~crh
>> 
>> On 2014-02-28, Daniel Macks wrote:
>>> g++ -Ibuild/include -O2 -finline-functions  -D_REENTRANT -ansi 
>>> -Wno-long-long -fpermissive -W -Wall -fPIC -c src/block/aes/aes.cpp -o 
>>> build/lib/aes.o
>>> clangclang: : warning: argument unused during compilation: '-fpermissive'
>>> warning: argument unused during compilation: '-fpermissive'
>>> In file included from src/block/aes/aes.cpp:8:
>>> In file included from build/include/botan/aes.h:11:
>>> In file included from build/include/botan/block_cipher.h:11:
>>> In file included from build/include/botan/sym_algo.h:13:
>>> In file included from build/include/botan/symkey.h:11:
>>> build/include/botan/secmem.h:362:28: error: use of undeclared identifier 
>>> 'set'
>>>         { if(this != &in) set(in); return (*this); }
>>>                           ^
>>>                           this->
>>> build/include/botan/symkey.h:36:56: note: in instantiation of member 
>>> function
>>>      'Botan::SecureVector::operator=' requested here
>>>      void change(const MemoryRegion& in) { bits = in; }
>>>                                                       ^
>>> build/include/botan/secmem.h:146:12: note: must qualify identifier to find 
>>> this
>>>       declaration in dependent base class
>>>      void set(const T in[], u32bit n)    { create(n); copy(in, n); }
>>>           ^
>>> build/include/botan/secmem.h:153:12: note: must qualify identifier to find 
>>> this
>>>      declaration in dependent base class
>>>      void set(const MemoryRegion& in) { set(in.begin(), in.size()); }
>>>           ^
>>> 1 error generated. 
>>> make: *** [build/lib/aes.o] Error 1
>>> 
>>> Earlier during the build I noticed:
>>> 
>>> export PATH="/usr/bin:/usr/sbin:/bin:/sbin"
>>> ./configure.pl --prefix=/sw --cpu=generic --docdir=/sw/share/doc
>>>   (warning): ./configure.pl is deprecated; migration to ./configure.py 
>>> strongly recommended
>>> 
>>> And upstream is at 1.11, so there are lots of easy things to upgrade that 
>>> might fix the actual build failure (or at least let one trouble-shoot a 
>>> non-obsolete version, so that upstream can help fix further). 
>>> 
>>> dan
>>> ---
>>> 
>>> Daniel Macks
>>> dma...@netspace.org
> 
> I think I know how to fix it but it's going to take time I don't have right 
> now. Tonight I'll work on it. The code is using illegal C++ that gcc happens 
> to accept but clang (properly) rejects.
> 
> Daniel

Ok, the solution is to update to botan 1.8.14 which includes patches for clang. 
I've successfully built it and tests pass on 10.9. I've included the diff 
below. Unfortunately, monotone still doesn't build on 10.9 since it requires 
non-standard features of gcc's libstdc++ and won't build with libc++. It also 
doesn't build with boost1.55 but appears to work with 1.53.

Daniel

Index: botan.info
===================================================================
RCS file: /cvsroot/fink/dists/10.7/stable/main/finkinfo/crypto/botan.info,v
retrieving revision 1.2
diff -u -r1.2 botan.info
--- botan.info  3 Dec 2013 22:58:00 -0000       1.2
+++ botan.info  3 Mar 2014 22:55:18 -0000
@@ -1,9 +1,8 @@
 Package: botan
-Version: 1.8.6
+Version: 1.8.14
 Revision: 1
-Distribution: 10.7, 10.8
 Source: http://files.randombit.net/botan/Botan-%v.tbz
-Source-MD5: 827f71f450eb1b7bc9e173c402bc48dc
+Source-MD5: 417f9e353871a882a43cb586e45fb329
 ## need to preserve cap, for case-sensitive systems, or also use 
SourceDirectory..
 SourceRename: Botan-%v.tar.bz2
 PatchFile: %n.patch
@@ -14,21 +13,24 @@
   fink (>= 0.24.12)
 <<
 GCC: 4.0
-ConfigureParams: --cpu=generic --docdir=%p/share/doc
+ConfigureParams: --with-tr1-implementation=none --docdir=%p/share/doc
 CompileScript: <<
 #!/bin/bash -ev
 export PATH="/usr/bin:/usr/sbin:/bin:/sbin"
-./configure.pl %c
+./configure.py %c
 make
-install_name_tool -id %p/lib/libbotan-1.8.2.dylib libbotan-1.8.2.dylib
+install_name_tool -id %p/lib/libbotan-1.8.2.dylib libbotan-1.8.13.dylib
+<<
+InstallScript: <<
+       PATH="/usr/bin:/usr/sbin:/bin:/sbin" make install DESTDIR=%i
+       ln -s libbotan-1.8.13.dylib %i/lib/libbotan-1.8.2.dylib
 <<
-InstallScript: PATH="/usr/bin:/usr/sbin:/bin:/sbin" make install DESTDIR=%i
 InfoTest: <<
     TestScript: PATH="/usr/bin:/usr/sbin:/bin:/sbin" make check || exit 2
 <<
 SplitOff: <<
   Package: %N-shlibs
-  Files: lib/libbotan-1.8.2.dylib
+  Files: lib/libbotan-1.8.2.dylib lib/libbotan-1.8.13.dylib
   DocFiles: <<
      readme.txt doc/license.txt doc/log.txt doc/thanks.txt doc/credits.txt
   <<
@@ -37,7 +39,7 @@
   <<
 <<
 DocFiles: <<
-  doc/api.pdf doc/architecture.pdf doc/insito_manual.pdf doc/tutorial.pdf
+  doc/api.tex doc/architecture.pdf doc/insito_manual.pdf doc/tutorial.tex
 <<
 Description: C++ Cryptographic library
 DescDetail: <<

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

------------------------------------------------------------------------------
Subversion Kills Productivity. Get off Subversion & Make the Move to Perforce.
With Perforce, you get hassle-free workflows. Merge that actually works. 
Faster operations. Version large binaries.  Built-in WAN optimization and the
freedom to use Git, Perforce or both. Make the move to Perforce.
http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk
_______________________________________________
Fink-users mailing list
Fink-users@lists.sourceforge.net
List archive:
http://news.gmane.org/gmane.os.macosx.fink.user
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-users

Reply via email to