Hello,
Many thanks for your response. I build apache qpid libraries and my application
on a different compile machine and run my application on a different test
machine. Test machine does not have access to location used on compile machine.
While building my application, I point it to the local install folder where the
output of QPID builds are stored.
-L points to the local qpid install path so that shared objects could be found
by the linker.
On the compile machine, I set the LD_LIBRARY_PATH with a local path where I
copy the QPID install folder. Once the binary is ready, I copy it on the test
machine.
However, when I run my app or run strace on the test machine, I see this error
and the reference to the path is not from the test machine but to the path on
compile machine where I actually got the QPID builds installed.
Details from strace
open("PATH_ON_COMPILE_MACHINE/install/etc/qpid/qpidc.conf", O_RDONLY) = -1 EIO
(Input/output error)
open("PATH_ON_COMPILE_MACHINE/install/etc/qpid/qpidc.conf", O_RDONLY) = -1 EIO
(Input/output error)
Caught std::exception Invalid value for module-dir: Input/output error: Can't
check directory PATH_ON_COMPILE_MACHINE/install/lib64/qpid/client
Best Regards,
Rahul
-----Original Message-----
From: Gordon Sim <[email protected]>
Sent: 21 June 2021 13:32
To: [email protected]
Subject: Re: RDMA shared object reliance for QPID AMQP C++Messaging APIv1.39
You should not need to have any client module directory. My first guess is that
it is perhaps a permissions issue. Is your application running as a user able
to list files under the <install-dir>/lib64/qpid directory?
(The exception seems to come from stat() returning an error other than ENOENT).
On Mon, Jun 21, 2021 at 11:34 AM [email protected]
<[email protected]> wrote:
>
> Hello,
> I am trying on run my C++ application on linux based on QPID AMQP messaging
> API and connect to TCP endpoint with SSL authentication. At the moment, I am
> just trying to test the correct usage and do nothing more than establishing
> the connection. However, I get a runtime error which indicates the exe is
> looking for some shared object at the QPID AMQP installed directory
> (PATH_TO_INSTALL_DIRECTORY/lib64/qpid/client). However, I do not see any
> client sub-folder within the lib64/qpid path. There is only a daemon folder
> out there. The error I receive is "Caught std::exception Invalid value for
> module-dir: Input/output error: Can't check directory:
> PATH_TO_INSTALL_DIRECTORY/lib64/qpid/client"
>
> I have build both QPID Proton C v 0.34 and QPID AMQP Messaging C++ v1.39
> packages and point the shared objects build to the install directory.
> Please note I do not have libibverbs and librdmacm packages which are
> optional and required for RDMA transport protocol. (
> https://raw.githubusercontent.com/apache/qpid-cpp/main/INSTALL.txt ) Sounds
> like for some reasons, my qpid amqp packages do not build shared objects
> which are supposed to go under (installfolder)/lib64/qpid/client directory. I
> only need C++ and hence exclude BINDINGS for PERL,RUBY and PYTHON in my cmake
> options.
>
> In my main application, I use the following connection code so far -
>
> #include <qpid/messaging/Connection.h>
>
> const char *url = "amqp:tcp:IP:PORT";
> qpid::messaging::Connection conn(url);
>
> Looking forward to hearing from you.
>
> Best Regards,
> Rahul
>
> ________________________________
> NOTICE: Morgan Stanley is not acting as a municipal advisor and the opinions
> or views contained herein are not intended to be, and do not constitute,
> advice within the meaning of Section 975 of the Dodd-Frank Wall Street Reform
> and Consumer Protection Act. If you have received this communication in
> error, please destroy all electronic and paper copies and notify the sender
> immediately. Mistransmission is not intended to waive confidentiality or
> privilege. Morgan Stanley reserves the right, to the extent required and/or
> permitted under applicable law, to monitor electronic communications,
> including telephone calls with Morgan Stanley personnel. This message is
> subject to the Morgan Stanley General Disclaimers available at the following
> link: http://www.morganstanley.com/disclaimers. If you cannot access the
> links, please notify us by reply message and we will send the contents to
> you. By communicating with Morgan Stanley you acknowledge that you have read,
> understand and consent, (where applicable), to the foregoing and the Morgan
> Stanley General Disclaimers.
>
> You may have certain rights regarding the information that Morgan Stanley
> collects about you. Please see our Privacy Pledge
> https://www.morganstanley.com/privacy-pledge for more information about your
> rights.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected] For additional
commands, e-mail: [email protected]
--------------------------------------------------------------------------------
NOTICE: Morgan Stanley is not acting as a municipal advisor and the opinions or
views contained herein are not intended to be, and do not constitute, advice
within the meaning of Section 975 of the Dodd-Frank Wall Street Reform and
Consumer Protection Act. If you have received this communication in error,
please destroy all electronic and paper copies and notify the sender
immediately. Mistransmission is not intended to waive confidentiality or
privilege. Morgan Stanley reserves the right, to the extent permitted under
applicable law, to monitor electronic communications. This message is subject
to terms available at the following link:
http://www.morganstanley.com/disclaimers If you cannot access these links,
please notify us by reply message and we will send the contents to you. By
communicating with Morgan Stanley you consent to the foregoing and to the voice
recording of conversations with personnel of Morgan Stanley.
You may have certain rights regarding the information that Morgan Stanley
collects about you. Please see our Privacy Pledge
https://www.morganstanley.com/privacy-pledge for more information about your
rights.