-
Notifications
You must be signed in to change notification settings - Fork 6.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[omniorb] Add new port #8609
[omniorb] Add new port #8609
Conversation
I am not able to make this simply run, omniorb builds a code generator in the build processes that is an embedded Python interpreter. The main problem is that the interpreter needs the Python standard libraries. I tried to force it to use the libraries shipped with vcpkg_find_acquire_program, but it failed. On my local vcpkg fork, I added the python libraries and interpreter to the python3 package. To install them under ${VCPKG_ROOT_DIR}/installed/${TARGET_TRIPLET}/tools/python3 This problem should apear in every program which is embedding python using the python3 package. Please give me some hints, how to process!
|
Look at the duktape port for example |
The duktape port installs PIP, that doesn't help me, I'm not talking about any extra packages, I'm talking about the Python standard library (like the utf8 and iso8859 encodings). The Python version provided by vcpkg_find_acquire_program is a Python-3.7.3-embed-win32 which only ships the precompiled standard libraries. Which don't work with the python3 port (which only installs the python3 dll/so and headers). The libs can simply be installed with the python3 port, but I'd have to change that. |
@CaeruleusAqua thanks for your PR first. I noticed the failures: x64-windows
x64-linux
It seems that different python versions are required on Windows and Linux. Maybe you need to find
I install Hope this will help you some. |
Is anyone here reading my comments??????? vcpkg_find_acquire_program(PYTHON3) is not an option! I don't use vcpkg on Linux, but omniORB works with Python 2 and 3, on Linux and Windows. |
It now runs at least on the Windows-dynamic. From my point of view there are some basic problems, Unfortunately it is not enough to manually overwrite the library paths, because the script does much more, e.g. retrieve the python runtime and library paths from the interpreter. I think we need a more general solution for all ports that use Python. |
@CaeruleusAqua I've built omniorb for vcpkg using msys without cmake. Indeed, embedded python is not an option. |
@CaeruleusAqua Please resolve these conflicts. Thanks. |
/azp run |
@@ -0,0 +1,76 @@ | |||
include(vcpkg_common_functions) | |||
set(VCPKG_USE_HEAD_VERSION ON) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This must be removed before merging.
Thank you for the PR and sorry for the delays in processing! As you've said above, using Python and C++ is tricky and doubly so inside vcpkg. Can you shed a bit more light on a few aspects of the OmniOrb build? Specifically:
Is this code generator only used during the build of omniorb or is it shipped for downstream projects to use as well? If it is only used during omniorb, then it might actually be ideal for us to acquire python via However, any modules that are intended to be loaded by downstream users of python should be built against our If it is too difficult to offer this distinction, it may be best to simply always use |
@ras0219-msft python3 interpreter is not enough to build omniorb. It also needs headers and libraries. You cannot also mix different version (interpreter program and vcpkg port). |
The code generator is used both when building omniorb and afterwards. But I
understand why you want i have two Python versions. The idl compiler (code generator) is
completely written in Python, under windows it is embedded in a c++ program
to make it easier to use. I think I could try to use the Python version at
least in the bootstrap process (with vcpkg_find_acquire_program(PYTHON3))
But for the then shipped IDL compiler we still need the Python headers
and libraries. Also, the build system had to be be heavily modified (which
I can do, but takes time)
|
On linux omniorb users will need to have python interpreter anyway... |
Hello @CaeruleusAqua; it's been ~8 months since Robert suggested a path forward are you still interested in working on this? |
Closing this PR since it seems that no progress is being made. Please reopen if work is still being done. |
OmniORB (4.2.3):
Description: OmniORB is a robust high performance CORBA ORB for C++ and Python. It is freely available under the terms of the GNU Lesser General Public License (for the libraries), and GNU General Public License (for the tools). omniORB is largely CORBA 2.6 compliant.