Opened 12 years ago

Closed 10 years ago

#35818 closed defect (fixed)

py-omniORBpy @ 3.6 python libraries installed improperly

Reported by: lockhart (Thomas Lockhart) Owned by: pixilla (Bradley Giesbrecht)
Priority: Normal Milestone:
Component: ports Version:
Keywords: haspatch Cc: ryandesign (Ryan Carsten Schmidt), dershow, lockhart (Thomas Lockhart)
Port: py-omniORBpy

Description (last modified by pixilla (Bradley Giesbrecht))

The python libraries are currently installed under /opt/local/lib/ rather than under /opt/local/Library/ (where almost all python packages from MacPorts are installed -- xcbgen is the exception). This results in a broken installation since libraries from omniORB are required to compile IDL. And of course python does not actually find libraries under /opt/local/lib anyway. Using the post-patch patches from the omniORB Portfile fixes the problem.

Attachments (3)

Portfile.diff (2.2 KB) - added by lockhart (Thomas Lockhart) 12 years ago.
Patch to select the proper version of python and to install into /opt/local/Library rather than into /opt/local/lib. Default to python-2.4 per Ryan.
patch-omniORB-pyomniORB-4.2.0.diff (3.2 KB) - added by pixilla (Bradley Giesbrecht) 10 years ago.
Portfile.2.diff (1.3 KB) - added by lockhart (Thomas Lockhart) 10 years ago.
Use the correct version of python to install libraries. Bump default version of python to 2.7. Move livecheck to outside the subport code.

Download all attachments as: .zip

Change History (22)

comment:1 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

I'll only say that python.default_version should be left at 24. This facilitates upgrades for users who had installed the old non-unified python 2.4-based py-omniORBpy port.

comment:2 Changed 12 years ago by pixilla (Bradley Giesbrecht)

Description: modified (diff)

lockhart: changed description from /opt/Library to /opt/local/Library which I believe was your intent.

comment:3 Changed 12 years ago by pixilla (Bradley Giesbrecht)

Cc: stromnov@… removed
Owner: changed from macports-tickets@… to stromnov@…

Changed 12 years ago by lockhart (Thomas Lockhart)

Attachment: Portfile.diff added

Patch to select the proper version of python and to install into /opt/local/Library rather than into /opt/local/lib. Default to python-2.4 per Ryan.

comment:4 in reply to:  2 Changed 12 years ago by lockhart (Thomas Lockhart)

Replying to pixilla@…:

lockhart: changed description from /opt/Library to /opt/local/Library which I believe was your intent.

Yes thanks. I've also just reposted the patch to default to python-2.4.

comment:5 Changed 10 years ago by pixilla (Bradley Giesbrecht)

Cc: pixilla@… removed
Owner: changed from stromnov@… to pixilla@…

comment:6 Changed 10 years ago by lockhart (Thomas Lockhart)

Is python-2.4 still required as a default for packages? That is ancient. I would prefer to update to 2.7. Will repost patches when clarified.

comment:7 Changed 10 years ago by dershow

Cc: dersh@… added

Cc Me!

comment:8 Changed 10 years ago by dershow

This is also a fairly old version of omniorb-py (back to 2011). It, and omniorb, could probably use a version bump as well.

Changed 10 years ago by pixilla (Bradley Giesbrecht)

comment:9 Changed 10 years ago by pixilla (Bradley Giesbrecht)

patch-omniORB-pyomniORB-4.2.0.diff merges lockharts patch with a version bump and adds the active_variants port group to force pyxx-omniORB to match omniORB's pythonxx variant.

lockhart & dersh: Would either of you be able to confirm that this patch works well?

comment:10 Changed 10 years ago by dershow

I applied the diff but then omniORB can't seem to find this file: src_tool_omniidl_cxx_cccp_config-darwin.h.diff So, I get a bunch of these when I try to upgrade:

