Go to the first, previous, next, last section, table of contents.


Problems compiling ?

If your compile fails with something like:

configure: error: installation or configuration problem: C++ compiler
cannot create executables.

Try setting the environment variable CXX to "gcc -O3" (If you are using gcc). For example CXX="gcc -O3" ./configure. If you use this you don't nead to have libg++ installed!

If you have any problems with using g++, or libg++ or libstdc++, you can probably always solve these by configuring as above!

You can also install libg++. By default `configure' picks c++ as a compiler name and GNU c++ links with -lg++.

  1. making all in mit-pthreads
    make: Fatal error in reader: Makefile, line 18: Badly formed macro assignment
    
    This means you have to upgrade your make to GNU make.
  2. If you want to add flags to your C or C++ compiler, add the flags to the CC and CXX environment variables. For example:
    CC="gcc -O4"
    CXX="gcc -O4"
    export CC CXX
    
  3. If your make stops with Can't find Makefile.PL when you should try using GNU make. Solaris and FreeBSD are known to have troublesome make programs.
  4. If you get error messages from make or error message of type: pthread.h: No such file or directory This means you have to upgrade your make to GNU make (GNU make version 3.75 is known to work).
  5. If you get a error message like: client/libmysql.c:273: parse error before `__attribute__' This means you need to upgrade your gcc compiler (2.7.2 is known to work).
  6. If configure fails, and you are going to mail mysql@tcx.se, please include any lines from config.log that you think can help solve the problem. Also include a couple of lines of the last output from configure if configure aborts. Post the bug using the 'mysqlbug' script. PLEASE ALWAYS USE mysqlbug when posting questions to mysql@tcx.se. See section I think I have found a bug. What information do you need to help me?. Even if the problem isn't a bug, mysqlbug gathers some system information that will help others solve your problem!
  7. If you need to debug mysqld or a MySQL client, run configure with: configure --with-debug=yes and link your clients with the new client library. Before running a client you should do:
    MYSQL_DEBUG=d:t:O,/tmp/client.trace
    export MYSQL_DEBUG
    
    You will now get a trace file in `/tmp/client.trace'.
  8. If you get three errors when compiling mysqld like:
      cxx: Error: mysqld.cc, line 645: In this statement, the referenced type of
           the pointer value "&length" is "unsigned long", which is not compatible
           with "int".
      new_sock = accept(sock, (struct sockaddr *)&cAddr, &length);
    
    Then configure didn't detect the type of the last argument to accept(), getsockname() and getpeername(). Search after the line:
    /* Define as the base type of the last arg to accept */
    #define SOCKET_SIZE_TYPE ###
    
    and change ### to size_t or int depending on your operating system.
  9. If you have problem with your own client code, test first with mysql --debug=d:t:o,/tmp/client.trace before mailing a bug report. See section I think I have found a bug. What information do you need to help me?.


Go to the first, previous, next, last section, table of contents.