NetXMS Support Forum

English Support => General Support => Topic started by: JesusCruzAcr on February 26, 2020, 12:10:27 AM

Title: Error when I tried to do make / NetXms 3.1.241 / Ubuntu18.04
Post by: JesusCruzAcr on February 26, 2020, 12:10:27 AM
Hello, I tried to do an agent, when I did the ./configure everything goes without problem, the problem is on the Make, the system gives me the next text:

make[3]: se entra en el directorio '/home/acragt/Descargas/netxms-3.1.241/src/libnetxms'
  CXX      libnetxms_la-array.lo
In file included from ../../include/nms_threads.h:990:0,
                 from ../../include/nms_util.h:35,
                 from libnetxms.h:28,
                 from array.cpp:24:
../../include/rwlock.h: In function 'pthread_rwlock_t* RWLockCreate()':
../../include/rwlock.h:35:20: error: 'MemAlloc' was not declared in this scope
    hLock = (RWLOCK)MemAlloc(sizeof(pthread_rwlock_t));
                    ^~~~~~~~
../../include/rwlock.h:35:20: note: suggested alternative: 'realloc'
    hLock = (RWLOCK)MemAlloc(sizeof(pthread_rwlock_t));
                    ^~~~~~~~
                    realloc
../../include/rwlock.h:38:7: error: 'MemFree' was not declared in this scope
       MemFree(hLock);
       ^~~~~~~
../../include/rwlock.h: In function 'void RWLockDestroy(RWLOCK)':
../../include/rwlock.h:49:7: error: 'MemFree' was not declared in this scope
       MemFree(hLock);
       ^~~~~~~
array.cpp: In function 'void DefaultObjectDestructor(void*, Array*)':
array.cpp:33:4: error: 'MemFree' was not declared in this scope
    MemFree(element);
    ^~~~~~~
array.cpp: At global scope:
array.cpp:44:1: error: prototype for 'Array::Array(int, int, bool, void (*)(void*, Array*))' does not match any in class 'Array'
Array::Array(int initial, int grow, bool owner, void (*objectDestructor)(void *, Array *))
^~~~~
In file included from libnetxms.h:28:0,
                 from array.cpp:24:
../../include/nms_util.h:842:2: error: candidates are: Array::Array(int, int, bool)
  Array(int initial = 0, int grow = 16, bool owner = false);
  ^~~~~
../../include/nms_util.h:837:4: error:                 Array::Array(const Array*)
    Array(const Array *src);
    ^~~~~
../../include/nms_util.h:836:4: error:                 Array::Array(void*, int, int, size_t)
    Array(void *data, int initial, int grow, size_t elementSize);
    ^~~~~
In file included from libnetxms.h:27:0,
                 from array.cpp:24:
../../include/nms_util.h:819:22: error:                 Array::Array(const Array&)
    DISABLE_COPY_CTOR(Array)
                      ^
../../include/nms_common.h:1235:30: note: in definition of macro 'DISABLE_COPY_CTOR'
#define DISABLE_COPY_CTOR(c) c (const c &s) = delete;
                              ^
array.cpp: In constructor 'Array::Array(void*, int, int, size_t)':
array.cpp:68:25: error: 'MemAlloc' was not declared in this scope
       m_data = (void **)MemAlloc(m_elementSize * m_allocated);
                         ^~~~~~~~
array.cpp:68:25: note: suggested alternative: 'realloc'
       m_data = (void **)MemAlloc(m_elementSize * m_allocated);
                         ^~~~~~~~
                         realloc
array.cpp:79:25: error: invalid conversion from 'void (*)(void*, Array*)' to 'void (*)(void*)' [-fpermissive]
    m_objectDestructor = DefaultObjectDestructor;
                         ^~~~~~~~~~~~~~~~~~~~~~~
array.cpp:81:4: error: 'm_context' was not declared in this scope
    m_context = NULL;
    ^~~~~~~~~
array.cpp:81:4: note: suggested alternative: 'connect'
    m_context = NULL;
    ^~~~~~~~~
    connect
array.cpp: In constructor 'Array::Array(const Array*)':
array.cpp:93:46: error: 'MemCopyBlock' was not declared in this scope
    m_data = (src->m_data != NULL) ? (void **)MemCopyBlock(src->m_data, m_elementSize * m_allocated) : NULL;
                                              ^~~~~~~~~~~~
array.cpp:97:4: error: 'm_context' was not declared in this scope
    m_context = src->m_context;
    ^~~~~~~~~
array.cpp:97:4: note: suggested alternative: 'connect'
    m_context = src->m_context;
    ^~~~~~~~~
    connect
array.cpp:97:21: error: 'const class Array' has no member named 'm_context'
    m_context = src->m_context;
                     ^~~~~~~~~
array.cpp: In destructor 'virtual Array::~Array()':
array.cpp:118:2: error: 'MemFree' was not declared in this scope
  MemFree(m_data);
  ^~~~~~~
array.cpp: In member function 'int Array::add(void*)':
array.cpp:129:12: error: 'MemRealloc' was not declared in this scope
   m_data = MemRealloc(m_data, m_elementSize * m_allocated);
            ^~~~~~~~~~
