Back to home page

Enduro/X

 
 

    


0001 Building Enduro/X On IBM AIX Platform
0002 =====================================
0003 :doctype: book
0004 
0005 About manual
0006 ------------
0007 This manual describes how to build 'Enduro/X' on IBM AIX Platform. 
0008 Document is based on AIX 7.1 SP2, TL5. Compilers supported are GNU GCC and IBM xlC.
0009 
0010 == Overview
0011 
0012 This manual includes basic installation of Enduro/X. This does not 
0013 include building of documentation.
0014 
0015 == Operating System Configuration
0016 
0017 For short installation process see ex_adminman(guides)(Enduro/X Administration Manual).
0018 
0019 Before running commands from the root shell, ensure that /opt/freeware/bin is in path:
0020 
0021 ---------------------------------------------------------------------
0022 # export PATH=$PATH:/opt/freeware/bin
0023 ---------------------------------------------------------------------
0024 
0025 Add user used for build processes:
0026 
0027 ---------------------------------------------------------------------
0028 # useradd -m user1
0029 ---------------------------------------------------------------------
0030 
0031 
0032 == Installation process
0033 
0034 The installation process will install required several open source packages. 
0035 For getting Enduro/X to work basically we need following packages:
0036 
0037 . git
0038 
0039 . cmake
0040 
0041 . flex
0042 
0043 . bison
0044 
0045 . libxml2
0046 
0047 . gcc (if try GNU Compiler Chain)
0048  
0049 
0050 === Packages to be installed
0051 
0052 The approach how packages can be installed on system may differ. This document
0053 list just one the ways how to get system working.
0054 
0055 ==== Install IBM Open Source RPMs
0056 
0057 Firstly for installation process there will be used official IBM Free software 
0058 RPM repository and only those package missing there will be installed 
0059 from www.oss4aix.org. Assuming that you have freshly installed Operating System,
0060 we need to install *yum* tool, so that all dependencies can be 
0061 stratified automatically.
0062 
0063 Download and install the RPM packages from the 
0064 yum_bundle.tar (or later e.g. yum_bundle_v5.tar) file from 
0065 https://public.dhe.ibm.com/aix/freeSoftware/aixtoolbox/ezinstall/ppc/ .
0066 Ensure that install process does finish without any errors. 
0067  
0068 ---------------------------------------------------------------------
0069 # tar -xvf yum_bundle.tar
0070 # cd yum_bundle
0071 # rpm -ivh *.rpm
0072 ---------------------------------------------------------------------
0073 
0074 On AIX 7.3, download dnf_bundle_aix_73.tar:
0075 
0076 ---------------------------------------------------------------------
0077 # tar -xvf dnf_bundle_aix_73.tar
0078 # ./install_dnf.sh -y
0079 # /opt/freeware/bin/dnf update
0080 ---------------------------------------------------------------------
0081 
0082 Once yum is up and running, install following packages needed for build
0083 (AIX 7.1, 7.2):
0084 
0085 ---------------------------------------------------------------------
0086 # yum install flex bison libiconv curl openldap openssl zlib \
0087 libxml2 mktemp gcc gcc-cpp g++ libxml2-devel git bash m4 gmake wget
0088 ---------------------------------------------------------------------
0089 
0090 For AIX 7.2 To install g++:
0091 
0092 ---------------------------------------------------------------------
0093 # yum install gcc-c++
0094 ---------------------------------------------------------------------
0095 
0096 AIX 7.3:
0097 
0098 ---------------------------------------------------------------------
0099 # yum install flex bison libiconv curl zlib \
0100 libxml2 gcc gcc-cpp libxml2-devel git bash m4 gcc-c++ wget coreutils
0101 ---------------------------------------------------------------------
0102 
0103 
0104 ==== Fix the issue with m4 
0105 
0106 Flex and Bison requires GNU m4 to be present on the system, thus perform
0107 following:
0108 
0109 ---------------------------------------------------------------------
0110 # mv /usr/bin/m4 /usr/bin/m4.org
0111 # ln -s /opt/freeware/bin/m4 /usr/bin/m4
0112 ---------------------------------------------------------------------
0113 
0114 ==== Installing missing packages
0115 
0116 Seems that Official IBM AIX toolbox cmake tool ships as broken. 
0117 It changes the way how shared libraries are built. For Enduro/X all libs are
0118 expected to be built as System V Shared Objects (.so), but toolbox version changes
0119 these rules. Thus keep third party builds or compile from Kitware CMake sources.
0120 
0121 ===== Installing CMake from oss4aix.org (AIX 7.1)
0122 
0123 The following operations will be done from root user. This will download
0124 the all open source packages to local machine to /root/rpms folder.
0125 
0126 ---------------------------------------------------------------------
0127 # mkdir -p /root/rpms
0128 # cd /root/rpms
0129 # ftp -i www.oss4aix.org
0130 # ftp -i www.oss4aix.org
0131 Connected to www.oss4aix.org.
0132 220 FTP Server ready.
0133 Name (www.oss4aix.org:fora): anonymous
0134 331 Anonymous login ok, send your complete email address as your password
0135 Password: 
0136 230-
0137                 *** Welcome to this anonymous ftp server! ***
0138  
0139      You are user 2 out of a maximum of 20 authorized anonymous logins.
0140      The current time here is Fri Jun 17 14:52:10 2016.
0141      If you experience any problems here, contact : michael@perzl.org
0142  
0143  
0144 230 Anonymous login ok, restrictions apply.
0145 ftp> bin
0146 200 Type set to I
0147 ftp> passive
0148 Passive mode on.
0149 ftp> 
0150 ftp> 
0151 ftp> cd /compatible/aix71
0152 
0153 -- In case of AIX 7.2: 
0154 ftp> cd /compatible/aix72
0155 
0156 250 CWD command successful
0157 ftp> mget *
0158 227 Entering Passive Mode (178,254,6,100,136,212).
0159 ...
0160 ---------------------------------------------------------------------
0161 
0162 Once all packages are downloaded. We can start to install required ones. The
0163 download includes all of them, due to possible dependencies. But we need to
0164 install only two of them:
0165 
0166 ---------------------------------------------------------------------
0167 # rpm -i cmake-3.9.1-1.aix6.1.ppc.rpm
0168 # rpm -i mktemp-1.7-1.aix5.1.ppc.rpm
0169 ---------------------------------------------------------------------
0170 
0171 
0172 ===== Building CMake manually from sources (AIX 7.2, AIX 7.3)
0173 
0174 This will use gcc compiler.
0175 
0176 ---------------------------------------------------------------------
0177 # su - user1
0178 $ mkdir tmp
0179 $ cd tmp
0180 
0181 -- FOr AIX 7.1, 7.2:
0182 
0183 $ wget https://github.com/Kitware/CMake/releases/download/v3.19.4/cmake-3.19.4.tar.gz
0184 
0185 -- For AIX 7.3:
0186 
0187 $ wget https://github.com/Kitware/CMake/releases/download/v3.22.1/cmake-3.22.1.tar.gz
0188 
0189 $ gzip -d cmake-3.19.4.tar.gz
0190 $ tar -xf cmake-3.19.4.tar.gz
0191 $ cd cmake-3.19.4
0192 $ export OBJECT_MODE=64
0193 $ export CC=gcc
0194 $ export CXX=g++
0195 $ export CFLAGS=-maix64
0196 $ export CXXFLAGS=-maix64
0197 $ export LDFLAGS="-maix64 -Wl,-bbigtoc"
0198 $ ./configure --prefix=/opt/freeware
0199 
0200 -- On AIX 7.1, 7.2:
0201 $ gmake
0202 
0203 -- On AIX 7.3:
0204 $ make
0205 
0206 $ exit
0207 # cd /home/user1/tmp/cmake-3.19.4
0208 # make install
0209 ---------------------------------------------------------------------
0210 
0211 
0212 === Getting the source code
0213 
0214 For test purposes we will prepare new user for which Enduro/X will built 
0215 (this adds the in the path the /opt/freeware/bin and xlC version 13 compiler. 
0216 You may modify that of your needs.
0217 
0218 ---------------------------------------------------------------------
0219 # su - user1
0220 $ bash
0221 $ cat << EOF >> .profile
0222 PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:$HOME/bin:/usr/bin/X11:/sbin:.:/opt/freeware/bin:/opt/IBM/xlC/13.1.3/bin
0223 EOF
0224 $ chmod +x .profile
0225 $ source .profile
0226 $ cd /home/user1
0227 $ GIT_SSL_NO_VERIFY=true git clone https://github.com/endurox-dev/endurox
0228 $ cd endurox 
0229 $ git config http.sslVerify "false"
0230 ---------------------------------------------------------------------
0231 
0232 The path */opt/IBM/xlC/13.1.3/bin* shall be updated to match th compiler install
0233 path. For example IBM IBM Open XL C/C++ would have */opt/IBM/openxlC/17.1.0/bin* path set.
0234 
0235 === Enduro/X basic Environment configuration for HOME directory
0236 
0237 This code bellow creates 'ndrx_home' executable file which loads basic environment, 
0238 so that you can use sample configuration provided by Enduro/X in 
0239 'sampleconfig' directory. This also assumes that you are going to install to 
0240 '$HOME/endurox/dist' folder. The file bellow will override the sample configuration.
0241 
0242 ---------------------------------------------------------------------
0243 $ cat << EOF > $HOME/ndrx_home
0244 #!/bin/bash
0245 
0246 # Where app domain lives
0247 export NDRX_APPHOME=/home/user1/endurox
0248 # Where NDRX runtime lives
0249 export NDRX_HOME=/home/user1/endurox/dist
0250 # Debug config too
0251 export NDRX_DEBUG_CONF=/home/user1/endurox/sampleconfig/debug.conf
0252 
0253 # NDRX config too.
0254 export NDRX_CONFIG=/home/user1/endurox/sampleconfig/ndrxconfig.xml
0255 
0256 # Access for binaries
0257 export PATH=\$PATH:/\$HOME/endurox/dist/bin
0258 
0259 # LIBPATH for .so 
0260 export LIBPATH=\$LIBPATH:\$HOME/endurox/dist/lib
0261 
0262 # UBF/FML field tables
0263 export FLDTBLDIR=\$HOME/endurox/ubftest/ubftab
0264 
0265 # Some AIX version (like 7.2) limits the ulimit -s process wide
0266 # thus default logic for taking new thread stack size from getrlimit(RLIMIT_STACK)
0267 # causes pthread_create() to fail with resource limit error.
0268 export NDRX_THREADSTACKSIZE=8192
0269 
0270 ################################################################################
0271 # In case if building with Postgresql DB database testing support
0272 # or building endurox-java with Oracle DB tests (03_xapostgres), then
0273 # configure bellow setting (demo values provided):
0274 # If so - uncomment bellow
0275 ################################################################################
0276 #export EX_PG_HOST=localhost
0277 #export EX_PG_USER=exdbtest
0278 #export EX_PG_PASS=exdbtest1
0279 # currently uses default port
0280 #export EX_PG_PORT=5432
0281 #export EX_PG_DB=xe
0282 # additional libpath for postgres 
0283 #export EX_PG_LIBPATH=/opt/freeware/lib
0284 
0285 
0286 EOF
0287 
0288 $ chmod +x $HOME/ndrx_home
0289 ---------------------------------------------------------------------
0290 
0291 === Configuring PostgreSQL
0292 
0293 If Enduro/X PostgreSQL driver is needed to be build for AIX, the PostgreSQL
0294 needs to be installed for build and test purposes. Installation will be done 
0295 by using "yum" tool. It is assumed that it is configured for given OS.
0296 To install database on this system, use following commands:
0297 
0298 --------------------------------------------------------------------------------
0299 $ su - root
0300 # yum update
0301 # yum install postgresql postgresql-contrib postgresql-devel postgresql-libs postgresql-server
0302 --------------------------------------------------------------------------------
0303 
0304 Once installed, database needs to be created:
0305 
0306 --------------------------------------------------------------------------------
0307 
0308 # su - postgres
0309 
0310 $ bash
0311 
0312 $ cat << EOF >> .profile
0313 PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:$HOME/bin:/usr/bin/X11:/sbin:.:/opt/freeware/bin
0314 EOF
0315 
0316 $ chmod +x .profile
0317 
0318 $ source .profile
0319 
0320 $ initdb -D /var/lib/postgresql/data
0321 -- and start it up...
0322 $ pg_ctl -D /var/lib/postgresql/data -l logfile start
0323 
0324 --------------------------------------------------------------------------------
0325 
0326 Create startup scripts:
0327 
0328 -------------------------------------------------------------------------------
0329 
0330 # cat << EOF > /etc/rc.d/rc2.d/S99postgres
0331 #!/bin/ksh
0332 
0333 ##################################################
0334 # name: postgres
0335 # Starts or stops Postgresql.
0336 # P.S. Script must be run as root!
0337 ##################################################
0338 
0339 case "\$1" in
0340 start )
0341         su - postgres -c "pg_ctl -D /var/lib/postgresql/data -l logfile start" 
0342         ;;
0343 stop )
0344         su - postgres -c "pg_ctl -D /var/lib/postgresql/data -l logfile stop" 
0345         ;;
0346 * )
0347         echo "Usage: \$0 (start | stop)"
0348         exit 1
0349 esac
0350 
0351 EOF
0352 
0353 # chmod +x /etc/rc.d/rc2.d/S99postgres
0354 
0355 # ln -s /etc/rc.d/rc2.d/S99postgres /etc/rc.d/rc2.d/K01postgres
0356 
0357 --------------------------------------------------------------------------------
0358 
0359 Now create the database for Enduro/X tests:
0360 
0361 --------------------------------------------------------------------------------
0362 # su - postgres
0363 
0364 $ createuser exdbtest
0365 
0366 $ createdb xe
0367 
0368 $ psql -d template1
0369 
0370 > alter user exdbtest with encrypted password 'exdbtest1';
0371 > grant all privileges on database xe to exdbtest;
0372 > \q
0373 
0374 --------------------------------------------------------------------------------
0375 
0376 Configuration files needs to be updated for authentication and distributed
0377 transactions must be enabled too.
0378 
0379 Edit */var/lib/postgresql/data/postgresql.conf*, set "max_prepared_transactions"
0380 to 1000.
0381 
0382 --------------------------------------------------------------------------------
0383 
0384 max_prepared_transactions = 1000                # zero disables the feature
0385 
0386 --------------------------------------------------------------------------------
0387 
0388 For access permissions and network configuration, update 
0389 */var/lib/postgresql/data/pg_hba.conf*, so that it contains following:
0390 
0391 --------------------------------------------------------------------------------
0392 
0393 local   all             all                                     peer
0394 host    all             all             127.0.0.1/32            md5
0395 host    all             all             ::1/128                 md5
0396 
0397 --------------------------------------------------------------------------------
0398 
0399 Restart PostgreSQL:
0400 
0401 --------------------------------------------------------------------------------
0402 
0403 # su - root
0404 # /etc/rc.d/rc2.d/S99postgres stop
0405 # /etc/rc.d/rc2.d/S99postgres start
0406 
0407 --------------------------------------------------------------------------------
0408 
0409 === Building the code with xlC
0410 
0411 It is assumed that xlC is default compiler on the system, thus following 
0412 shall make the building ok:
0413 
0414 ---------------------------------------------------------------------
0415 # su - user1
0416 $ bash
0417 $ export OBJECT_MODE=64
0418 $ export CC=xlc 
0419 $ export CXX=xlC
0420 $ cd /home/user1/endurox
0421 $ cmake -DDEFINE_DISABLEDOC=ON\
0422       -DCMAKE_INSTALL_PREFIX:PATH=`pwd`/dist -DCMAKE_LIBRARY_PATH=/opt/freeware/lib .
0423 $ make 
0424 $ make install
0425 ---------------------------------------------------------------------
0426 
0427 Note that we use in above snippet a exported compiler variables (CC, CXX), 
0428 this is due to bug in CMake 3.9 where xlC is not detected correctly. 
0429 See: https://www.ibm.com/developerworks/aix/library/au-aix-install-config-apache-subversions/index.html
0430 
0431 *-DCMAKE_LIBRARY_PATH=/opt/freeware/lib* is only needed in case if building for
0432 PostgreSQL support. Otherwise system libs functions fine. Also if running
0433 Enduro/X standard test set with PostgreSQL, the */opt/freeware/lib* must be
0434 present in *LD_LIBRARY_PATH*.
0435 
0436 
0437 === Building the code with IBM Open XL C/C++
0438 
0439 It is assumed that xlC is default compiler on the system, thus following 
0440 shall make the building ok:
0441 
0442 ---------------------------------------------------------------------
0443 # su - user1
0444 $ bash
0445 $ export OBJECT_MODE=64
0446 $ export CC=ibm-clang_r
0447 $ export CXX=ibm-clang++_r
0448 $ cd /home/user1/endurox
0449 $ cmake -DDEFINE_DISABLEDOC=ON\
0450       -DCMAKE_INSTALL_PREFIX:PATH=`pwd`/dist -DCMAKE_LIBRARY_PATH=/opt/freeware/lib .
0451 $ make 
0452 $ make install
0453 ---------------------------------------------------------------------
0454 
0455 *WARNING:* IBM Open XL C/C++ compiler currently has some issues with thread local storage
0456 as of version 17.1.0 (libraries which are linked to binary and later loaded by dlopen() has
0457 some issues with thread local stroage objects, which are accessed by loaded library against
0458 the running executable). While this problem is not solved, IBM Open XL C/C++ cannot be used.
0459 Please use previous versions of xlC/C++ or GCC.
0460 
0461 === Building the code with GCC
0462 
0463 If you previously have installed gcc (C/C++) compiler open source package.
0464 Then you can build Enduro/X with GCC compiler. To prepare for GCC build, do following steps:
0465 
0466 ---------------------------------------------------------------------
0467 # su - user1
0468 $ bash
0469 $ cd /home/user1/endurox
0470 $ export OBJECT_MODE=64
0471 $ export CC=gcc
0472 $ export CXX=g++
0473 
0474 -- ON AIX 7.1, 7.2:
0475 
0476 $ export CFLAGS=-maix64
0477 $ export CXXFLAGS=-maix64
0478 
0479 -- On AIX 7.3, otherwise Golang builds fails:
0480 
0481 export CFLAGS="-maix64 -Wl,-brtl,-bexpall,-berok"
0482 export CXXFLAGS="-maix64 -Wl,-brtl,-bexpall,-berok"
0483 
0484 $ cmake -DDEFINE_DISABLEDOC=ON \
0485     -DCMAKE_INSTALL_PREFIX:PATH=`pwd`/dist -DCMAKE_LIBRARY_PATH=/opt/freeware/lib -DCMAKE_AR=/usr/bin/ar  .
0486 $ make
0487 $ make install
0488 ---------------------------------------------------------------------
0489 
0490 */usr/bin/ar* seems to be required for AIX 7.2, AIX 7.3.
0491 
0492 == Unit Testing
0493 
0494 Enduro/X basically consists of two parts:
0495 . XATMI runtime;
0496 . UBF/FML buffer processing. 
0497 Each of these two sub-systems have own units tests.
0498 
0499 === UBF/FML Unit testing
0500 
0501 ---------------------------------------------------------------------
0502 $ cd /home/user1/endurox/sampleconfig
0503 $ source setndrx
0504 $ cd /home/user1/endurox/ubftest
0505 $ ./ubfunit1 2>/dev/null
0506 Running "main" (76 tests)...
0507 Completed "ubf_basic_tests": 198 passes, 0 failures, 0 exceptions.
0508 Completed "ubf_Badd_tests": 225 passes, 0 failures, 0 exceptions.
0509 Completed "ubf_genbuf_tests": 334 passes, 0 failures, 0 exceptions.
0510 Completed "ubf_cfchg_tests": 2058 passes, 0 failures, 0 exceptions.
0511 Completed "ubf_cfget_tests": 2232 passes, 0 failures, 0 exceptions.
0512 Completed "ubf_fdel_tests": 2303 passes, 0 failures, 0 exceptions.
0513 Completed "ubf_expr_tests": 3106 passes, 0 failures, 0 exceptions.
0514 Completed "ubf_fnext_tests": 3184 passes, 0 failures, 0 exceptions.
0515 Completed "ubf_fproj_tests": 3548 passes, 0 failures, 0 exceptions.
0516 Completed "ubf_mem_tests": 4438 passes, 0 failures, 0 exceptions.
0517 Completed "ubf_fupdate_tests": 4613 passes, 0 failures, 0 exceptions.
0518 Completed "ubf_fconcat_tests": 4768 passes, 0 failures, 0 exceptions.
0519 Completed "ubf_find_tests": 5020 passes, 0 failures, 0 exceptions.
0520 Completed "ubf_get_tests": 5247 passes, 0 failures, 0 exceptions.
0521 Completed "ubf_print_tests": 5655 passes, 0 failures, 0 exceptions.
0522 Completed "ubf_macro_tests": 5666 passes, 0 failures, 0 exceptions.
0523 Completed "ubf_readwrite_tests": 5764 passes, 0 failures, 0 exceptions.
0524 Completed "ubf_mkfldhdr_tests": 5770 passes, 0 failures, 0 exceptions.
0525 Completed "main": 5770 passes, 0 failures, 0 exceptions.
0526 ---------------------------------------------------------------------
0527 
0528 === XATMI Unit testing
0529 ATMI testing might take some time. Also ensure that you have few Gigabytes 
0530 of free disk space, as logging requires some space. Also for AIX there are 
0531 small default limits of max file size. It is recommended to increase it 
0532 to some 10 GB or so. To run the ATMI tests do following:
0533 
0534 ---------------------------------------------------------------------
0535 $ cd /home/user1/endurox/atmitest
0536 $ nohup ./run.sh &
0537 $ tail -f /home/user1/endurox/atmitest/test.out
0538 ...
0539 ************ FINISHED TEST: [test028_tmq/run.sh] with 0 ************
0540 Completed "atmi_test_all": 28 passes, 0 failures, 0 exceptions.
0541 Completed "main": 28 passes, 0 failures, 0 exceptions.
0542 ---------------------------------------------------------------------
0543 
0544 == Trouble shooting
0545 
0546 === Problems with libxml2
0547 
0548 You may experience issues with libxml2 version between free-ware and AIX system provided.
0549 The error looks like:
0550 
0551 ---------------------------------------------------------------------
0552 $ ./cpmsrv 
0553 exec(): 0509-036 Cannot load program ./cpmsrv because of the following errors:
0554         0509-150   Dependent module /opt/freeware/lib/libxml2.a(libxml2.shr_64.o) could not be loaded.
0555         0509-152   Member libxml2.shr_64.o is not found in archive 
0556 ---------------------------------------------------------------------
0557 
0558 It seems that linker is using /ccs/lib/libxml2.a but at runtime picks up
0559 /opt/freeware/lib/libxml2.a. One way to solve this is to replace freeware version
0560 with system provided file. That could be done in following way:
0561 
0562 ---------------------------------------------------------------------
0563 # cd /opt/freeware/lib
0564 # mv libxml2.a backup.libxml2.a
0565 # ln -s /usr/ccs/lib/libxml2.a .
0566 ---------------------------------------------------------------------
0567 
0568 Other way around this is to use *-DCMAKE_LIBRARY_PATH=/opt/freeware/lib* parameter
0569 for CMake, so that build links against freeware libraries.
0570 
0571 
0572 === Rebuilding with other compiler
0573 
0574 To switch the compilers, it is recommended to clean up CMake cached files before
0575 doing configuration for other compiler, for example (switching from xlC to GCC):
0576 
0577 ---------------------------------------------------------------------
0578 
0579 $ rm -rf CMakeCache.txt Makefile CMakeFiles/
0580 $ export OBJECT_MODE=64
0581 $ export CC=gcc
0582 $ gcc
0583 gcc: fatal error: no input files
0584 compilation terminated.
0585 $ export CXX=g++
0586 $ export CFLAGS=-maix64
0587 $ export CXXFLAGS=-maix64
0588 $ cmake -DDEFINE_DISABLEPSCRIPT=ON -DDEFINE_DISABLEDOC=ON \
0589     -DCMAKE_INSTALL_PREFIX:PATH=`pwd`/dist -DCMAKE_LIBRARY_PATH=/opt/freeware/lib .
0590 -- The C compiler identification is GNU 4.8.3
0591 -- The CXX compiler identification is GNU 4.8.3
0592 -- Check for working C compiler: /usr/bin/gcc
0593 -- Check for working C compiler: /usr/bin/gcc -- works
0594 -- Detecting C compiler ABI info
0595 -- Detecting C compiler ABI info - done
0596 -- Detecting C compile features
0597 -- Detecting C compile features - done
0598 -- Check for working CXX compiler: /usr/bin/g++
0599 -- Check for working CXX compiler: /usr/bin/g++ -- works
0600 -- Detecting CXX compiler ABI info
0601 -- Detecting CXX compiler ABI info - done
0602 ...
0603 ---------------------------------------------------------------------
0604 
0605 
0606 === Thread local storage issues
0607 
0608 On AIX 6.1 there with gcc version 4.8.3 works on with __thread flag. However, 
0609 it looks like On AIX 7.1 with the same gcc version __thread local storage is 
0610 not working. The symptoms are that various test cases fail, 
0611 for example test028 (tmqueue). While this happens it
0612  is recommended to use xlC compiler.
0613 
0614 
0615 == Conclusions
0616 At finish you have a configured system which is read to process the transactions
0617 by Enduro/X runtime. It is possible to copy the binary version ('dist') folder
0618 to other same architecture machines and run it there without need of building.
0619 
0620 :numbered!:
0621 
0622 [bibliography]
0623 Additional documentation 
0624 ------------------------
0625 This section lists additional related documents.
0626 
0627 [bibliography]
0628 .Resources
0629 - [[[BINARY_INSTALL]]] See Enduro/X 'binary_install' manual.
0630 
0631 
0632 ////////////////////////////////////////////////////////////////
0633 The index is normally left completely empty, it's contents being
0634 generated automatically by the DocBook toolchain.
0635 ////////////////////////////////////////////////////////////////