I created a Dockerfile/Containerfile that compiles qpid-cpp on CentOS 9.
I'm linking to it below, after a few more progress updates. Try it out (at
https://github.com/apache/qpid-cpp/pull/40) if you want.

On Fri, Apr 14, 2023 at 10:51 PM Do, Eling <l...@analogic.com.invalid> wrote:

> Hi Jiri,
>
> Thank you very much for the suggestions.  I will discuss these different
> options with our development team.  I'm not sure that there are specific
> qpid features that we are attached to but more concerned about the
> effort/time needed to make any significant changes.
>

It turned out that getting the basic build to work on RHEL 9 was not that
hard. It required only minimal changes on the qpid-cpp side [1] and
relatively modest changes on the qpid-python [2] side after all

[1] https://issues.apache.org/jira/browse/QPID-8635
[2] https://issues.apache.org/jira/browse/QPID-8631 (up to commit
6d96be6 QPID-8631: make package version string in setup.py compliant with
PEP-440)

As you can see in the CI, the current main of qpid-cpp is running through
the install and only fails on running the tests [3]. In the job, the
current main of qpid-python is installed before trying to install qpid-cpp.
To do this, the GitHub workflow does, in essence

```
git clone https://github.com/apache/qpid-python.git
cd qpid-python
python3 setup.py install --user
```

which is what I am putting into the Containerfile.

[3]
https://github.com/apache/qpid-cpp/actions/runs/4699600134/jobs/8341756181?pr=39#step:18:1283

Here is a GitHub pull request that adds a Dockerfile/Containerfile based on
CentOS 9 that builds qpid-cpp, similarly to how the build from Irina (
https://github.com/irinabov/docker-qpid-cpp-broker) worked.

Please try it out, whether what is built there seems sufficient for your
use: https://github.com/apache/qpid-cpp/pull/40

docker build -f Containerfile -t jdanekrh/jd_qpid-cpp .
docker run --name qpidd --rm -it -p 5672:5672 jdanekrh/jd_qpid-cpp

Regarding what's missing, and the issues I am aware of:
1) bindings (perl, python, ruby client) don't work. the binding code
requires swig3 but rhel9 only has swig4, leading to runtime crashes due to
incompatibilities when trying to use the bindings
2) qpid-tools (for managing the broker, such as `docker exec qpidd
qpid-stat`) don't work, the broker has to be managed by qpid-tools running
somewhere else, where python2 is available

Does this help you move forward? What is the next issue that you are
hitting?
-- 
Mit freundlichen Grüßen / Kind regards
Jiri Daněk
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
For additional commands, e-mail: users-h...@qpid.apache.org

Reply via email to