You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@qpid.apache.org by Chris Whelan <Ch...@systemsandsoftware.net> on 2014/12/31 16:22:19 UTC

Still attempting to compile qpid on aix 7.1 with xlc 13.1.0 (now 13.1.0.2)

Sorry, I neglected to attach the output file from the make all in my previous post.

Subsequent to making the changes Chuck suggested which unfortunately did not fix the compile issue, I applied the latest fix pack for the compiler released by IBM on 12/18 hoping that it would correct the issue.  Unfortunately, the same error persists.  I am still hopeful that a developer in this group with a depth of experience in C++ that far surpasses my limited knowledge will suggest a code workaround as it seems the latest compiler fix pack provided no relief from my AIX induced headache.

Thanks,

Chris Whelan 

-----Original Message-----
From: Chris Whelan [mailto:Chris.Whelan@systemsandsoftware.net] 
Sent: Monday, December 29, 2014 12:34 PM
To: users@qpid.apache.org
Subject: RE: Compiling qpid on aix 7.1 with xlc 13.1.0

Hi Chuck,

I tried what you suggested and unfortunately it appears that the same error occurs.  The output of the 'make all' is attached.

Any additional suggestions would be much appreciated.  

Thanks,

Chris

-----Original Message-----
From: Chris Whelan [mailto:Chris.Whelan@systemsandsoftware.net]
Sent: Tuesday, December 23, 2014 3:23 PM
To: users@qpid.apache.org
Subject: RE: Compiling qpid on aix 7.1 with xlc 13.1.0

Thanks a lot for the information Chuck.  We will give this a try and post the results.

Regards,

Chris

-----Original Message-----
From: Chuck Rolke [mailto:crolke@redhat.com]
Sent: Tuesday, December 23, 2014 3:19 PM
To: users@qpid.apache.org
Subject: Re: Compiling qpid on aix 7.1 with xlc 13.1.0

Hi Chris,

If the problem is with explicit instantiations of InlineVector as suggested by the stackoverflow article you can try this patch. 
It declares to the compiler that InlineVector<> is going to be used with the exact types in the template class statement(s).


