Bug #42036 | AIX537 with VAC 6.0 compile issue | ||
---|---|---|---|
Submitted: | 11 Jan 2009 22:47 | Modified: | 3 Jul 2009 13:44 |
Reporter: | John T Mills | Email Updates: | |
Status: | Won't fix | Impact on me: | |
Category: | MySQL Server: Compiling | Severity: | S3 (Non-critical) |
Version: | 5.0.67, 5.0.74 | OS: | IBM AIX (AIX 5.3 TL7) |
Assigned to: | CPU Architecture: | Any |
[11 Jan 2009 22:47]
John T Mills
[11 Jan 2009 22:53]
John T Mills
bug-data-42036.tar.gz file data
Attachment: bug-data-42036.readme.txt (text/plain), 27 bytes.
[12 Jan 2009 5:16]
Valeriy Kravchuk
Please, try to revert the order of includes in CFLAGS and CXXFLAGS to: -I /usr/include -I /usr/vac/include and check if this will help.
[12 Jan 2009 13:55]
John T Mills
It drops in the same place. # make clean # export CXXFLAGS="-I /usr/include -I /usr/vac/include -ma" # export CFLAGS="-I /usr/include -I /usr/vac/include -ma" # ./configure \ --prefix=/opt/mysql/5.0.67 \ --enable-thread-safe-client \ --enable-large-files ... # make ... Target "all" is up to date. source='item_sum.cc' object='item_sum.o' libtool=no DEPDIR=.deps depmode=aix /bin/sh ../depcomp xlC_r -DMYSQL_SERVER -DDEFAULT_MYSQL_HOME="\"/opt/mysql/5.0.67\"" -DDATADIR="\"/opt/mysql/5.0.67/var\"" -DSHAREDIR="\"/opt/mysql/5.0.67/share/mysql\"" -DHAVE_CONFIG_H -I. -I. -I../include -I../zlib -I../innobase/include -I../innobase/include -I../include -I../include -I../regex -I. -DDBUG_OFF -I /usr/include -I /usr/vac/include -ma -c -o item_sum.o item_sum.cc "item_sum.cc", line 1305.10: 1540-0274 (S) The name lookup for "__sqrt" did not find a declaration. "item_sum.cc", line 2349.10: 1540-0274 (S) The name lookup for "__sqrt" did not find a declaration. "item_sum.cc", line 2369.7: 1540-0274 (S) The name lookup for "__sqrt" did not find a declaration. make: 1254-004 The error code from the last command is 1. Stop. make: 1254-004 The error code from the last command is 1. Stop. make: 1254-004 The error code from the last command is 2. Stop.
[12 Jan 2009 20:21]
Valeriy Kravchuk
Strange. Please, send the results of: find /usr -name math.h -print 2>/dev/null
[13 Jan 2009 13:39]
John T Mills
# find /usr -name math.h -print 2>/dev/null /usr/include/math.h
[13 Jan 2009 13:40]
John T Mills
# grep sqrt /usr/include/math.h extern double sqrt(); extern float sqrtf(); long double __sqrtl128(); extern double sqrt(double); extern float sqrtf(float); extern long double sqrtl(long double); long double __sqrtl128(long double); #define sqrt(__x) __sqrt(__x) #define sqrtl(__x) __sqrtl128((long double) (__x)) #define sqrtl(__x) sqrt((double) (__x)) #define sqrtl __sqrtl128 * M_2_SQRTPI -- 2/(sqrt(pi)) * M_SQRT2 -- sqrt(2) * M_SQRT1_2 -- 1/sqrt(2) extern double rsqrt(); extern double rsqrt(double);
[13 Jan 2009 16:40]
Valeriy Kravchuk
Strange. I remember it helped with newer VAC version (9) in the same situation. As you do not have math.h in /usr/vac/include, please, try with -I /usr/include only.
[13 Jan 2009 18:52]
John T Mills
Well, I think you found my issue. The include fileset had not been installed. I re-ran the sequence and installing the below fileset and it went just fine. I think I'll create a bundle, so, c++ completely installs in the future. # lslpp -w /usr/vacpp/include/math.h File Fileset Type ---------------------------------------------------------------------------- /usr/vacpp/include/math.h vacpp.cmp.include File # lslpp -l vacpp.cmp.include Fileset Level State Description ---------------------------------------------------------------------------- Path: /usr/lib/objrepos vacpp.cmp.include 6.0.0.13 COMMITTED VisualAge C++ Compiler Include Files # /opt/mysql/5.0.67/bin/mysql --version /opt/mysql/5.0.67/bin/mysql Ver 14.12 Distrib 5.0.67, for ibm-aix5.3.0.0 (powerpc) using EditLine wrapper
[13 Jan 2009 19:28]
Valeriy Kravchuk
So, I assume that some ommisions in your VAC environment were the real reason for this problem.
[13 Jan 2009 19:55]
John T Mills
Yes the header files for the c++ sections of code were missing. The client compile doesn't require these, and, the server compile will go a little further but fail. It might be helpful to add some of these notes to the INSTALL source documentation. I think vac and gcc are the most popular compilers on AIX.
[14 Jan 2009 8:59]
Valeriy Kravchuk
Actually, I'd say it is a bug. If some important header is missing in the system configure should be able to determine that.
[3 Jul 2009 13:44]
Daniel Fischer
This file is part of the language standard and can therefore be expected to be available. There is no need to verify that major parts of the language standard are implemented by the compiler.