--->  Attempting to fetch src_tool_omniidl_cxx_cccp_config-darwin.h.diff from http://distfiles.macports.org/omniORB
--->  Attempting to fetch src_tool_omniidl_cxx_cccp_config-darwin.h.diff from http://softlayer-dal.dl.sourceforge.net/omniorb
--->  Attempting to fetch src_tool_omniidl_cxx_cccp_config-darwin.h.diff from http://sea.us.distfiles.macports.org/macports/distfiles/omniORB
--->  Attempting to fetch src_tool_omniidl_cxx_cccp_config-darwin.h.diff from http://hivelocity.dl.sourceforge.net/omniorb
--->  Attempting to fetch src_tool_omniidl_cxx_cccp_config-darwin.h.diff from http://superb-dca2.dl.sourceforge.net/omniorb
--->  Attempting to fetch src_tool_omniidl_cxx_cccp_config-darwin.h.diff from http://ykf.ca.distfiles.macports.org/MacPorts/mpdistfiles/omniORB
--->  Attempting to fetch src_tool_omniidl_cxx_cccp_config-darwin.h.diff from http://jaist.dl.sourceforge.net/omniorb
--->  Attempting to fetch src_tool_omniidl_cxx_cccp_config-darwin.h.diff from http://mse.uk.distfiles.macports.org/sites/distfiles.macports.org/omniORB
--->  Attempting to fetch src_tool_omniidl_cxx_cccp_config-darwin.h.diff from http://freefr.dl.sourceforge.net/omniorb
--->  Attempting to fetch src_tool_omniidl_cxx_cccp_config-darwin.h.diff from http://switch.dl.sourceforge.net/omniorb
--->  Attempting to fetch src_tool_omniidl_cxx_cccp_config-darwin.h.diff from http://lil.fr.distfiles.macports.org/omniORB
--->  Attempting to fetch src_tool_omniidl_cxx_cccp_config-darwin.h.diff from http://kent.dl.sourceforge.net/omniorb
--->  Attempting to fetch src_tool_omniidl_cxx_cccp_config-darwin.h.diff from http://heanet.dl.sourceforge.net/omniorb
--->  Attempting to fetch src_tool_omniidl_cxx_cccp_config-darwin.h.diff from http://garr.dl.sourceforge.net/omniorb
--->  Attempting to fetch src_tool_omniidl_cxx_cccp_config-darwin.h.diff from http://nue.de.distfiles.macports.org/macports/distfiles/omniORB
--->  Attempting to fetch src_tool_omniidl_cxx_cccp_config-darwin.h.diff from http://fco.it.distfiles.macports.org/mirrors/macports-distfiles/omniORB
--->  Attempting to fetch src_tool_omniidl_cxx_cccp_config-darwin.h.diff from http://optimate.dl.sourceforge.net/omniorb
--->  Attempting to fetch src_tool_omniidl_cxx_cccp_config-darwin.h.diff from http://nchc.dl.sourceforge.net/omniorb
--->  Attempting to fetch src_tool_omniidl_cxx_cccp_config-darwin.h.diff from http://aarnet.au.distfiles.macports.org/pub/macports/mpdistfiles/omniORB
--->  Attempting to fetch src_tool_omniidl_cxx_cccp_config-darwin.h.diff from http://internode.dl.sourceforge.net/omniorb
--->  Attempting to fetch src_tool_omniidl_cxx_cccp_config-darwin.h.diff from http://citylan.dl.sourceforge.net/omniorb
--->  Attempting to fetch src_tool_omniidl_cxx_cccp_config-darwin.h.diff from http://aarnet.dl.sourceforge.net/omniorb
--->  Attempting to fetch src_tool_omniidl_cxx_cccp_config-darwin.h.diff from http://ufpr.dl.sourceforge.net/omniorb
--->  Attempting to fetch src_tool_omniidl_cxx_cccp_config-darwin.h.diff from http://her.gr.distfiles.macports.org/mirrors/macports/mpdistfiles/omniORB
--->  Attempting to fetch src_tool_omniidl_cxx_cccp_config-darwin.h.diff from http://waix.dl.sourceforge.net/omniorb
--->  Attempting to fetch src_tool_omniidl_cxx_cccp_config-darwin.h.diff from http://jog.id.distfiles.macports.org/macports/mpdistfiles/omniORB
--->  Attempting to fetch src_tool_omniidl_cxx_cccp_config-darwin.h.diff from http://cjj.kr.distfiles.macports.org/omniORB
--->  Attempting to fetch src_tool_omniidl_cxx_cccp_config-darwin.h.diff from http://netcologne.dl.sourceforge.net/omniorb
--->  Attempting to fetch src_tool_omniidl_cxx_cccp_config-darwin.h.diff from http://svn.macports.org/repository/macports/distfiles/omniORB
Error: org.macports.fetch for port omniORB returned: fetch failed

comment:11 Changed 10 years ago by dershow

Any idea what it can't find this patch file now, but apparently, could find it before? Is it looking for a different version to go with 4.2? Is there a 4.2 patch that is necessary?

comment:12 in reply to:  11 ; Changed 10 years ago by pixilla (Bradley Giesbrecht)

Replying to dersh@…:

Any idea what it can't find this patch file now, but apparently, could find it before? Is it looking for a different version to go with 4.2? Is there a 4.2 patch that is necessary?

I made the diff with svn so I'll guess that is a new patch file that I did not run "svn add" on. Fix on the way.

Last edited 10 years ago by pixilla (Bradley Giesbrecht) (previous) (diff)

comment:13 in reply to:  12 Changed 10 years ago by pixilla (Bradley Giesbrecht)

Replying to pixilla@…:

Replying to dersh@…:

