From: Matthew B. <bri...@sp...> - 2001-05-24 13:47:26
|
That modification looks correct. I think the "right thing" to do is to add something into core/platform.h and then conditionally compile it for PPC. For example (might not be quite right; I don't have the code in front of me): //platform.h #define VA_START_TAKES_ONE_ARG IS_PPC //usernotify.cpp void iUserNotify::NotifyNormal( const TCHAR* format, ... ) { va_list args; #if VA_START_TAKES_ONE_ARG va_start(args); #else va_start(args, format); #endif HandleNotify( V_NORMAL, format, args ); va_end(args); } --matt -----Original Message----- From: tri...@li... [mailto:tri...@li...]On Behalf Of Clinton Hogge Sent: Friday, May 18, 2001 1:27 PM To: tri...@li... Cc: it...@us... Subject: [Tripwire-dev] Tripwire 2.3.1-2 LinuxPPC Install Hello, I'm trying to build OST 2.3.1-2 on Linux 2.4.3 running on the power pc (gcc 2.95.3). I was able to compile and install it with 3 patches (below). Everything seems to be running fine, but I thought I'd pass this along to make sure I won't run into any gotchas. The first patch seems obvious to me since LinuxPPC is a big endian system. The second 2 patches, I'm not so sure. They allow Tripwire to compile OK, but I'm not sure if I've broken any functionality of the build. Could anyone verify this? Thanks for the help. Regards, Clinton Hogge Industrial Images First, the patches ------------------ --- tripwire-2.3.1-2/src/cryptlib/i686-pc-linux.mak Fri Oct 27 17:26:21 2000 +++ tripwire-2.3.1-2-lppc/src/cryptlib/i686-pc-linux.mak Thu Mar 8 18:56:41 2001 @@ -31,7 +31,8 @@ # ---------------------------- # --- Platform definitions --- # ---------------------------- -LINUX_X86 = -D_UNIX -D_LINUX -D_LITTLE_ENDIAN -D_GCC +#LINUX_X86 = -D_UNIX -D_LINUX -D_LITTLE_ENDIAN -D_GCC +LINUX_X86 = -D_UNIX -D_LINUX -D_GCC # Set platform to one of the above definitions PLATFORM = $(LINUX_X86) --- tripwire-2.3.1-2/src/core/usernotify.cpp Sat Feb 24 12:02:12 2001 +++ tripwire-2.3.1-2-lppc/src/core/usernotify.cpp Thu Mar 8 19:28:29 2001 @@ -65,13 +65,15 @@ return mVerboseLevel; } + //////////////////////////////////////////////////////////////////////////// /// // NotifySilent //////////////////////////////////////////////////////////////////////////// /// void iUserNotify::NotifySilent( const TCHAR* format, ... ) { va_list args; - va_start(args, format); +// va_start(args, format); + va_start(args); HandleNotify( V_SILENT, format, args ); va_end(args); } @@ -82,7 +84,8 @@ void iUserNotify::NotifyNormal( const TCHAR* format, ... ) { va_list args; - va_start(args, format); +// va_start(args, format); + va_start(args); HandleNotify( V_NORMAL, format, args ); va_end(args); } @@ -93,7 +96,8 @@ void iUserNotify::NotifyVerbose( const TCHAR* format, ... ) { va_list args; - va_start(args, format); +// va_start(args, format); + va_start(args); HandleNotify( V_VERBOSE, format, args ); va_end(args); } @@ -104,7 +108,8 @@ void iUserNotify::Notify(int verboseLevel, const TCHAR* format, ...) { va_list args; - va_start(args, format); +// va_start(args, format); + va_start(args); HandleNotify( verboseLevel, format, args ); va_end(args); } --- tripwire-2.3.1-2/src/twparser/yylex.cpp Sat Feb 24 12:02:12 2001 +++ tripwire-2.3.1-2-lppc/src/twparser/yylex.cpp Thu Mar 8 19:45:33 2001 @@ -624,7 +624,8 @@ { va_list va; - va_start(va, fmt); +// va_start(va, fmt); + va_start(va); #ifdef LEX_WINDOWS // Windows has no concept of a standard error output! // send output to yyout as a simple solution Without the last 2 patches, the compile fails with... Neither patch applied: ---------------------- gmake[2]: Entering directory `/var/development/tripwire-2.3.1-2/src/core' ../make_include/common_rules.mak:50: core.i686-pc-linux.dep: No such file or directory g++ -M -w -I.. -I../STLport-4.0/stlport -DNDEBUG -D_REDHAT -D_IX86 -D_GCC charutil_t.cpp displayencoder_t.cpp archive.cpp charutil.cpp cmdlineparser.cpp codeconvert.cpp core.cpp coreerrors.cpp corestrings.cpp crc32.cpp debug.cpp displayencoder.cpp displayutil.cpp error.cpp errorbucketimpl.cpp errortable.cpp errorutil.cpp fileerror.cpp fileheader.cpp fsservices.cpp growheap.cpp hashtable.cpp haval.cpp md5.cpp msystem.cpp ntmbs.cpp objectpool.cpp refcountobj.cpp serializable.cpp serializer.cpp serializerimpl.cpp serializerutil.cpp serstring.cpp sha.cpp srefcountobj.cpp srefcounttbl.cpp stdcore.cpp stringutil.cpp timebomb.cpp timeconvert.cpp tw_signal.cpp twlimits.cpp twlocale.cpp unixexcept.cpp usernotify.cpp usernotifystdout.cpp utf8.cpp wchar16.cpp unix/file_unix.cpp unix/unixfsservices.cpp > core.i686-pc-linux.dep usernotify.cpp:74: macro `va_start' used with too many (2) args usernotify.cpp:85: macro `va_start' used with too many (2) args usernotify.cpp:96: macro `va_start' used with too many (2) args usernotify.cpp:107: macro `va_start' used with too many (2) args gmake[2]: *** [core.i686-pc-linux.dep] Error 1 gmake[1]: *** [core_r] Error 2 gmake[2]: Leaving directory `/var/development/tripwire-2.3.1-2/src/core' gmake[1]: Leaving directory `/var/development/tripwire-2.3.1-2/src' date >> release.i686-pc-linux.out First patch applied, not the second one: ---------------------------------------- gmake[2]: Entering directory `/var/development/tripwire-2.3.1-2/src/twparser' ../make_include/common_rules.mak:50: twparser.i686-pc-linux.dep: No such file or directory g++ -M -w -I.. -I../STLport-4.0/stlport -DNDEBUG -D_REDHAT -D_IX86 -D_GCC genreparseinfo.cpp parserhelper.cpp parserobjects.cpp policyparser.cpp stdtwparser.cpp twparser.cpp twparsererrors.cpp twparserstrings.cpp yylex.cpp yyparse.cpp > twparser.i686-pc-linux.dep ..\\..\\mkslexyacc\\etc\\yylex.cpp:242: macro `va_start' used with too many (2) args gmake[2]: *** [twparser.i686-pc-linux.dep] Error 1 gmake[1]: *** [twparser_r] Error 2 gmake[2]: Leaving directory `/var/development/tripwire-2.3.1-2/src/twparser' gmake[1]: Leaving directory `/var/development/tripwire-2.3.1-2/src' date >> release.i686-pc-linux.out _______________________________________________ Tripwire-dev mailing list Tri...@li... http://lists.sourceforge.net/lists/listinfo/tripwire-dev |