[Botan-devel] Linux compilation issue - secmem.h

Jack Lloyd lloyd at randombit.net
Wed Jun 27 15:54:08 EDT 2007

Everything there works for me with botan.h included at the bottom,
except I don't have an exceptions.h and I don't know what package that
might be from; unless you mean <mysql++/exceptions.h> (which also
works). [glibc 2.4, MySQL 5.0.33, MySQL++ 2.1.1, zlib 1.2.3]

The root problem is almost certainly a macro doing something evil.  If
you run the preprocessor over the file you'll probably find something
in secmem.h is being rewritten with some obviously bad syntax.


On Wed, Jun 27, 2007 at 03:32:27PM -0400, John Proffer wrote:
> Hey!
> Found the problem - one of the previously included headers apparently 
> conflicted with Botan - havent had time to check which one, but I've got 
> the following included:
> #include <sys/types.h>
> #include <sys/wait.h>
> #include <iostream>
> #include <sys/socket.h>
> #include <arpa/inet.h>
> #include <netinet/in.h>
> #include <assert.h>
> #include <ctype.h>
> #include <fcntl.h>
> #include <signal.h>
> #include <stdarg.h>
> #include <stdlib.h>
> #include <string.h>
> #include <time.h>
> #include <unistd.h>
> #include <zlib.h>
> #include <vector>
> #include <pthread.h>
> #include <exceptions.h>
> #include <mysql++/mysql++.h>
> #include <sys/stat.h>
> So one of those is conflicting with Botan.  I moved #include 
> <botan/botan.h> from the bottom to the top and it compiled without 
> problems. 

More information about the botan-devel mailing list