Hi, REIX,! On Aug 30, REIX, Tony wrote: > Hi, > > We are porting MariaDB v10(.3.7/9) on AIX now. > > First, I'd like to know if there are people porting (or who has > ported) MariaDB on AIX in this mailing list. > > Second, we have found some issue dealing with: AIX, -O0, and inline, > which leads to a symbol missing at link time: my_ulonglong2double . > It deals with the code below. > > Since we are beginners with MariaDB, I'd like to have some comments > and/or recommendations about how it should be fixed. > > By using "static __inline" instead of "inline" below, and adding it > too to the ma_global.h definition of my_ulonglong2double() , we are > able to fix it.
This should've been done automatically. See config.h.cmake, it has /* Define to `__inline__' or `__inline' if that's what the C compiler calls it, or to nothing if 'inline' is not supported under any name. */ #cmakedefine C_HAS_inline 1 #if !(C_HAS_inline) #ifndef __cplusplus # define inline @C_INLINE@ #endif #endif and @C_INLINE@ should've been __inline in your case > However, probably that using: > #define my_ulonglong2double(nr) ((double) nr) > would be enough. > Or adding my_port.c to the MYSYS_SOURCES variable in mysys/CMakeLists.txt > would help: > > IF (AIX) > SET (MYSYS_SOURCES ${MYSYS_SOURCES} my_port.c) > ENDIF() > however, that does not work, and I do not see my_port.c being added to the > list of files to be added to mysys. > > Any idea why "IF (AIX)" does not work? (I'm also a CMake beginner). because the variable AIX is not defined in our cmakefiles. If you grep for AIX, you'll see the following test: IF(CMAKE_SYSTEM_NAME STREQUAL "AIX") I hope it'll work for you. Regards, Sergei Chief Architect MariaDB and secur...@mariadb.org _______________________________________________ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp