[ 
https://issues.apache.org/jira/browse/QPID-6135?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14286118#comment-14286118
 ] 

ASF subversion and git services commented on QPID-6135:
-------------------------------------------------------

Commit 1653631 from [~mcpierce] in branch 'qpid/trunk'
[ https://svn.apache.org/r1653631 ]

txshift: switch to uint for workers

workaround missing size_t implementation of
po::value_semantic* create_value(T& val, const std::string& arg)
as it would conflict with when size_t == unsigned int even when
it would help for size_t == unsigned long

fixes https://issues.apache.org/jira/browse/QPID-6135

Contributed by Dan Horaz <[email protected]>

> build failure in qpid-cpp-0.30/src/tests/txshift.cpp
> ----------------------------------------------------
>
>                 Key: QPID-6135
>                 URL: https://issues.apache.org/jira/browse/QPID-6135
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Broker
>    Affects Versions: 0.30
>         Environment: Linux Fedora 21 on s390 (32-bit)
>            Reporter: Dan HorĂ¡k
>             Fix For: 0.31
>
>         Attachments: 0001-txshift-switch-to-uint-for-workers.patch
>
>
> build fails with
> ...
> CMakeFiles/txshift.dir/txshift.cpp.o: In function 
> `boost::program_options::value_semantic* qpid::optValue<unsigned 
> long>(unsigned long&, char const*)':
> /builddir/build/BUILD/qpid-cpp-0.30/src/qpid/Options.h:77: undefined 
> reference to `boost::program_options::value_semantic* 
> qpid::create_value<unsigned long>(unsigned long&, std::string const&)'
> collect2: error: ld returned 1 exit status
> for a full please see build.log at 
> http://s390.koji.fedoraproject.org/koji/taskinfo?taskID=1579517
> The reason is that the workers atribute is declared as size_t and size_t is 
> defined as unsigned long (as opposed to the usual unsigned int) and there is 
> no instance of qpid::optValue() for size_t/unsigned long. The solution would 
> be to add
> template QPID_COMMON_EXTERN po::value_semantic* create_value(size_t& val, 
> const std::string& arg);
>  in src/qpid/Options.cpp, but I think it would conflict with existing 
> create_value() functions, at least I recolled such problems from other 
> projects.
> The workaround is to declare workers as uint in txshift.cpp.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to