-----cut-----
diff --git a/qpid/cpp/src/qpid/framing/FrameSet.h b/qpid/cpp/src/qpid/framing/FrameSet.h
index e234864..c210fed 100644
--- a/qpid/cpp/src/qpid/framing/FrameSet.h
+++ b/qpid/cpp/src/qpid/framing/FrameSet.h
@@ -30,6 +30,8 @@
 #include "qpid/CommonImportExport.h"
 
 namespace qpid {
+template class qpid::InlineVector<qpid::framing::AMQFrame, 4>;
+
 namespace framing {
 
 /**
diff --git a/qpid/cpp/src/qpid/framing/SequenceNumberSet.h b/qpid/cpp/src/qpid/framing/SequenceNumberSet.h
index c8356c8..f21e830 100644
--- a/qpid/cpp/src/qpid/framing/SequenceNumberSet.h
+++ b/qpid/cpp/src/qpid/framing/SequenceNumberSet.h
@@ -30,6 +30,8 @@
 #include "qpid/CommonImportExport.h"
 
 namespace qpid {
+template class qpid::InlineVector<qpid::framing::SequenceNumber, 2>;
+
 namespace framing {
 
 class SequenceNumberSet : public InlineVector<SequenceNumber, 2> diff --git a/qpid/cpp/src/qpid/framing/SequenceSet.h b/qpid/cpp/src/qpid/framing/SequenceSet.h
index 827c899..410745b 100644
--- a/qpid/cpp/src/qpid/framing/SequenceSet.h
+++ b/qpid/cpp/src/qpid/framing/SequenceSet.h
@@ -26,6 +26,9 @@
 #include "qpid/CommonImportExport.h"
 
 namespace qpid {
+template class
+qpid::InlineVector<qpid::RangeSet<qpid::framing::SequenceNumber>, 3>;
+
+
 namespace framing {
 class Buffer;
 
-----cut-----


----- Original Message -----
> From: "Chris Whelan" <Ch...@systemsandsoftware.net>
> To: users@qpid.apache.org
> Sent: Tuesday, December 23, 2014 11:59:48 AM
> Subject: RE: Compiling qpid on aix 7.1 with xlc 13.1.0
> 
> I am wondering if this problem is being caused by an XLC bug.  From 
> the stackoverflow thread linked below, it appears there is a 
> workaround but I am not familiar enough with C++ templates in order to 
> know how to apply the described workaround to qpid code.  The second 
> link seems to indicate that IBM didn't consider a similar problem to 
> be a compiler bug.  If anyone can tell me I am off base here or 
> alternatively offer any insight on how to incorporate the workaround in qpid code, that would be great.
> 
> http://stackoverflow.com/questions/17260479/c-and-ibm-compiler-bug
> 
> http://www-01.ibm.com/support/docview.wss?uid=swg1IZ67247
> 
> Some Additional Information that was accidentally omitted from the 
> previous
> post:
> 
> export CC=/opt/IBM/xlC/13.1.0/bin/xlc
> export CXX=/opt/IBM/xlC/13.1.0/bin/xlc++ export
> BOOST_ROOT=/resgrp072/enquesta_5_0/boost_1_53_0
> export PATH=/opt/IBM/xlC/13.1.0/bin:$PATH
> 
> attempted build from qpid “bld” subdirectory.
> 
> cmake.out is output from “cmake ..”
> make_all.out is output from “make all”
> 
> 
> Thanks,
> 
> Chris Whelan
> 
> -----Original Message-----
> From: Chris Whelan [mailto:Chris.Whelan@systemsandsoftware.net]
> Sent: Monday, December 22, 2014 11:53 AM
> To: users@qpid.apache.org
> Subject: Compiling qpid on aix 7.1 with xlc 13.1.0
> 
> Hi,
> 
> We have been trying to compile qpid on AIX without success.  We have 
> tried both the gcc and xlc compilers.  We first attempted the qpid 
> compile on AIX
> 6.1 with xlc 13.1.0 and Boost 1.57.  The error generated during the 
> make all step was:
> 
> The wrong number of arguments has been specified for 
> "qpid::InlineAllocator<std::allocator<qpid::Range<qpid::framing::Seque
> nceNumber>
> >,3>::allocate(size_type)".
> 
> We subsequently set up an AIX 7.1 server, installed all of the myriad 
> prerequisites and attempted to compile qpid using xlc with Boost 1.53.
> Unfortunately, we observed the same error in the new environment.  I 
> have attached the relevant files.  We have spent a lot of time on this 
> issue between gcc and xlc, setting up multiple environments, trying 
> different versions of boost, etc. and unfortunately have nothing to 
> show for it.  We have our qpid test code running successfully on Linux 
> and Windows, but AIX is proving to be a big and costly hurdle for us.
> Any assistance that can be offered that may help us to resolve this issue would be greatly appreciated.
> 
> Thanks,
> 
> Chris Whelan
> 
> -----Original Message-----
> From: Steve Huston [mailto:shuston@riverace.com]
> Sent: Wednesday, December 17, 2014 3:08 PM
> To: users@qpid.apache.org
> Subject: RE: Compiling qpid on aix 6.1 with xlc 13.1.0
> 
> I don't think the boost warnings are pertinent in this case, and boost 
> is tough to get built with xlC, so for the time being, I'd let that dog lie.
> 
> It smells like a mismatch between std::vector arguments between xlC 
> and what the code expects. I'd chase that one down first. If I get 
> done with customer commitments today I will check into it later.
> 
> -Steve
> 
> > -----Original Message-----
> > From: Chuck Rolke [mailto:crolke@redhat.com]
> > Sent: Wednesday, December 17, 2014 3:00 PM
> > To: users@qpid.apache.org
> > Subject: Re: Compiling qpid on aix 6.1 with xlc 13.1.0
> > 
> > Hi Chris,
> > 
> > In your makeAllOutput.txt file you are getting boost (1_57) warnings 
> > right off the bat. I've never used any boost beyond 1_53 on linux or 
> > windows but
> > 1_53 works on both of those platforms.
> > 
> > Could you try downgrading your boost to 1_53, a "known good on 
> > Windows and Linux" version?
> > 
> > -Chuck
> > 
> > ----- Original Message -----
> > > From: "Chris Whelan" <Ch...@systemsandsoftware.net>
> > > To: users@qpid.apache.org
> > > Sent: Wednesday, December 17, 2014 9:31:35 AM
> > > Subject: Compiling qpid on aix 6.1 with xlc 13.1.0
> > >
> > > Hi,
> > >
> > > We have abandoned using gcc on aix to compile qpid and have now 
> > > moved on to our next problem child, xlc.  Boost compiled 
> > > successfully, but when we try to compile qpid, an argument 
> > > mismatch apparently occurs.
> > > The environment description and details are below.  The associated 
> > > files are attached.  If anyone can offer any insight into what is 
> > > wrong or has any suggestions on what we should try to resolve 
> > > this, your assistance will be gratefully accepted.
> > >
> > > Regards,
> > >
> > > Chris Whelan
> > >
> > > # environment
> > > export CC=/opt/IBM/xlC/13.1.0/bin/xlc export 
> > > CXX=/opt/IBM/xlC/13.1.0/bin/xlc++ export
> > > BOOST_ROOT=/home/dbapi/enquesta_5_0/boost_1_57_0
> > > # for xlC:
> > > export PATH=/opt/IBM/xlC/13.1.0/bin:$PATH
> > > # for other dependencies built locally export 
> > > PATH=/home/dbapi/enquesta_5_0/usr/local/bin:$PATH
> > >
> > > Email attachments:
> > > cmakeOutput.txt is the output from running cmake makeAllOutput.txt 
> > > is the output from the compile (make all) vector.t is an IBM 
> > > source file, /opt/IBM/xlC/13.1.0/include/vector.t
> > > InlineVector.h is from qpid source, 
> > > $QPID_HOME/src/qpid/InlineVector.h
> > >
> > > The error from makeAllOutput.txt ("make all" command) 
> > > /opt/IBM/xlC/13.1.0/include/vector.t", line 41.55: 1540-0215 (S) 
> > > The wrong numb er of arguments has been specified for 
> > > "qpid::InlineAllocator<std::allocator<qpi
> > > d::Range<qpid::framing::SequenceNumber> >,3>::allocate(size_type)".
> > > "/opt/IBM/xlC/13.1.0/include/vector.t", line 37.6: 1540-0700 (I) 
> > > The previous me ssage was produced while processing 
> > > "std::vector<qpid::Range<qpid::framing::Sequ
> > > enceNumber>,qpid::InlineAllocator<std::allocator<qpid::Range<qpid:
> > > enceNumber>:f
> > > enceNumber>ra
> > > enceNumber>ming::Sequ
> > > enceNumber> >,3> >::reserve(size_type)".
> > > "/home/dbapi/enquesta_5_0/qpid-cpp-0.30/src/qpid/InlineVector.h",
> > > line
> > 50.13:
> > > 15
> > > 40-0700 (I) The previous message was produced while processing 
> > > "qpid::InlineVect
> > >
> > or<qpid::Range<qpid::framing::SequenceNumber>,3,std::allocator<qpid:
> > :R
> > a
> > nge<qpid:
> > > :framing::SequenceNumber> > >::InlineVector(const allocator_type &)".
> > >
> > >
> > > ------------------------------------------------------------------
> > > --
> > > - To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org For 
> > > additional commands, e-mail: users-help@qpid.apache.org
> > 
> > --------------------------------------------------------------------
> > - To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org For 
> > additional commands, e-mail: users-help@qpid.apache.org
> 
> B
> KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKCB
> [ X  ܚX KK[XZ[  \ \  ][  X  ܚX P\Y  \X K ܙ B  ܈Y][ۘ[  [X[  K[XZ[  \ \ 
> Z[\Y \X K ܙ B B
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org For 
> additional commands, e-mail: users-help@qpid.apache.org
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org For additional commands, e-mail: users-help@qpid.apache.org