Jump to content

ACE Netcode 5.7.5 rev.88569


Guest NetSky

Recommended Posts

build tested for gentoo and debian

win build tested

http://filebeam.com/3304a20059b386632bee7fa956a72d04

Edit:

http://filebeam.com/6f5e8b54699cad89008fc98e799ffbe7

possible crashes at connection lost/drop fixed.

tested for *nix - *nix Users need to delete dep/ACE_wrappers/ace/config.h!!!!!

win project files also updated except vc10 - build not tested

Link to comment
Share on other sites

Patch not working:

1. Missing some files from ACE distribution

2. Messed up Makefile.am

3. Why are everywhere removed version ids from all ace files?

4. Not compile on FreeBSD because of missing hack added by Derex

I am now trying to fix it up :)

Link to comment
Share on other sites

hmm well but there are some minor stability problems with this release :-/ i would not recommend using this patch at current micro release. svn contains many bugfixes concerning especially linux 64bit support

https://svn.dre.vanderbilt.edu/viewvc/Middleware/trunk/ACE/ChangeLog?view=log

my suggestion : wait till 5.7.6 micro release for master branch update

if you need help with fixing win build -> pm

Link to comment
Share on other sites

Copied from Offical InstallFile:

Building and Installing ACE on Windows with Microsoft Visual Studio

ACE contains project files for Microsoft Visual Studio .NET 2003 (VC7.1) and Visual Studio 2005 (VC8). Visual Studio 2005 supports building for desktop/server Windows as well as for Windows CE and Windows Mobile. Since not all users will be interested in the CE/Mobile capability, these platforms have separate solution and project files from the desktop/server Windows. Furthermore, VC7.1 and VC8 use different file formats but the same file suffixes (.sln and .vcproj). To support both environments, ACE supplies files with different names for the different development and target platforms. The platform/name mapping is shown below. All solution files have a .sln suffix and all project files have a .vcproj suffix.

Visual Studio 2008 (VC9) is also supported.

The free Visual C++ 2008 Express Edition will work in place of the traditional Visual Studio editions. All the other notes in this document that are for VC8 / VC9 also apply to the express edition. MFC, 64-bit, and CE/mobile options are not available with the express edition. 64-bit binaries can be built with the compiler and linker included in the Windows SDK, using nmake as the build system (generate nmake makefiles with mwc.pl -type nmake).

Mapping of Platform to Solution/Project File Name Platform File Name

VC7.1 name_vc71

VC8 for desktop/server name_vc8

VC8 for Windows CE/Mobile name_WinCE

VC9 for desktop/server name_vc9

The VC++ compiler and linker can now be invoked from GNU make just like most UNIX builds. Follow the instructions in the ACE/GNU Configuration sections and see the additional information in the comments of platform_win32_msvc.GNU.

If you happen to open a VC7.1 file from within VC8, it will offer to convert the file to the newer format for you. With the stock VC8, do not do this; Visual Studio will crash while attempting to convert the large solution and project files to build ACE. Simply refuse the conversion and open the file with the correct format. Note that Microsoft has fixed this problem. See https://msdn.microsoft.com/visualc/downloads/default.aspx for information.

1. Uncompress the ACE distribution into a directory, where it will create a ACE_wrappers directory containing the distribution. The ACE_wrappers directory will be referred to as ACE_ROOT in the following steps -- so ACE_ROOT\\ace would be C:\\ACE_wrappers\\ace if you uncompressed into the root directory.

2. Create a file called config.h in the ACE_ROOT\\ace directory that contains:

#include "ace/config-win32.h"

3. The static, DLL and MFC library builds are kept in different workspaces. Files with names *_Static contain project files for static builds. Workspaces for static and DLL builds will be available through the stock release at DOC group's website. The workspaces for MFC are not available and have to be generated using MPC. Please see MPC's README for details.

4. Now load the solution file for ACE (ACE_ROOT/ACE.sln).

5. Make sure you are building the configuration (i.e, Debug/Release) the one you'll use (for example, the debug tests need the debug version of ACE, and so on). All these different configurations are provided for your convenience. You can either adopt the scheme to build your applications with different configurations, or use ace/config.h to tweak with the default settings on NT.

Note: If you use the dynamic libraries, make sure you include ACE_ROOT\\lib in your PATH whenever you run programs that uses ACE. Otherwise you may experience problems finding ace.dll or aced.dll.

6. To use ACE with MFC libraries, also add the following to your config.h file. Notice that if you want to spawn a new thread with CWinThread, make sure you spawn the thread with THR_USE_AFX flag set.

#define ACE_HAS_MFC 1

