[ 
https://issues.apache.org/jira/browse/QPID-2996?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ted Ross resolved QPID-2996.
----------------------------

       Resolution: Fixed
    Fix Version/s: 0.9

Thanks for the patch, I've committed it.


> qmf/SchemaMethod.cpp fails to compile on s390
> ---------------------------------------------
>
>                 Key: QPID-2996
>                 URL: https://issues.apache.org/jira/browse/QPID-2996
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Broker
>    Affects Versions: 0.8
>         Environment: Fedora Rawhide (to become Fedora 15) on s390x
>            Reporter: Dan HorĂ¡k
>            Assignee: Ted Ross
>             Fix For: 0.9
>
>         Attachments: qpid-0.8-size_t.patch
>
>
> qmf/SchemaMethod.cpp fails to compile on s390 with the following error
> libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../include -I../include -I. -I=. 
> -pedantic -Wall -Wextra -Wno-shadow -Wpointer-arith -Wcast-qual -Wcast-align 
> -Wno-long-long -Wvolatile-register-var -Winvalid-pch -Wno-system-headers 
> -Woverloaded-virtual -DQPID_LIBEXEC_DIR=\"/usr/libexec/qpid\" -O2 -g -pipe 
> -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector 
> --param=ssp-buffer-size=4 -m31 -march=z9-109 -mtune=z10 -DNDEBUG -O3 -c 
> qmf/SchemaMethod.cpp  -fPIC -DPIC -o qmf/.libs/SchemaMethod.o
> qmf/SchemaMethod.cpp: In member function 'void 
> qmf::SchemaMethodImpl::encodeV1(qpid::management::Buffer&) const':
> qmf/SchemaMethod.cpp:166:38: error: ambiguous overload for 'operator=' in 
> 'map.std::map<_Key, _Tp, _Compare, _Alloc>::operator[] [with _Key = 
> std::basic_string<char>, _Tp = qpid::types::Variant, _Compare = 
> std::less<std::basic_string<char> >, _Alloc = std::allocator<std::pair<const 
> std::basic_string<char>, qpid::types::Variant> >, mapped_type = 
> qpid::types::Variant, key_type = std::basic_string<char>](((const 
> std::map<std::basic_string<char>, qpid::types::Variant>::key_type&)(& 
> std::basic_string<char>(((const char*)"argCount"), ((const 
> std::allocator<char>&)((const std::allocator<char>*)(& 
> std::allocator<char>()))))))) = ((const 
> qmf::SchemaMethodImpl*)this)->qmf::SchemaMethodImpl::arguments.std::list<_Tp, 
> _Alloc>::size [with _Tp = qmf::SchemaProperty, _Alloc = 
> std::allocator<qmf::SchemaProperty>, std::list::size_type = long unsigned 
> int]()'
> ../include/qpid/types/Variant.h:98:32: note: candidates are: 
> qpid::types::Variant& qpid::types::Variant::operator=(bool)
> ../include/qpid/types/Variant.h:99:32: note:                 
> qpid::types::Variant& qpid::types::Variant::operator=(uint8_t)
> ../include/qpid/types/Variant.h:100:32: note:                 
> qpid::types::Variant& qpid::types::Variant::operator=(uint16_t)
> ../include/qpid/types/Variant.h:101:32: note:                 
> qpid::types::Variant& qpid::types::Variant::operator=(uint32_t)
> ../include/qpid/types/Variant.h:102:32: note:                 
> qpid::types::Variant& qpid::types::Variant::operator=(uint64_t)
> ../include/qpid/types/Variant.h:103:32: note:                 
> qpid::types::Variant& qpid::types::Variant::operator=(int8_t)
> ../include/qpid/types/Variant.h:104:32: note:                 
> qpid::types::Variant& qpid::types::Variant::operator=(int16_t)
> ../include/qpid/types/Variant.h:105:32: note:                 
> qpid::types::Variant& qpid::types::Variant::operator=(int32_t)
> ../include/qpid/types/Variant.h:106:32: note:                 
> qpid::types::Variant& qpid::types::Variant::operator=(int64_t)
> ../include/qpid/types/Variant.h:107:32: note:                 
> qpid::types::Variant& qpid::types::Variant::operator=(float)
> ../include/qpid/types/Variant.h:108:32: note:                 
> qpid::types::Variant& qpid::types::Variant::operator=(double)
> ../include/qpid/types/Variant.h:113:32: note:                 
> qpid::types::Variant& qpid::types::Variant::operator=(const 
> qpid::types::Variant&)
> ../include/qpid/types/Variant.h:114:32: note:                 
> qpid::types::Variant& qpid::types::Variant::operator=(const 
> qpid::types::Uuid&)
> make[3]: Leaving directory `/builddir/build/BUILD/qpid-0.8/cpp/src'
> make[3]: *** [qmf/SchemaMethod.lo] Error 1
> I think an explicit typecast of the arguments.size() call will solve it.
> excerpt from /usr/include/c++/4.5.1/s390-redhat-linux/bits/c++config.h
> ...
> /* Define if size_t is unsigned int. */
> /* #undef _GLIBCXX_SIZE_T_IS_UINT */
> ...
> link to Fedora/s390x build system - 
> http://s390.koji.fedoraproject.org/koji/taskinfo?taskID=281714

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org

Reply via email to