Any idea what it can't find this patch file now, but apparently, could find it before? Is it looking for a different version to go with 4.2? Is there a 4.2 patch that is necessary?

I made the diff with svn so I'll guess that is a new patch file that I did not run "svn add" on. Fix on the way.

That wasn't it.

Does the patch file exist and is it readable:

ls -la $(port dir omniORB)/files/src_tool_omniidl_cxx_cccp_config-darwin.h.diff

comment:14 Changed 10 years ago by dershow

No, it doesn't exist. "No such file or directory" But, I didn't modify my Portfile directly. Instead, I used a local port repository and copied and patched the Portfile there. (I believe that is the suggested way to do this). So, port dir omniORB returns the path to my local version. However, my standard macport install does contain this file in: /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/devel/omniORB/files So, I just tried to copy the two files from files: include_omniORB4_CORBA_sysdep.h.diff src_tool_omniidl_cxx_cccp_config-darwin.h.diff to my local repository. It then does not try to download the diff file, and it does now download omniORB-4.2.0.tar.bz2 and start to build, but the build fails. Here is the end of the log file:

:info:build /usr/bin/clang++ -c -pipe -Os -arch x86_64 -stdlib=libc++ -fno-common  -arch x86_64 -I/opt/local/include -I.. -I./.. -I../../../../include/omniORB4/internal -I../../../../include/omniORB4/internal  -DUSE_omniORB_logStream -D_OMNIORB_LIBRARY -DOMNIORB_VERSION_STRING='"4.2.0"' -DOMNIORB_VERSION_HEX='0x040200F0' -DCONFIG_DEFAULT_LOCATION='"/opt/local/etc/omniORB.cfg"' -DCONFIG_ENV='"OMNIORB_CONFIG"' -DUnixArchitecture -I. -I. -I../../../../include -I../../../../include -D__OSVERSION__=1 -D__darwin__ -D__x86_64__ -o static/callDescriptor.o callDescriptor.cc
:info:build In file included from callDescriptor.cc:42:
:info:build In file included from ../../../../include/omniORB4/internal/omniCurrent.h:38:
:info:build ../../../../include/omniORB4/internal/orbParameters.h:307:30: error: unknown type name 'omni_time_t'
:info:build _CORBA_MODULE_VAR _core_attr omni_time_t clientCallTimeOutPeriod;
:info:build                              ^
:info:build ../../../../include/omniORB4/internal/orbParameters.h:315:30: error: unknown type name 'omni_time_t'
:info:build _CORBA_MODULE_VAR _core_attr omni_time_t clientConnectTimeOutPeriod;
:info:build                              ^
:info:build ../../../../include/omniORB4/internal/orbParameters.h:456:30: error: unknown type name 'omni_time_t'
:info:build _CORBA_MODULE_VAR _core_attr omni_time_t serverCallTimeOutPeriod;
:info:build                              ^
:info:build In file included from callDescriptor.cc:42:
:info:build ../../../../include/omniORB4/internal/omniCurrent.h:84:16: error: unknown type name 'omni_time_t'
:info:build   inline const omni_time_t&  timeout()          { return pd_timeout;          }
:info:build                ^
:info:build ../../../../include/omniORB4/internal/omniCurrent.h:99:32: error: unknown type name 'omni_time_t'
:info:build   inline void setTimeout(const omni_time_t& t)
:info:build                                ^
:info:build ../../../../include/omniORB4/internal/omniCurrent.h:110:33: error: unknown type name 'omni_time_t'
:info:build   inline void setDeadline(const omni_time_t& t)
:info:build                                 ^
:info:build ../../../../include/omniORB4/internal/omniCurrent.h:122:3: error: unknown type name 'omni_time_t'
:info:build   omni_time_t         pd_timeout;
:info:build   ^
:info:build callDescriptor.cc:50:56: error: no member named 'sd_interceptor_call' in 'omniCallDescriptor'
:info:build omniCallDescriptor::LocalCallFn    omniCallDescriptor::sd_interceptor_call  = 0;
:info:build                                    ~~~~~~~~~~~~~~~~~~~~^
:info:build callDescriptor.cc:51:21: error: no type named 'InterceptorFn' in 'omniCallDescriptor'
:info:build omniCallDescriptor::InterceptorFn* omniCallDescriptor::sd_interceptor_stack = 0;
:info:build ~~~~~~~~~~~~~~~~~~~~^
:info:build callDescriptor.cc:51:56: error: no member named 'sd_interceptor_stack' in 'omniCallDescriptor'
:info:build omniCallDescriptor::InterceptorFn* omniCallDescriptor::sd_interceptor_stack = 0;
:info:build                                    ~~~~~~~~~~~~~~~~~~~~^
:info:build callDescriptor.cc:135:21: error: out-of-line definition of 'setupInterception' does not match any declaration in 'omniCallDescriptor'
:info:build omniCallDescriptor::setupInterception(omniCallDescriptor* cd,
:info:build                     ^~~~~~~~~~~~~~~~~
:info:build callDescriptor.cc:138:7: error: no member named 'pd_interceptor_stack' in 'omniCallDescriptor'
:info:build   cd->pd_interceptor_stack = sd_interceptor_stack;
:info:build   ~~  ^
:info:build callDescriptor.cc:139:7: error: no member named 'interceptedCall' in 'omniCallDescriptor'
:info:build   cd->interceptedCall(servant);
:info:build   ~~  ^
:info:build callDescriptor.cc:144:21: error: out-of-line definition of 'addInterceptor' does not match any declaration in 'omniCallDescriptor'
:info:build omniCallDescriptor::addInterceptor(omniCallDescriptor::LocalCallFn fn)
:info:build                     ^~~~~~~~~~~~~~
:info:build callDescriptor.cc:147:3: error: unknown type name 'InterceptorFn'
:info:build   InterceptorFn* entry = new InterceptorFn;
:info:build   ^
:info:build callDescriptor.cc:147:30: error: unknown type name 'InterceptorFn'
:info:build   InterceptorFn* entry = new InterceptorFn;
:info:build                              ^
:info:build callDescriptor.cc:155:21: error: out-of-line definition of 'removeInterceptor' does not match any declaration in 'omniCallDescriptor'
:info:build omniCallDescriptor::removeInterceptor(omniCallDescriptor::LocalCallFn fn)
:info:build                     ^~~~~~~~~~~~~~~~~
:info:build callDescriptor.cc:157:3: error: unknown type name 'InterceptorFn'
:info:build   InterceptorFn** prev  = &sd_interceptor_stack;
:info:build   ^
:info:build callDescriptor.cc:158:3: error: unknown type name 'InterceptorFn'
:info:build   InterceptorFn*  entry = sd_interceptor_stack;
:info:build   ^
:info:build fatal error: too many errors emitted, stopping now [-ferror-limit=]
:info:build 20 errors generated.
:info:build make[4]: *** [static/callDescriptor.o] Error 1
:info:build make[3]: *** [export] Error 1
:info:build make[2]: *** [export] Error 1
:info:build make[1]: *** [export] Error 1
:info:build make: *** [all] Error 1
:info:build make: Leaving directory `/opt/local/var/macports/build/_Users_adershowitz_Programming_ports_devel_omniORB/omniORB/work/omniORB-4.2.0'
:info:build Command failed:  cd "/opt/local/var/macports/build/_Users_adershowitz_Programming_ports_devel_omniORB/omniORB/work/omniORB-4.2.0" && /usr/bin/make -j8 -w all 
:info:build Exit code: 2
:error:build org.macports.build for port omniORB returned: command execution failed
:debug:build Error code: CHILDSTATUS 15502 2
:debug:build Backtrace: command execution failed
    while executing
"system -nice 0 $fullcmdstring"
    ("eval" body line 1)
    invoked from within
"eval system $notty $nice \$fullcmdstring"
    invoked from within
"command_exec build"
    (procedure "portbuild::build_main" line 8)
    invoked from within
"portbuild::build_main org.macports.build"
    ("eval" body line 1)
    invoked from within
"eval $procedure $targetname"
:info:build Warning: targets not executed for omniORB: org.macports.install org.macports.build org.macports.destroot
:notice:build Please see the log file for port omniORB for details:

I can add the full log file if that might help.

comment:15 Changed 10 years ago by dershow

It seems that I need the new versions of include_omniORB4_CORBA_sysdep.h.diff and src_tool_omniidl_cxx_cccp_config-darwin.h.diff. Those should probably changed with the upgrade, and my attempt at using the old ones seems to have failed. Did you generate these files? Were you able to get it to build?

comment:16 Changed 10 years ago by mojca (Mojca Miklavec)

Cc: tlockhart1976@… added
Version: 2.1.2

Changed 10 years ago by lockhart (Thomas Lockhart)

Attachment: Portfile.2.diff added

Use the correct version of python to install libraries. Bump default version of python to 2.7. Move livecheck to outside the subport code.

comment:17 Changed 10 years ago by lockhart (Thomas Lockhart)

Since my email address changed I was not hearing about updates to this patch. The Portfile.diff I just posted should be applied to the current repo and this seems to fix the problem of python executable mismatch. I'm looking forward to closing this one out!

comment:18 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

I'm looking into this.

The livecheck should not be changed from the way it is. We want actions like "port livecheck maintainer:nomaintainer" to check each port only once. This is accomplished by only acting when ${name} == ${subport} like the port already does.

Simply removing the python.default_version 24 line is all that's needed to get the default to be 27.

comment:19 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.