array.cpp:129:12: note: suggested alternative: 'realloc'
   m_data = MemRealloc(m_data, m_elementSize * m_allocated);
            ^~~~~~~~~~
            realloc
array.cpp: At global scope:
array.cpp:146:29: error: no 'void* Array::addPlaceholder()' member function declared in class 'Array'
void *Array::addPlaceholder()
                             ^
array.cpp: In member function 'void Array::set(int, void*)':
array.cpp:188:13: error: 'MemRealloc' was not declared in this scope
    m_data = MemRealloc(m_data, m_elementSize * m_allocated);
             ^~~~~~~~~~
array.cpp:188:13: note: suggested alternative: 'realloc'
    m_data = MemRealloc(m_data, m_elementSize * m_allocated);
             ^~~~~~~~~~
             realloc
array.cpp: At global scope:
array.cpp:222:46: error: no 'void* Array::replaceWithPlaceholder(int)' member function declared in class 'Array'
void *Array::replaceWithPlaceholder(int index)
                                              ^
array.cpp: In member function 'void Array::insert(int, void*)':
array.cpp:247:19: error: 'MemRealloc' was not declared in this scope
          m_data = MemRealloc(m_data, m_elementSize * m_allocated);
                   ^~~~~~~~~~
array.cpp:247:19: note: suggested alternative: 'realloc'
          m_data = MemRealloc(m_data, m_elementSize * m_allocated);
                   ^~~~~~~~~~
                   realloc
array.cpp:258:19: error: 'MemRealloc' was not declared in this scope
          m_data = MemRealloc(m_data, m_elementSize * m_allocated);
                   ^~~~~~~~~~
array.cpp:258:19: note: suggested alternative: 'realloc'
          m_data = MemRealloc(m_data, m_elementSize * m_allocated);
                   ^~~~~~~~~~
                   realloc
array.cpp: In member function 'void Array::clear()':
array.cpp:298:12: error: 'MemRealloc' was not declared in this scope
   m_data = MemRealloc(m_data, m_elementSize * m_grow);
            ^~~~~~~~~~
array.cpp:298:12: note: suggested alternative: 'realloc'
   m_data = MemRealloc(m_data, m_elementSize * m_grow);
            ^~~~~~~~~~
            realloc
array.cpp: At global scope:
array.cpp:306:30: error: no 'void Array::shrinkTo(int)' member function declared in class 'Array'
void Array::shrinkTo(int size)
                              ^
array.cpp:355:6: error: prototype for 'void Array::sort(int (*)(void*, const void*, const void*), void*)' does not match any in class 'Array'
void Array::sort(int (*cb)(void *, const void *, const void *), void *context)
      ^~~~~
array.cpp:347:6: error: candidate is: void Array::sort(int (*)(const void*, const void*))
void Array::sort(int (*cb)(const void *, const void *))
      ^~~~~
array.cpp:412:28: error: no 'void ArrayIterator::unlink()' member function declared in class 'ArrayIterator'
void ArrayIterator::unlink()
                            ^
Makefile:947: recipe for target 'libnetxms_la-array.lo' failed
make[3]: *** [libnetxms_la-array.lo] Error 1
make[3]: se sale del directorio '/home/acragt/Descargas/netxms-3.1.241/src/libnetxms'
Makefile:450: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: se sale del directorio '/home/acragt/Descargas/netxms-3.1.241/src'
Makefile:504: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: se sale del directorio '/home/acragt/Descargas/netxms-3.1.241'
Makefile:436: recipe for target 'all' failed
make: *** [all] Error 2
root@acragt-VirtualBox:/home/acragt/Descargas/netxms-3.1.241#


Also I attach the log file.

Thank you and have a nice day!
Title: Re: Error when I tried to do make / NetXms 3.1.241 / Ubuntu18.04
Post by: Filipp Sudanov on February 26, 2020, 11:09:18 AM
Do you have particular reasons to compile the agent? There are packages for Ubuntu: https://www.netxms.org/documentation/adminguide/installation.html#installing-on-debian-or-ubuntu
Title: Re: Error when I tried to do make / NetXms 3.1.241 / Ubuntu18.04
Post by: JesusCruzAcr on February 26, 2020, 05:48:44 PM
Hello Filipp,

Yes, the system on wich I try to compile it have some limitations, so for that reason I need to do the installation from the resources. So I'm trying to emulate it on an Ubuntu 18.04 installed on a virtual machine.

thanks and have a nice day!

Title: Re: Error when I tried to do make / NetXms 3.1.241 / Ubuntu18.04
Post by: Victor Kirhenshtein on February 27, 2020, 05:59:37 PM
Hi,

I just tried to build 3.1.241 on Ubuntu 18.04 with your configure options and build went fine. Make sure your source package is not broken, maybe try 3.2.350 instead. Also you can use generic Linux agent binaries - they should work on most modern distros.

Best regards,
Victor
Title: Re: Error when I tried to do make / NetXms 3.1.241 / Ubuntu18.04
Post by: JesusCruzAcr on February 28, 2020, 07:20:23 PM
Hello Victor,

as you recomendation, I did what you said (download the new version) and everything goes ok, maybe was about broken package. Thank you for your fast reply.


Thanks and have a nice day!