Bug #3507 The 4.1.2 wont compiling under IRIX using cc-3580 cc: ERROR File = hash.c, L
Submitted: 19 Apr 2004 11:28 Modified: 22 Jun 2004 18:02
Reporter: Joerg Behrens Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Compiling Severity:S3 (Non-critical)
Version:4.1.2 OS:Other (IRIX64 6.5.23m)
Assigned to: Lenz Grimmer CPU Architecture:Any

[19 Apr 2004 11:28] Joerg Behrens
Description:
Using a current snapshot of the mysql-4.1.2 produce the following error when using Mips Pro CC. I have use the BUILD/compile-irix-mips64-mipspro build script. The 4.0.19 compiles fine.

 cc "-DDEFAULT_CHARSET_HOME=\"/usr/local/mysql-4.1.2\"" "-DDATADIR=\"/usr/local/mysql-4.1.2/var\"" "-DSHAREDIR=\"/usr/local/mysql-4.1.2/share/mysql\"" -DDONT_USE_RAID -I. -I. -I.. -I../include -I/usr/local/include -I/usr/freeware/include -O -DDBUG_OFF -64 -mips4 -woff 1064,1188,1460,1552,1681,1682,3303 -Ofast=ip27 -mp -c99 -OPT:Olimit=0:roundoff=3 -TARG:platform=IP27:proc=r10000 -c hash.c  -DPIC -o .libs/hash.o
cc WARNING:  -O conflicts with ip27; using latter value (ip27)
cc-3580 cc: ERROR File = hash.c, Line = 132
  an entity with internal linkage cannot be referenced within an inline function
          with external linkage

    return calc_hash(hash,key,length);
           ^

1 error detected in the compilation of "hash.c".
gmake[2]: *** [hash.lo] Fehler 1
gmake[2]: Leaving directory `/raids/strip2/MIPS/mysql-4.1.2-alpha-nightly-20040408/libmysql_r'

How to repeat:
Just try to compile it :)
[28 Apr 2004 19:40] Lenz Grimmer
We are about to obtain our own IRIX64 build host - as soon as it's set up and
online, I will try to reproduce this.
[4 May 2004 20:26] Michael Widenius
In the mean time, you can fix this in your source by removing the following lines from hash.c:

#if !defined(__SUNPRO_C) && !defined(__USLC__)	/* broken compilers */
inline
#endif

(The correct fix is of course to add the define for your compiler to the above #if)
[10 Jun 2004 18:01] Joerg Behrens
#if !defined(__SUNPRO_C) && !defined(__USLC__)&& !defined(__sgi)	/* broken compilers */
inline
#endif

Ok, problem solved.

regards
Joerg Behrens
[22 Jun 2004 18:02] Lenz Grimmer
Thanks for the hint - I now applied a fix for this to the 4.0 tree.

It will probably not be part of 4.1.3, as we have just finished a merge
of 4.0->4.1 and this fix is not that critical. It will however be 
part of MySQL 4.1 and higher once it has propagated into these BK trees.