[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.

-Jack

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