Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |  

This web mail archive is frozen.

This page is part of a frozen web archive of this mailing list.

You can still navigate around this archive, but know that no new mails have been added to it since July of 2016.

Click here to be taken to the new web archives of this list; it includes all the mails that are in this frozen archive plus all new mails that have been sent to the list since it was migrated to the new archives.

Subject: [OMPI users] OBJ_CLASS_INSTANCE error: initializer element is not constant - Windows 7 64 bit mingw-w64 4.6.3
From: Roger Martin (roger_at_[hidden])
Date: 2011-12-22 10:54:35


Hi,

Working on building on windows with MinGW. Have built libopen-pal,
opal-restart, opal-wrapper and am at the open-rte stage of the build.
The OBJ_CLASS_INSTANCE hits errors about 'initializer element is not
constant'. Open-pal also uses OBJ_CLASS_INSTANCE and doesn't throw this
error.
Tried g++ instead of gcc and source such as rmcast_base_open.c compiled
successfully but then I get into name mangling issues.

Being not familiar with the code I haven't yet determined why open-pal
is successful and open-rte isn't. Flag difference? Is there code
difference between them in how they apply the OBJ_CLASS_INSTANCE?

$ ../../mingw64/bin/gcc.exe --version
gcc.exe (GCC) 4.6.3 20111105 (prerelease)

..............line 325 of
rmcast_base_open.c.........................................
  OBJ_CLASS_INSTANCE(rmcast_base_send_t,
                    opal_list_item_t,
                    send_construct,
                    send_destruct);
............

C:\Software\openmpi-build>gmake
[ 14%] Built target libopen-pal
[ 14%] Built target opal-restart
[ 14%] Built target opal-wrapper
[ 14%] Building C object
orte/CMakeFiles/libopen-rte.dir/mca/rmcast/base/rmcast_
base_open.obj
C:\Software\openmpi-1.5.5rc1\orte\mca\rmcast\base\rmcast_base_open.c:325:1:
erro
r: initializer element is not constant
C:\Software\openmpi-1.5.5rc1\orte\mca\rmcast\base\rmcast_base_open.c:325:1:
erro
r: (near initialization for 'rmcast_base_send_t_class.cls_parent')
C:\Software\openmpi-1.5.5rc1\orte\mca\rmcast\base\rmcast_base_open.c:363:1:
erro
r: initializer element is not constant
C:\Software\openmpi-1.5.5rc1\orte\mca\rmcast\base\rmcast_base_open.c:363:1:
erro
r: (near initialization for 'rmcast_base_recv_t_class.cls_parent')
C:\Software\openmpi-1.5.5rc1\orte\mca\rmcast\base\rmcast_base_open.c:403:1:
erro
r: initializer element is not constant
C:\Software\openmpi-1.5.5rc1\orte\mca\rmcast\base\rmcast_base_open.c:403:1:
erro
r: (near initialization for 'rmcast_base_channel_t_class.cls_parent')
C:\Software\openmpi-1.5.5rc1\orte\mca\rmcast\base\rmcast_base_open.c:413:1:
erro
r: initializer element is not constant
C:\Software\openmpi-1.5.5rc1\orte\mca\rmcast\base\rmcast_base_open.c:413:1:
erro
r: (near initialization for 'rmcast_seq_tracker_t_class.cls_parent')
C:\Software\openmpi-1.5.5rc1\orte\mca\rmcast\base\rmcast_base_open.c:434:1:
erro
r: initializer element is not constant
C:\Software\openmpi-1.5.5rc1\orte\mca\rmcast\base\rmcast_base_open.c:434:1:
erro
r: (near initialization for 'rmcast_recv_log_t_class.cls_parent')
C:\Software\openmpi-1.5.5rc1\orte\mca\rmcast\base\rmcast_base_open.c:451:1:
erro
r: initializer element is not constant
C:\Software\openmpi-1.5.5rc1\orte\mca\rmcast\base\rmcast_base_open.c:451:1:
erro
r: (near initialization for 'rmcast_send_log_t_class.cls_parent')
C:\Software\openmpi-1.5.5rc1\orte\mca\rmcast\base\rmcast_base_open.c:466:1:
erro
r: initializer element is not constant
C:\Software\openmpi-1.5.5rc1\orte\mca\rmcast\base\rmcast_base_open.c:466:1:
erro
r: (near initialization for 'orte_rmcast_msg_t_class.cls_parent')
gmake[2]: ***
[orte/CMakeFiles/libopen-rte.dir/mca/rmcast/base/rmcast_base_open.
obj] Error 1
gmake[1]: *** [orte/CMakeFiles/libopen-rte.dir/all] Error 2
gmake: *** [all] Error 2