I'll need help from a Linux dev to resolve below reported bug.
I'm assuming that the first three reported compiler warnings can be safely
ignored.
For the following bunch of compile errors I cannot identify any ooRexx
issue. We simply include <math.h>, for which gcc does an "include cmath"
and this generates the reported errors for each math function declaration.
According to https://gcc.gnu.org/gcc-6/porting_to.html there have been
changes as to how math.h works - this may or may not be related:
"The C++ library now provides its own <math.h> header that wraps the C
library header of the same name. The C++ header defines additional
overloads of some functions and ensures that all standard functions are
defined as real functions and not as macros. Code which assumes that sin,
cos, pow, isfinite etc. are macros may no longer compile."
---------- Forwarded message ----------
From: Maarten Hoes <[email protected]>
Date: Wed, Jun 15, 2016 at 1:27 PM
Subject: [oorexx:bugs] Re: #1380 4.2.0 build failure on Fedora 24 / GCC
6.1.1
To: "[oorexx:bugs]" <[email protected]>
Hi,
My svn skills arent that great, but would this be the proper commandline to
checkout the latest svn 4.2.0 branch ?
$ svn checkout svn://svn.code.sf.net/p/oorexx/code-0/main/branches/4.2/trunk
oorexx-code-0
If the above is correct, then I now get the following :
libtool: compile: g++ -DHAVE_CONFIG_H -I. -DORX_VER=4 -DORX_REL=2
-DORX_MOD=0 -DORX_FIX=0 -DOOREXX_COPY_YEAR=\"2005-2013\"
-DORX_SYS_STR=\"LINUX\" -DORX_CATDIR=\"/usr/bin\"
-DORX_SHARED_LIBRARY_EXT=\".so\" -I./lib -I./api -I./api/platform/unix
-I./common -I./common/platform/unix -I./interpreter
-I./interpreter/behaviour -I./interpreter/execution -I./interpreter/memory
-I./interpreter/package -I./interpreter/concurrency
-I./interpreter/expression -I./interpreter/instructions
-I./interpreter/classes -I./interpreter/classes/support
-I./interpreter/runtime -I./interpreter/parser -I./interpreter/messages
-I./interpreter/streamLibrary -I./interpreter/platform/common
-I./interpreter/platform/unix -g -O2 -g -O2 -Wall -funsigned-char
-Wpointer-arith -Wcast-qual -Wcast-align -Wshadow -Wwrite-strings
-D__cplusplus -Wredundant-decls -DNOOPT -DPTHREAD_KERNEL -D_POSIX_THREAD
-D_REENTRANT -D_GNU_SOURCE -DLINUX -DOPSYS_LINUX -MT
librexx_la-RexxLocalVariables.lo -MD -MP -MF
.deps/librexx_la-RexxLocalVariables.Tpo -c
./interpreter/execution/RexxLocalVariables.cpp -fPIC -DPIC -o
.libs/librexx_la-RexxLocalVariables.o
<command-line>:0:0: warning: "__cplusplus" redefined
<built-in>: note: this is the location of the previous definition
libtool: compile: g++ -DHAVE_CONFIG_H -I. -DORX_VER=4 -DORX_REL=2
-DORX_MOD=0 -DORX_FIX=0 -DOOREXX_COPY_YEAR=\"2005-2013\"
-DORX_SYS_STR=\"LINUX\" -DORX_CATDIR=\"/usr/bin\"
-DORX_SHARED_LIBRARY_EXT=\".so\" -I./lib -I./api -I./api/platform/unix
-I./common -I./common/platform/unix -I./interpreter
-I./interpreter/behaviour -I./interpreter/execution -I./interpreter/memory
-I./interpreter/package -I./interpreter/concurrency
-I./interpreter/expression -I./interpreter/instructions
-I./interpreter/classes -I./interpreter/classes/support
-I./interpreter/runtime -I./interpreter/parser -I./interpreter/messages
-I./interpreter/streamLibrary -I./interpreter/platform/common
-I./interpreter/platform/unix -g -O2 -g -O2 -Wall -funsigned-char
-Wpointer-arith -Wcast-qual -Wcast-align -Wshadow -Wwrite-strings
-D__cplusplus -Wredundant-decls -DNOOPT -DPTHREAD_KERNEL -D_POSIX_THREAD
-D_REENTRANT -D_GNU_SOURCE -DLINUX -DOPSYS_LINUX -MT
librexx_la-RexxLocalVariables.lo -MD -MP -MF
.deps/librexx_la-RexxLocalVariables.Tpo -c
./interpreter/execution/RexxLocalVariables.cpp -o
librexx_la-RexxLocalVariables.o >/dev/null 2>&1
mv -f .deps/librexx_la-RexxLocalVariables.Tpo
.deps/librexx_la-RexxLocalVariables.Plo
/bin/sh ./libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I.
-DORX_VER=4 -DORX_REL=2 -DORX_MOD=0 -DORX_FIX=0
-DOOREXX_COPY_YEAR=\""2005-2013"\" -DORX_SYS_STR=\"LINUX\"
-DORX_CATDIR=\"/usr/bin\" -DORX_SHARED_LIBRARY_EXT=\".so\" -I./lib -I./api
-I./api/platform/unix -I./common -I./common/platform/unix -I./interpreter
-I./interpreter/behaviour -I./interpreter/execution -I./interpreter/memory
-I./interpreter/package -I./interpreter/concurrency
-I./interpreter/expression -I./interpreter/instructions
-I./interpreter/classes -I./interpreter/classes/support
-I./interpreter/runtime -I./interpreter/parser -I./interpreter/messages
-I./interpreter/streamLibrary -I./interpreter/platform/common
-I./interpreter/platform/unix -g -O2 -g -O2 -Wall
-funsigned-char -Wpointer-arith -Wcast-qual
-Wcast-align -Wshadow -Wwrite-strings
-D__cplusplus -Wredundant-decls
-DNOOPT -DPTHREAD_KERNEL -D_POSIX_THREAD -D_REENTRANT
-D_GNU_SOURCE -DLINUX
-DOPSYS_LINUX -MT librexx_la-RexxNativeActivation.lo -MD -MP -MF
.deps/librexx_la-RexxNativeActivation.Tpo -c -o
librexx_la-RexxNativeActivation.lo `test -f
'./interpreter/execution/RexxNativeActivation.cpp' || echo
'./'`./interpreter/execution/RexxNativeActivation.cpp
libtool: compile: g++ -DHAVE_CONFIG_H -I. -DORX_VER=4 -DORX_REL=2
-DORX_MOD=0 -DORX_FIX=0 -DOOREXX_COPY_YEAR=\"2005-2013\"
-DORX_SYS_STR=\"LINUX\" -DORX_CATDIR=\"/usr/bin\"
-DORX_SHARED_LIBRARY_EXT=\".so\" -I./lib -I./api -I./api/platform/unix
-I./common -I./common/platform/unix -I./interpreter
-I./interpreter/behaviour -I./interpreter/execution -I./interpreter/memory
-I./interpreter/package -I./interpreter/concurrency
-I./interpreter/expression -I./interpreter/instructions
-I./interpreter/classes -I./interpreter/classes/support
-I./interpreter/runtime -I./interpreter/parser -I./interpreter/messages
-I./interpreter/streamLibrary -I./interpreter/platform/common
-I./interpreter/platform/unix -g -O2 -g -O2 -Wall -funsigned-char
-Wpointer-arith -Wcast-qual -Wcast-align -Wshadow -Wwrite-strings
-D__cplusplus -Wredundant-decls -DNOOPT -DPTHREAD_KERNEL -D_POSIX_THREAD
-D_REENTRANT -D_GNU_SOURCE -DLINUX -DOPSYS_LINUX -MT
librexx_la-RexxNativeActivation.lo -MD -MP -MF
.deps/librexx_la-RexxNativeActivation.Tpo -c
./interpreter/execution/RexxNativeActivation.cpp -fPIC -DPIC -o
.libs/librexx_la-RexxNativeActivation.o
<command-line>:0:0: warning: "__cplusplus" redefined
<built-in>: note: this is the location of the previous definition
In file included from ./interpreter/execution/RexxNativeActivation.cpp:66:0:
./interpreter/concurrency/ActivationFrame.hpp: In constructor
‘InternalActivationFrame::InternalActivationFrame(RexxActivity*,
RexxString*, RexxObject*, RexxMethod*, RexxObject**, size_t)’:
./interpreter/concurrency/ActivationFrame.hpp:124:17: warning:
‘InternalActivationFrame::target’ will be initialized after [-Wreorder]
RexxObject *target; // method target
^~~~~~
./interpreter/concurrency/ActivationFrame.hpp:123:17: warning:
‘RexxMethod* InternalActivationFrame::frameMethod’ [-Wreorder]
RexxMethod *frameMethod; // the backing method object
^~~~~~~~~~~
./interpreter/concurrency/ActivationFrame.hpp:113:12: warning: when
initialized here [-Wreorder]
inline InternalActivationFrame(RexxActivity *a, RexxString *n,
RexxObject *t, RexxMethod *m, RexxObject **args, size_t c)
^~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/6.1.1/math.h:36:0,
from ./interpreter/execution/RexxNativeActivation.cpp:70:
/usr/include/c++/6.1.1/cmath: In function ‘typename
__gnu_cxx::__promote_2<_Tp, _Up>::__type std::atan2(_Tp, _Up)’:
/usr/include/c++/6.1.1/cmath:181:19: error: ‘ARGUMENT_TYPE___y’ was not
declared in this scope
return atan2(__type(__y), __type(__x));
^~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/6.1.1/math.h:36:0,
from ./interpreter/execution/RexxNativeActivation.cpp:70:
/usr/include/c++/6.1.1/cmath:181:32: error: ‘ARGUMENT_TYPE___x’ was not
declared in this scope
return atan2(__type(__y), __type(__x));
^~~~~~~~~~~~~~
In file included from /usr/include/c++/6.1.1/math.h:36:0,
from ./interpreter/execution/RexxNativeActivation.cpp:70:
/usr/include/c++/6.1.1/cmath: In function ‘typename
__gnu_cxx::__promote_2<_Tp, _Up>::__type std::fmod(_Tp, _Up)’:
/usr/include/c++/6.1.1/cmath:316:18: error: ‘ARGUMENT_TYPE___x’ was not
declared in this scope
return fmod(__type(__x), __type(__y));
^~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/6.1.1/math.h:36:0,
from ./interpreter/execution/RexxNativeActivation.cpp:70:
/usr/include/c++/6.1.1/cmath:316:31: error: ‘ARGUMENT_TYPE___y’ was not
declared in this scope
return fmod(__type(__x), __type(__y));
^~~~~~~~~~~~~~
In file included from /usr/include/c++/6.1.1/math.h:36:0,
from ./interpreter/execution/RexxNativeActivation.cpp:70:
/usr/include/c++/6.1.1/cmath: In function ‘typename
__gnu_cxx::__promote_2<_Tp, _Up>::__type std::pow(_Tp, _Up)’:
/usr/include/c++/6.1.1/cmath:441:17: error: ‘ARGUMENT_TYPE___x’ was not
declared in this scope
return pow(__type(__x), __type(__y));
^~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/6.1.1/math.h:36:0,
from ./interpreter/execution/RexxNativeActivation.cpp:70:
/usr/include/c++/6.1.1/cmath:441:30: error: ‘ARGUMENT_TYPE___y’ was not
declared in this scope
return pow(__type(__x), __type(__y));
^~~~~~~~~~~~~~
In file included from /usr/include/c++/6.1.1/math.h:36:0,
from ./interpreter/execution/RexxNativeActivation.cpp:70:
/usr/include/c++/6.1.1/cmath: In function ‘typename
__gnu_cxx::__enable_if<std::__is_arithmetic<_Tp>::__value, int>::__type
std::fpclassify(_Tp)’:
/usr/include/c++/6.1.1/cmath:852:29: error: ‘ARGUMENT_TYPE___f’ was not
declared in this scope
FP_SUBNORMAL, FP_ZERO, __type(__f));
^~~~~~~~~~~~~~
In file included from /usr/include/c++/6.1.1/math.h:36:0,
from ./interpreter/execution/RexxNativeActivation.cpp:70:
/usr/include/c++/6.1.1/cmath: In function ‘typename
__gnu_cxx::__enable_if<std::__is_arithmetic<_Tp>::__value, int>::__type
std::isfinite(_Tp)’:
/usr/include/c++/6.1.1/cmath:861:32: error: ‘ARGUMENT_TYPE___f’ was not
declared in this scope
return __builtin_isfinite(__type(__f));
^~~~~~~~~~~~~~
In file included from /usr/include/c++/6.1.1/math.h:36:0,
from ./interpreter/execution/RexxNativeActivation.cpp:70:
/usr/include/c++/6.1.1/cmath: In function ‘typename
__gnu_cxx::__enable_if<std::__is_arithmetic<_Tp>::__value, int>::__type
std::isinf(_Tp)’:
/usr/include/c++/6.1.1/cmath:870:29: error: ‘ARGUMENT_TYPE___f’ was not
declared in this scope
return __builtin_isinf(__type(__f));
^~~~~~~~~~~~~~
In file included from /usr/include/c++/6.1.1/math.h:36:0,
from ./interpreter/execution/RexxNativeActivation.cpp:70:
/usr/include/c++/6.1.1/cmath: In function ‘typename
__gnu_cxx::__enable_if<std::__is_arithmetic<_Tp>::__value, int>::__type
std::isnan(_Tp)’:
/usr/include/c++/6.1.1/cmath:879:29: error: ‘ARGUMENT_TYPE___f’ was not
declared in this scope
return __builtin_isnan(__type(__f));
^~~~~~~~~~~~~~
In file included from /usr/include/c++/6.1.1/math.h:36:0,
from ./interpreter/execution/RexxNativeActivation.cpp:70:
/usr/include/c++/6.1.1/cmath: In function ‘typename
__gnu_cxx::__enable_if<std::__is_arithmetic<_Tp>::__value, int>::__type
std::isnormal(_Tp)’:
/usr/include/c++/6.1.1/cmath:888:32: error: ‘ARGUMENT_TYPE___f’ was not
declared in this scope
return __builtin_isnormal(__type(__f));
^~~~~~~~~~~~~~
In file included from /usr/include/c++/6.1.1/math.h:36:0,
from ./interpreter/execution/RexxNativeActivation.cpp:70:
/usr/include/c++/6.1.1/cmath: In function ‘typename
__gnu_cxx::__enable_if<std::__is_arithmetic<_Tp>::__value, int>::__type
std::signbit(_Tp)’:
/usr/include/c++/6.1.1/cmath:897:31: error: ‘ARGUMENT_TYPE___f’ was not
declared in this scope
return __builtin_signbit(__type(__f));
^~~~~~~~~~~~~~
In file included from /usr/include/c++/6.1.1/math.h:36:0,
from ./interpreter/execution/RexxNativeActivation.cpp:70:
/usr/include/c++/6.1.1/cmath: In function ‘typename
__gnu_cxx::__enable_if<std::__is_arithmetic<_Tp>::__value, int>::__type
std::isgreater(_Tp, _Tp)’:
/usr/include/c++/6.1.1/cmath:906:33: error: ‘ARGUMENT_TYPE___f1’ was not
declared in this scope
return __builtin_isgreater(__type(__f1), __type(__f2));
^~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/6.1.1/math.h:36:0,
from ./interpreter/execution/RexxNativeActivation.cpp:70:
/usr/include/c++/6.1.1/cmath:906:47: error: ‘ARGUMENT_TYPE___f2’ was not
declared in this scope
return __builtin_isgreater(__type(__f1), __type(__f2));
^~~~~~~~~~~~~~~
In file included from /usr/include/c++/6.1.1/math.h:36:0,
from ./interpreter/execution/RexxNativeActivation.cpp:70:
/usr/include/c++/6.1.1/cmath: In function ‘typename
__gnu_cxx::__enable_if<std::__is_arithmetic<_Tp>::__value, int>::__type
std::isgreaterequal(_Tp, _Tp)’:
/usr/include/c++/6.1.1/cmath:915:38: error: ‘ARGUMENT_TYPE___f1’ was not
declared in this scope
return __builtin_isgreaterequal(__type(__f1), __type(__f2));
^~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/6.1.1/math.h:36:0,
from ./interpreter/execution/RexxNativeActivation.cpp:70:
/usr/include/c++/6.1.1/cmath:915:52: error: ‘ARGUMENT_TYPE___f2’ was not
declared in this scope
return __builtin_isgreaterequal(__type(__f1), __type(__f2));
^~~~~~~~~~~~~~~
In file included from /usr/include/c++/6.1.1/math.h:36:0,
from ./interpreter/execution/RexxNativeActivation.cpp:70:
/usr/include/c++/6.1.1/cmath: In function ‘typename
__gnu_cxx::__enable_if<std::__is_arithmetic<_Tp>::__value, int>::__type
std::isless(_Tp, _Tp)’:
/usr/include/c++/6.1.1/cmath:924:30: error: ‘ARGUMENT_TYPE___f1’ was not
declared in this scope
return __builtin_isless(__type(__f1), __type(__f2));
^~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/6.1.1/math.h:36:0,
from ./interpreter/execution/RexxNativeActivation.cpp:70:
/usr/include/c++/6.1.1/cmath:924:44: error: ‘ARGUMENT_TYPE___f2’ was not
declared in this scope
return __builtin_isless(__type(__f1), __type(__f2));
^~~~~~~~~~~~~~~
In file included from /usr/include/c++/6.1.1/math.h:36:0,
from ./interpreter/execution/RexxNativeActivation.cpp:70:
/usr/include/c++/6.1.1/cmath: In function ‘typename
__gnu_cxx::__enable_if<std::__is_arithmetic<_Tp>::__value, int>::__type
std::islessequal(_Tp, _Tp)’:
/usr/include/c++/6.1.1/cmath:933:35: error: ‘ARGUMENT_TYPE___f1’ was not
declared in this scope
return __builtin_islessequal(__type(__f1), __type(__f2));
^~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/6.1.1/math.h:36:0,
from ./interpreter/execution/RexxNativeActivation.cpp:70:
/usr/include/c++/6.1.1/cmath:933:49: error: ‘ARGUMENT_TYPE___f2’ was not
declared in this scope
return __builtin_islessequal(__type(__f1), __type(__f2));
^~~~~~~~~~~~~~~
In file included from /usr/include/c++/6.1.1/math.h:36:0,
from ./interpreter/execution/RexxNativeActivation.cpp:70:
/usr/include/c++/6.1.1/cmath: In function ‘typename
__gnu_cxx::__enable_if<std::__is_arithmetic<_Tp>::__value, int>::__type
std::islessgreater(_Tp, _Tp)’:
/usr/include/c++/6.1.1/cmath:942:37: error: ‘ARGUMENT_TYPE___f1’ was not
declared in this scope
return __builtin_islessgreater(__type(__f1), __type(__f2));
^~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/6.1.1/math.h:36:0,
from ./interpreter/execution/RexxNativeActivation.cpp:70:
/usr/include/c++/6.1.1/cmath:942:51: error: ‘ARGUMENT_TYPE___f2’ was not
declared in this scope
return __builtin_islessgreater(__type(__f1), __type(__f2));
^~~~~~~~~~~~~~~
In file included from /usr/include/c++/6.1.1/math.h:36:0,
from ./interpreter/execution/RexxNativeActivation.cpp:70:
/usr/include/c++/6.1.1/cmath: In function ‘typename
__gnu_cxx::__enable_if<std::__is_arithmetic<_Tp>::__value, int>::__type
std::isunordered(_Tp, _Tp)’:
/usr/include/c++/6.1.1/cmath:951:35: error: ‘ARGUMENT_TYPE___f1’ was not
declared in this scope
return __builtin_isunordered(__type(__f1), __type(__f2));
^~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/6.1.1/math.h:36:0,
from ./interpreter/execution/RexxNativeActivation.cpp:70:
/usr/include/c++/6.1.1/cmath:951:49: error: ‘ARGUMENT_TYPE___f2’ was not
declared in this scope
return __builtin_isunordered(__type(__f1), __type(__f2));
^~~~~~~~~~~~~~~
Makefile:2639: recipe for target 'librexx_la-RexxNativeActivation.lo' failed
make: *** [librexx_la-RexxNativeActivation.lo] Error 1
---
** [bugs:#1380] 4.2.0 build failure on Fedora 24 / GCC 6.1.1**
**Status:** accepted
**Group:** v4.2.0
**Created:** Sat Jun 11, 2016 03:17 PM UTC by Maarten Hoes
**Last Updated:** Wed Jun 15, 2016 08:41 AM UTC
**Owner:** Erich
Hi,
Im getting the following error compiling 4.2.0 during 'make -j1' on Fedora
24 (Beta) (with gcc 6.1.1):
libtool: compile: g++ -DHAVE_CONFIG_H -I. -DORX_VER=4 -DORX_REL=2
-DORX_MOD=0 -DORX_FIX=0 -DOOREXX_COPY_YEAR=\"2005-2013\"
-DORX_SYS_STR=\"LINUX\" -DORX_CATDIR=\"/usr/bin\"
-DORX_SHARED_LIBRARY_EXT=\".so\" -I./lib -I./api -I./api/platform/unix
-I./common -I./common/platform/unix -I./interpreter
-I./interpreter/behaviour -I./interpreter/execution -I./interpreter/memory
-I./interpreter/package -I./interpreter/concurrency
-I./interpreter/expression -I./interpreter/instructions
-I./interpreter/classes -I./interpreter/classes/support
-I./interpreter/runtime -I./interpreter/parser -I./interpreter/messages
-I./interpreter/streamLibrary -I./interpreter/platform/common
-I./interpreter/platform/unix -g -O2 -g -O2 -Wall -funsigned-char
-Wpointer-arith -Wcast-qual -Wcast-align -Wshadow -Wwrite-strings
-D__cplusplus -Wredundant-decls -DNOOPT -DPTHREAD_KERNEL -D_POSIX_THREAD
-D_REENTRANT -D_GNU_SOURCE -DLINUX -DOPSYS_LINUX -MT
librexx_la-ThreadContextStubs.lo -MD -MP -MF
.deps/librexx_la-ThreadContextStubs.Tpo -c
./interpreter/api/ThreadContextStubs.cpp -fPIC -DPIC -o
.libs/librexx_la-ThreadContextStubs.o
<command-line>:0:0: warning: "__cplusplus" redefined
<built-in>: note: this is the location of the previous definition
In file included from ./interpreter/memory/MemorySegment.hpp:50:0,
from ./interpreter/memory/RexxMemory.hpp:167,
from ./interpreter/runtime/RexxCore.h:238,
from ./interpreter/api/ThreadContextStubs.cpp:45:
./interpreter/runtime/Interpreter.hpp: In static member function 'static
bool Interpreter::isBigEndian()':
./interpreter/runtime/Interpreter.hpp:122:44: warning: cast from type
'const int*' to type 'char*' casts away qualifiers [-Wcast-qual]
static const char *mfctop=(char *)&mfcone; // -> top byte
^~~~~~
./interpreter/api/ThreadContextStubs.cpp: In function '_RexxPackageObject*
GetRoutinePackage(RexxThreadContext*, RexxRoutineObject)':
./interpreter/api/ThreadContextStubs.cpp:579:12: error: cannot convert
'bool' to 'RexxPackageObject {aka _RexxPackageObject*}' in return
return false;
^~~~~
./interpreter/api/ThreadContextStubs.cpp: In function '_RexxPackageObject*
GetMethodPackage(RexxThreadContext*, RexxMethodObject)':
./interpreter/api/ThreadContextStubs.cpp:594:12: error: cannot convert
'bool' to 'RexxPackageObject {aka _RexxPackageObject*}' in return
return false;
^~~~~
Makefile:2566: recipe for target 'librexx_la-ThreadContextStubs.lo' failed
make: *** [librexx_la-ThreadContextStubs.lo] Error 1
---
Sent from sourceforge.net because you indicated interest in <
https://sourceforge.net/p/oorexx/bugs/1380/>
To unsubscribe from further messages, please visit <
https://sourceforge.net/auth/subscriptions/>
------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are
consuming the most bandwidth. Provides multi-vendor support for NetFlow,
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports. http://pubads.g.doubleclick.net/gampad/clk?id=1444514421&iu=/41014381
_______________________________________________
Oorexx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/oorexx-devel