Anyone can compile ICE3.6 on AIX 7.1 with XLC 12 ?

mill888mill888 Member Can LinOrganization: PersonalProject: Just for study
edited September 2018 in Help Center

Hi;
I try to compile ICE 3.6 on AIX 7.1 with XLC 12 , and can not compile it successfuly, and I found two problems
(1) In the IceGrid/Activator.cpp, getgrouplist function is not defined anywhere of AIX 7.1 or XLC 12
(2) In the IceGrid/ServerI.cpp,
if(getPropertyAsInt(_properties.at("config"), "IceBox.UseSharedCommunicator." + service) > 0)

the _properties variable is type of PropertyDescriptorSeq, and PropertyDescriptorSeq is defined as ::std::vector< ::IceGrid::PropertyDescriptor> in include/IceGrid/Descriptor.h, so _properties is std::vector, thus _properties has no function "at" with string/char parameter, it only has function "at" with integer parameter.

So this is BUG ??

Answers

  • mill888mill888 Member Can LinOrganization: PersonalProject: Just for study

    ICE version is 3.6.4

  • xdmxdm La Coruña, SpainAdministrators, ZeroC Staff Jose Gutierrez de la ConchaOrganization: ZeroC, Inc.Project: Ice Developer ZeroC Staff

    Hi,

    Keep in mind that we don't support AIX 7.1 with XLC 12 for Ice 3.6 or Ice 3.7

    (1) In the IceGrid/Activator.cpp

    getgrouplist is not available on AIX you might want to try using getgrset instead

    (2) In the IceGrid/ServerI.cpp

    if(getPropertyAsInt(_properties.at("config"), "IceBox.UseSharedCommunicator." + service) > 0)
    

    This should be

    if(getPropertyAsInt(_properties["config"], "IceBox.UseSharedCommunicator." + service) > 0)
    

    _properties is an std::map instance and at member function is new in C++11 standard

  • xdmxdm La Coruña, SpainAdministrators, ZeroC Staff Jose Gutierrez de la ConchaOrganization: ZeroC, Inc.Project: Ice Developer ZeroC Staff

    Note you must also remove the const qualifiers in _properties declaration to be able to use operator []

    in https://github.com/zeroc-ice/ice/blob/3.7/cpp/src/IceGrid/ServerI.cpp#L369

  • xdmxdm La Coruña, SpainAdministrators, ZeroC Staff Jose Gutierrez de la ConchaOrganization: ZeroC, Inc.Project: Ice Developer ZeroC Staff

    I push a fix for _properties issue to our github 3.6 branch

    Regarding getgrouplist you can also try to undef this functionally for AIX, this is used only when running as root to set supplementary groups

  • mill888mill888 Member Can LinOrganization: PersonalProject: Just for study

    it is so regretful that ICE 3.6 or 3.7 does not support AIX .
    Why not support it ?

  • mill888mill888 Member Can LinOrganization: PersonalProject: Just for study

    Regarding getgrouplist, I undef it, then compiled successfully on AIX 7.1 with XLC 12;

    So, really don't support AIX 7.1 with XLC 12 for Ice 3.6 or Ice 3.7 ?

    But I think it is not the best way that undef getgrouplist, so Can you patch it for getgrouplist on AIX ? Because I may misunderstand it, so it is better you patch it.

Sign In or Register to comment.