Ubuntu ACE编译环境搭建:
1. 安装32位库文件 sudo apt-get install gcc-multilib g++-multilib
2. 删除旧的ACE_wrappers目录
3. 解压ACE源码文件 tar zxvf ACE-6.2.0.tar.gz,将编译脚本buildACE放在ACE_wrappers同级目录
执行buildACE即可完成编译。
chmod +x buildACE.sh ./buildACE
#!/bin/bash
sudo dpkg -s gcc-multilib g++-multilib
if [ $? -ne 0 ]
then
echo ""
echo "please install gcc-multilib g++-multilib!"
exit
fi
export CURRDIR=$PWD
export ACE_SOURCE=$CURRDIR/ACE-6.2.0.tar.gz
export ACE_ROOT=$CURRDIR/ACE_wrappers
export LD_LIBRARY_PATH=$ACE_ROOT/lib
ACE_X86_DEBUG_SO=so_ubuntu_x86_gcc4-8-4_debug
ACE_X86_DEBUG_LIB=lib_ubuntu_x86_gcc4-8-4_debug
ACE_X86_RELEASE_SO=so_ubuntu_x86_gcc4-8-4_release
ACE_X86_RELEASE_LIB=lib_ubuntu_x86_gcc4-8-4_release
ACE_X64_DEBUG_SO=so_ubuntu_x64_gcc4-8-4_debug
ACE_X64_DEBUG_LIB=lib_ubuntu_x64_gcc4-8-4_debug
ACE_X64_RELEASE_SO=so_ubuntu_x64_gcc4-8-4_release
ACE_X64_RELEASE_LIB=lib_ubuntu_x64_gcc4-8-4_release
# 32 debug so ACE_X86_DEBUG_SO
rm -rf $ACE_ROOT
cd $CURRDIR
tar zxvf $ACE_SOURCE
echo "#define ACE_HAS_IPV6" > $ACE_ROOT/ace/config.h
echo "#define ACE_HAS_EVENT_POLL" >> $ACE_ROOT/ace/config.h
echo '#include "ace/config-linux.h"' >> $ACE_ROOT/ace/config.h
echo "include $ACE_ROOT/include/makeinclude/platform_linux.GNU" > $ACE_ROOT/include/makeinclude/platform_macros.GNU
echo "INSTALL_PREFIX=$CURRDIR/$ACE_X86_DEBUG_SO" >> $ACE_ROOT/include/makeinclude/platform_macros.GNU
rm -rf $CURRDIR/$ACE_X86_DEBUG_SO
rm $ACE_ROOT/lib/*
cd $ACE_ROOT
make buildbits=32 debug=1 shared_libs_only=1
make install
rm -rf $CURRDIR/$ACE_X86_DEBUG_SO/include
rm -rf $CURRDIR/$ACE_X86_DEBUG_SO/bin
rm -rf $CURRDIR/$ACE_X86_DEBUG_SO/share
mv -f $CURRDIR/$ACE_X86_DEBUG_SO/lib/*.* $CURRDIR/$ACE_X86_DEBUG_SO/
rm -rf $CURRDIR/$ACE_X86_DEBUG_SO/pkgconfig
rm -rf $CURRDIR/$ACE_X86_DEBUG_SO/lib
# 32 debug lib ACE_X86_DEBUG_LIB
rm -rf $ACE_ROOT
cd $CURRDIR
tar zxvf $ACE_SOURCE
echo "#define ACE_HAS_IPV6" > $ACE_ROOT/ace/config.h
echo "#define ACE_HAS_EVENT_POLL" >> $ACE_ROOT/ace/config.h
echo '#include "ace/config-linux.h"' >> $ACE_ROOT/ace/config.h
echo "include $ACE_ROOT/include/makeinclude/platform_linux.GNU" > $ACE_ROOT/include/makeinclude/platform_macros.GNU
echo "INSTALL_PREFIX=$CURRDIR/$ACE_X86_DEBUG_LIB" >> $ACE_ROOT/include/makeinclude/platform_macros.GNU
rm -rf $CURRDIR/$ACE_X86_DEBUG_LIB/*.*
rm $ACE_ROOT/lib/*.*
cd $ACE_ROOT
make buildbits=32 debug=1 static_libs_only=1
make install
rm -rf $CURRDIR/$ACE_X86_DEBUG_LIB/include
rm -rf $CURRDIR/$ACE_X86_DEBUG_LIB/bin
rm -rf $CURRDIR/$ACE_X86_DEBUG_LIB/share
mv -f $CURRDIR/$ACE_X86_DEBUG_LIB/lib/*.* $CURRDIR/$ACE_X86_DEBUG_LIB/
rm -rf $CURRDIR/$ACE_X86_DEBUG_LIB/pkgconfig
rm -rf $CURRDIR/$ACE_X86_DEBUG_LIB/lib
# 32 release so ACE_X86_RELEASE_SO
rm -rf $ACE_ROOT
cd $CURRDIR
tar zxvf $ACE_SOURCE
echo "#define ACE_HAS_IPV6" > $ACE_ROOT/ace/config.h
echo "#define ACE_HAS_EVENT_POLL" >> $ACE_ROOT/ace/config.h
echo '#include "ace/config-linux.h"' >> $ACE_ROOT/ace/config.h
echo "include $ACE_ROOT/include/makeinclude/platform_linux.GNU" > $ACE_ROOT/include/makeinclude/platform_macros.GNU
echo "INSTALL_PREFIX=$CURRDIR/$ACE_X86_RELEASE_SO" >> $ACE_ROOT/include/makeinclude/platform_macros.GNU
rm -rf $CURRDIR/$ACE_X86_RELEASE_SO
rm $ACE_ROOT/lib/*
cd $ACE_ROOT
make buildbits=32 shared_libs_only=1 debug=0
make install
rm -rf $CURRDIR/$ACE_X86_RELEASE_SO/include
rm -rf $CURRDIR/$ACE_X86_RELEASE_SO/bin
rm -rf $CURRDIR/$ACE_X86_RELEASE_SO/share
mv -f $CURRDIR/$ACE_X86_RELEASE_SO/lib/*.* $CURRDIR/$ACE_X86_RELEASE_SO/
rm -rf $CURRDIR/$ACE_X86_RELEASE_SO/pkgconfig
rm -rf $CURRDIR/$ACE_X86_RELEASE_SO/lib
# 32 release lib ACE_X86_RELEASE_LIB
rm -rf $ACE_ROOT
cd $CURRDIR
tar zxvf $ACE_SOURCE
echo "#define ACE_HAS_IPV6" > $ACE_ROOT/ace/config.h
echo "#define ACE_HAS_EVENT_POLL" >> $ACE_ROOT/ace/config.h
echo '#include "ace/config-linux.h"' >> $ACE_ROOT/ace/config.h
echo "include $ACE_ROOT/include/makeinclude/platform_linux.GNU" > $ACE_ROOT/include/makeinclude/platform_macros.GNU
echo "INSTALL_PREFIX=$CURRDIR/$ACE_X86_RELEASE_LIB" >> $ACE_ROOT/include/makeinclude/platform_macros.GNU
rm -rf $CURRDIR/$ACE_X86_RELEASE_LIB
rm $ACE_ROOT/lib/*
cd $ACE_ROOT
make buildbits=32 static_libs_only=1 debug=0
make install
rm -rf $CURRDIR/$ACE_X86_RELEASE_LIB/include
rm -rf $CURRDIR/$ACE_X86_RELEASE_LIB/bin
rm -rf $CURRDIR/$ACE_X86_RELEASE_LIB/share
mv -f $CURRDIR/$ACE_X86_RELEASE_LIB/lib/*.* $CURRDIR/$ACE_X86_RELEASE_LIB/
rm -rf $CURRDIR/$ACE_X86_RELEASE_LIB/pkgconfig
rm -rf $CURRDIR/$ACE_X86_RELEASE_LIB/lib
# 64 debug so ACE_X64_DEBUG_SO
rm -rf $ACE_ROOT
cd $CURRDIR
tar zxvf $ACE_SOURCE
echo "#define ACE_HAS_IPV6" > $ACE_ROOT/ace/config.h
echo "#define ACE_HAS_EVENT_POLL" >> $ACE_ROOT/ace/config.h
echo '#include "ace/config-linux.h"' >> $ACE_ROOT/ace/config.h
echo "include $ACE_ROOT/include/makeinclude/platform_linux.GNU" > $ACE_ROOT/include/makeinclude/platform_macros.GNU
echo "INSTALL_PREFIX=$CURRDIR/$ACE_X64_DEBUG_SO" >> $ACE_ROOT/include/makeinclude/platform_macros.GNU
rm -rf $CURRDIR/$ACE_X64_DEBUG_SO
rm $ACE_ROOT/lib/*
cd $ACE_ROOT
make buildbits=64 debug=1 shared_libs_only=1
make install
rm -rf $CURRDIR/$ACE_X64_DEBUG_SO/include
rm -rf $CURRDIR/$ACE_X64_DEBUG_SO/bin
rm -rf $CURRDIR/$ACE_X64_DEBUG_SO/share
mv -f $CURRDIR/$ACE_X64_DEBUG_SO/lib/*.* $CURRDIR/$ACE_X64_DEBUG_SO/
rm -rf $CURRDIR/$ACE_X64_DEBUG_SO/pkgconfig
rm -rf $CURRDIR/$ACE_X64_DEBUG_SO/lib
# 64 debug lib ACE_X64_DEBUG_LIB
rm -rf $ACE_ROOT
cd $CURRDIR
tar zxvf $ACE_SOURCE
echo "#define ACE_HAS_IPV6" > $ACE_ROOT/ace/config.h
echo "#define ACE_HAS_EVENT_POLL" >> $ACE_ROOT/ace/config.h
echo '#include "ace/config-linux.h"' >> $ACE_ROOT/ace/config.h
echo "include $ACE_ROOT/include/makeinclude/platform_linux.GNU" > $ACE_ROOT/include/makeinclude/platform_macros.GNU
echo "INSTALL_PREFIX=$CURRDIR/$ACE_X64_DEBUG_LIB" >> $ACE_ROOT/include/makeinclude/platform_macros.GNU
rm -rf $CURRDIR/$ACE_X64_DEBUG_LIB
rm $ACE_ROOT/lib/*
cd $ACE_ROOT
make buildbits=64 debug=1 static_libs_only=1
make install
rm -rf $CURRDIR/$ACE_X64_DEBUG_LIB/include
rm -rf $CURRDIR/$ACE_X64_DEBUG_LIB/bin
rm -rf $CURRDIR/$ACE_X64_DEBUG_LIB/share
mv -f $CURRDIR/$ACE_X64_DEBUG_LIB/lib/*.* $CURRDIR/$ACE_X64_DEBUG_LIB/
rm -rf $CURRDIR/$ACE_X64_DEBUG_LIB/pkgconfig
rm -rf $CURRDIR/$ACE_X64_DEBUG_LIB/lib
# 64 release so ACE_X64_RELEASE_SO
rm -rf $ACE_ROOT
cd $CURRDIR
tar zxvf $ACE_SOURCE
echo "#define ACE_HAS_IPV6" > $ACE_ROOT/ace/config.h
echo "#define ACE_HAS_EVENT_POLL" >> $ACE_ROOT/ace/config.h
echo '#include "ace/config-linux.h"' >> $ACE_ROOT/ace/config.h
echo "include $ACE_ROOT/include/makeinclude/platform_linux.GNU" > $ACE_ROOT/include/makeinclude/platform_macros.GNU
echo "INSTALL_PREFIX=$CURRDIR/$ACE_X64_RELEASE_SO" >> $ACE_ROOT/include/makeinclude/platform_macros.GNU
rm -rf $CURRDIR/$ACE_X64_RELEASE_SO
rm $ACE_ROOT/lib/*
cd $ACE_ROOT
make buildbits=64 shared_libs_only=1 debug=0
make install
rm -rf $CURRDIR/$ACE_X64_RELEASE_SO/include
rm -rf $CURRDIR/$ACE_X64_RELEASE_SO/bin
rm -rf $CURRDIR/$ACE_X64_RELEASE_SO/share
mv -f $CURRDIR/$ACE_X64_RELEASE_SO/lib/*.* $CURRDIR/$ACE_X64_RELEASE_SO/
rm -rf $CURRDIR/$ACE_X64_RELEASE_SO/pkgconfig
rm -rf $CURRDIR/$ACE_X64_RELEASE_SO/lib
# 64 release lib ACE_X64_RELEASE_LIB
rm -rf $ACE_ROOT
cd $CURRDIR
tar zxvf $ACE_SOURCE
echo "#define ACE_HAS_IPV6" > $ACE_ROOT/ace/config.h
echo "#define ACE_HAS_EVENT_POLL" >> $ACE_ROOT/ace/config.h
echo '#include "ace/config-linux.h"' >> $ACE_ROOT/ace/config.h
echo "include $ACE_ROOT/include/makeinclude/platform_linux.GNU" > $ACE_ROOT/include/makeinclude/platform_macros.GNU
echo "INSTALL_PREFIX=$CURRDIR/$ACE_X64_RELEASE_LIB" >> $ACE_ROOT/include/makeinclude/platform_macros.GNU
rm -rf $CURRDIR/$ACE_X64_RELEASE_LIB
rm $ACE_ROOT/lib/*
cd $ACE_ROOT
make buildbits=64 static_libs_only=1 debug=0
make install
rm -rf $CURRDIR/$ACE_X64_RELEASE_LIB/include
rm -rf $CURRDIR/$ACE_X64_RELEASE_LIB/bin
rm -rf $CURRDIR/$ACE_X64_RELEASE_LIB/share
mv -f $CURRDIR/$ACE_X64_RELEASE_LIB/lib/*.* $CURRDIR/$ACE_X64_RELEASE_LIB/
rm -rf $CURRDIR/$ACE_X64_RELEASE_LIB/pkgconfig
rm -rf $CURRDIR/$ACE_X64_RELEASE_LIB/lib
cd $CURRDIR
echo "ACE compile complete!!"