By default, all of the ACE projects use the DLL versions of the MSVC run-time libraries. You can still choose use the static (LIB) versions of ACE libraries regardless of run-time libraries. The reason we chose to link only the dynamic run-time library is that almost every NT box has these library installed and to save disk space. If you prefer to link MFC as a static library into ACE, you can do this by defining ACE_USES_STATIC_MFC in your config.h file. However, if you would like to link everything (including the MSVC run-time libraries) statically, you'll need to modify the project files in ACE yourself.

7. Static version of ACE libraries are built with ACE_AS_STATIC_LIBS

defined. This macro should also be used in application projects that link to static ACE libraries

Optionally you can also add the line

#define ACE_NO_INLINE

before the #include statement in ACE_ROOT\\ace\\config.h to disable inline function and reduce the size of static libraries (and your executables.)

8. ACE DLL and LIB naming scheme:

We use the following rules to name the DLL and LIB files in ACE when using MSVC.

"Library/DLL name" + (Is static library ? "s" : "") + (Is Debugging enable ? "d" : "") + {".dll"|".lib"}

More information for ACE/TAO on MSVC can be found here. The doxygen version of this document is available under Related Topics in the ACE Library.

Link to comment
Share on other sites

Of course I know about Micro Release 5.7.6 . To be honest this is an easy task :) - but I was busy with presentations ... anyways here is ACE 5.7.6 fixed for WIN/*NIX - have fun! In addition I removed Error Output for OpenSSL because this is worthless without correct m4_pattern_allow declaration.

http://filebeam.com/3304a20059b386632bee7fa956a72d04

don't wonder about the size of the patch - there are generated configure, etc. within. Just compile as usual.

Important Notice for linux users : you need to delete dep/ACE_Wrappers/ace/config.h and regenerate it by autoreconf --install --force

Wintendo users don't have to do anything this time

Edit: Strange it seems as someone deleted the file *laughing* i will reupload it

Link to comment
Share on other sites

checking for _InterlockedIncrement... no
checking for _InterlockedDecrement... no
checking for _InterlockedExchangeAdd... no
checking for access... yes
checking for alphasort... yes
checking for asctime... yes
checking for asctime_r... yes
checking for alarm... yes
checking for bsearch... yes
../../../dep/ACE_wrappers/configure: line 35635: syntax error near unexpected token `fi'
../../../dep/ACE_wrappers/configure: line 35635: `fi'
configure: error: ../../../dep/ACE_wrappers/configure failed for dep/ACE_wrappers

while config mangos.

From configure file:

#ifndef _REENTRANT
# define _REENTRANT
#endif
#ifndef ACE_LACKS_PWD_H
# include <pwd.h>
#endif
#ifndef ACE_LACKS_SYS_TYPES_H
# include <sys/types.h>
#endif

int
main ()
{

 const char * name;
 struct passwd * pwent;
 char * buffer;
 int buflen;
 struct passwd * result;

 int status = getpwnam_r (name, pwent, buffer, buflen, &result);

 ;
 return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"; then :

                 if test "$ace_user_enable_reentrant_funcs" = yes; then
                   $as_echo "#define ACE_HAS_POSIX_GETPWNAM_R 1" >>confdefs.h

                 fi

else


fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext

else
 $as_echo "#define ACE_LACKS_PWD_REENTRANT_FUNCTIONS 1" >>confdefs.h

fi


 ac_fn_cxx_check_func "$LINENO" "ctime_r" "ac_cv_func_ctime_r"
if test "x$ac_cv_func_ctime_r" = x""yes; then :

fi


 ac_fn_cxx_check_func "$LINENO" "localtime_r" "ac_cv_func_localtime_r"
if test "x$ac_cv_func_localtime_r" = x""yes; then :

fi


 ac_fn_cxx_check_func "$LINENO" "gmtime_r" "ac_cv_func_gmtime_r"
if test "x$ac_cv_func_gmtime_r" = x""yes; then :

fi


 ac_fn_cxx_check_func "$LINENO" "asctime_r" "ac_cv_func_asctime_r"
if test "x$ac_cv_func_asctime_r" = x""yes; then :

fi


 ac_fn_cxx_check_func "$LINENO" "getprotobyname_r" "ac_cv_func_getprotobyname_r"
if test "x$ac_cv_func_getprotobyname_r" = x""yes; then :

fi


 ac_fn_cxx_check_func "$LINENO" "getprotobynumber_r" "ac_cv_func_getprotobynumber_r"
if test "x$ac_cv_func_getprotobynumber_r" = x""yes; then :

fi


 ac_fn_cxx_check_func "$LINENO" "gethostbyaddr_r" "ac_cv_func_gethostbyaddr_r"
if test "x$ac_cv_func_gethostbyaddr_r" = x""yes; then :

fi


 ac_fn_cxx_check_func "$LINENO" "gethostbyname_r" "ac_cv_func_gethostbyname_r"
if test "x$ac_cv_func_gethostbyname_r" = x""yes; then :

fi

This line

fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext

Link to comment
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use