← Back to team overview

maria-developers team mailing list archive

Re: Build and/or support of MariaDB on AIX

 


> -----Original Message-----
> From: Maria-developers [mailto:maria-developers-
> bounces+wlad=montyprogram.com@xxxxxxxxxxxxxxxxxxx] On Behalf Of Frank
> Fegert
> Sent: Sonntag, 23. Juni 2013 12:13
> To: maria-developers@xxxxxxxxxxxxxxxxxxx
> Subject: [Maria-developers] Build and/or support of MariaDB on AIX
> 
> Hello all,
> 
> i'm currently running MySQL 5.1.62 on IBM Power LPARs with AIX 6.1. I'll
> spare you the discussion of why AIX and not Linux and will just say "it
> is what it is ATM" ;-) Anyhow, with things proceeding as they are, i guess
> chances are that Oracle and IBM are not going to get any more friendly
> with each other, so i'm looking for an alternative way to move forward.
> That being said, i'd like to get an idea of the general feeling around
> the MariaDB development team on the support of non-(Linux|*BSD|Windows)
> platforms. Are there currently any plans? Would you be willing to invest
> some time in helping to get MariaDB running on AIX?

I think that the realistic options  you have are : 
1. Either you have an AIX enthusiast,  a knowledgeable  guy who regularly
supplies team with AIX related patches (that do not break  any other
platforms;)). 
Or 
2. You provide a machine for the Buildbot, and sponsor the project (the
popularity of AIX is IMO too low, to support it for free). 

It is my personal opinion, not an official position.

> Right now, i can successfully build stock MySQL 5.1.70 with some minor
> patches and stock MySQL 5.5.32 with some minor patches and the option
> "DWITHOUT_PERFSCHEMA_STORAGE_ENGINE=ON". With performance
> schema enabled
> the build fails at linking the unittests in
"storage/perfschema/unittest/",
> see below for a full error output. The MariaDB 5.5.31 build does currently
> not even go that far, if fails earlier on the threadpool code, see below.
> Unfortunately my C/C++-fu is not strong enough to determine what might
> be considered a sound alternative to the epoll/kevent/port_event calls
> on AIX to do an alteration like the one in MDEV-4174. Can someone please
> help me out here?

To me , it looks like a  sound alternative for AIX environment  would be
using IO completion ports, the AIX port of  Windows API's.
Native_event  would be OVERLAPPED *
Io_port_create, io_port_associate_fd map to  CreateIoCompletionPort () 
io_poll_start_read is  ReadFile(), with OVERLAPPED*, 0 bytes length read
io_poll_wait is GetQueuedCompletionStatus()
io_port_disassociate() cannot be implemented, but it is only used in rare
case where thread_pool_size is being changed at runtime.

If you do not want to mess with it (you said your C-fu is weak),  I attached
a patch  with dummy implementation of threadpool required methods, it should
just make this thing compile, threadpool won't be usable. I did not test it.

Wlad

PS. Performance schema unit tests should either be disabled or link with sql
library (TARGET_LINK_LIBRARIES sql), I gather this from the error output you
sent.



Attachment: aix.diff
Description: Binary data


Follow ups

References