Install gevent in AIX with gcc

greenlet

Download greenlet-0.4.1.zip from https://github.com/python-greenlet/greenlet

1
2
3
sudo gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -fno-tree-dominator-opts -I. -I/opt/freeware/include/python2.7 -c greenlet.c -o build/greenlet.o
sudo gcc -shared -lpthreads -lpython2.7 -o build/greenlet.so build/greenlet.o
sudo cp build/greenlet.so /opt/freeware/lib/python2.7/site-packages/

libev

Download libev-4.15.tar.gz from http://dist.schmorp.de/libev/

1
2
./configure --prefix=/usr/local/libev
gmake && sudo gmake install

c-ares

Download c-ares from http://c-ares.haxx.se/

1
2
./configure --prefix=/usr/local/c-ares
gmake && sudo gmake install

Or just run
run configure CONFIG_COMMANDS= CONFIG_FILES=

gevent

2.build share object

1
2
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -fno-tree-dominator-opts -I/opt/freeware/include/python2.7 -Ic-ares gevent/gevent.ares.c -c -o build/gevent/gevent.ares.o
gcc -pthread -shared -lpython2.7 -L/home/sms_dev/soft/usr/local/c-ares/lib -lcares -lrt -o build/gevent/ares.so build/gevent/gevent.ares.o
  • build semaphore.so

    1
    2
    sudo gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -fno-tree-dominator-opts -I/opt/freeware/include/python2.7 gevent/gevent.**semaphore.c -c -o build/gevent/gevent.**semaphore.o 
    gcc -pthread -shared -lpython2.7 build/gevent/gevent.**semaphore.o -o build/gevent/**semaphore.so
  • build **util.so

    1
    2
    sudo gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -fno-tree-dominator-opts -I/opt/freeware/include/python2.7 gevent/gevent.**util.c -c -o build/gevent/gevent._util.o 
    gcc -pthread -shared -lpython2.7 build/gevent/gevent.**util.o -o build/gevent/**util.so

Reference:

Linux 的 .a / .so / .la 函式庫的差異
问个.a和.so的区别
Linux下静态链接库与动态链接库的区别
凡你醉处 你说过 皆非他乡
淺談coroutine與gevent