Bug #119767 MySQL fails to build on FreeBSD
Submitted: 24 Jan 12:57
Reporter: Daniël van Eeden (OCA) Email Updates:
Status: Open Impact on me:
None 
Category:MySQL Server: Compiling Severity:S2 (Serious)
Version:9.6.0 OS:FreeBSD (15)
Assigned to: CPU Architecture:x86

[24 Jan 12:57] Daniël van Eeden
Description:
MySQL 9.6.0 fails to build on FreeBSD 15.0-RELEASE with clang 19.1.7
```
cd mysql-9.6.0
mkdir bld
cd bld
cmake .. -DWITH_SSL=system
make -j18 install
```

--------------------------------------------
   99 |     f |= S_IRUSR;
      |          ^
/home/dveeden/mysql-shell/mysql-9.6.0/sql/server_component/mysql_file_imp.cc:101:10: error: use of undeclared identifier 'S_IWUSR'
  101 |     f |= S_IWUSR;
      |          ^
/home/dveeden/mysql-shell/mysql-9.6.0/sql/server_component/mysql_file_imp.cc:104:10: error: use of undeclared identifier 'S_IXUSR'
  104 |     f |= S_IXUSR;
      |          ^
/home/dveeden/mysql-shell/mysql-9.6.0/sql/server_component/mysql_file_imp.cc:106:10: error: use of undeclared identifier 'S_IRGRP'
  106 |     f |= S_IRGRP;
      |          ^
/home/dveeden/mysql-shell/mysql-9.6.0/sql/server_component/mysql_file_imp.cc:109:10: error: use of undeclared identifier 'S_IWGRP'
  109 |     f |= S_IWGRP;
      |          ^
/home/dveeden/mysql-shell/mysql-9.6.0/sql/server_component/mysql_file_imp.cc:112:10: error: use of undeclared identifier 'S_IXGRP'
  112 |     f |= S_IXGRP;
      |          ^
/home/dveeden/mysql-shell/mysql-9.6.0/sql/server_component/mysql_file_imp.cc:115:10: error: use of undeclared identifier 'S_IROTH'
  115 |     f |= S_IROTH;
      |          ^
/home/dveeden/mysql-shell/mysql-9.6.0/sql/server_component/mysql_file_imp.cc:118:10: error: use of undeclared identifier 'S_IWOTH'
  118 |     f |= S_IWOTH;
      |          ^
8 errors generated.
--- sql/server_component/CMakeFiles/mysql_server_component_services.dir/mysql_file_imp.cc.o ---
*** [sql/server_component/CMakeFiles/mysql_server_component_services.dir/mysql_file_imp.cc.o] Error code 1
--------------------------------------------

How to repeat:
See description

Suggested fix:
Adding `#include <sys/stat.h>` to sql/server_component/mysql_file_imp.cc seems to fix this.