Opened 22 months ago
Closed 22 months ago
#66726 closed defect (duplicate)
gr-osmosdr fails to build due to errors with SWIGPY_SLICEOBJECT
Reported by: | sck-nogas (Scott C. Kennedy) | Owned by: | michaelld (Michael Dickens) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.8.0 |
Keywords: | ventura | Cc: | Patater (Jaeden Amero) |
Port: | gr-osmosdr |
Description
Build failed while re-installing all ports after upgrading.
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_gr-osmosdr/gr-osmosdr/work/build/swig/CMakeFiles/osmosdr_swig.dir/osmosdr_swigPYTHON_wrap.cxx:5077:152: error: unknown type name 'SWIGPY_SLICEOBJECT' SWIGINTERN std::vector< std::string,std::allocator< std::string > > *std_vector_Sl_std_string_Sg____getitem____SWIG_0(std::vector< std::string > *self,SWIGPY_SLICEOBJECT *slice){ ^ /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_gr-osmosdr/gr-osmosdr/work/build/swig/CMakeFiles/osmosdr_swig.dir/osmosdr_swigPYTHON_wrap.cxx:5088:99: error: unknown type name 'SWIGPY_SLICEOBJECT' SWIGINTERN void std_vector_Sl_std_string_Sg____setitem____SWIG_0(std::vector< std::string > *self,SWIGPY_SLICEOBJECT *slice,std::vector< std::string,std::allocator< std::string > > const &v){ ^ /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_gr-osmosdr/gr-osmosdr/work/build/swig/CMakeFiles/osmosdr_swig.dir/osmosdr_swigPYTHON_wrap.cxx:5099:99: error: unknown type name 'SWIGPY_SLICEOBJECT' SWIGINTERN void std_vector_Sl_std_string_Sg____setitem____SWIG_1(std::vector< std::string > *self,SWIGPY_SLICEOBJECT *slice){ ^ /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_gr-osmosdr/gr-osmosdr/work/build/swig/CMakeFiles/osmosdr_swig.dir/osmosdr_swigPYTHON_wrap.cxx:5110:99: error: unknown type name 'SWIGPY_SLICEOBJECT' SWIGINTERN void std_vector_Sl_std_string_Sg____delitem____SWIG_1(std::vector< std::string > *self,SWIGPY_SLICEOBJECT *slice){ ^ /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_gr-osmosdr/gr-osmosdr/work/build/swig/CMakeFiles/osmosdr_swig.dir/osmosdr_swigPYTHON_wrap.cxx:5749:176: error: unknown type name 'SWIGPY_SLICEOBJECT' SWIGINTERN std::vector< osmosdr::device_t,std::allocator< osmosdr::device_t > > *std_vector_Sl_osmosdr_device_t_Sg____getitem____SWIG_0(std::vector< osmosdr::device_t > *self,SWIGPY_SLICEOBJECT *slice){ ^ /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_gr-osmosdr/gr-osmosdr/work/build/swig/CMakeFiles/osmosdr_swig.dir/osmosdr_swigPYTHON_wrap.cxx:5760:111: error: unknown type name 'SWIGPY_SLICEOBJECT' SWIGINTERN void std_vector_Sl_osmosdr_device_t_Sg____setitem____SWIG_0(std::vector< osmosdr::device_t > *self,SWIGPY_SLICEOBJECT *slice,std::vector< osmosdr::device_t,std::allocator< osmosdr::device_t > > const &v){ ^ /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_gr-osmosdr/gr-osmosdr/work/build/swig/CMakeFiles/osmosdr_swig.dir/osmosdr_swigPYTHON_wrap.cxx:5771:111: error: unknown type name 'SWIGPY_SLICEOBJECT' SWIGINTERN void std_vector_Sl_osmosdr_device_t_Sg____setitem____SWIG_1(std::vector< osmosdr::device_t > *self,SWIGPY_SLICEOBJECT *slice){ ^ /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_gr-osmosdr/gr-osmosdr/work/build/swig/CMakeFiles/osmosdr_swig.dir/osmosdr_swigPYTHON_wrap.cxx:5782:111: error: unknown type name 'SWIGPY_SLICEOBJECT' SWIGINTERN void std_vector_Sl_osmosdr_device_t_Sg____delitem____SWIG_1(std::vector< osmosdr::device_t > *self,SWIGPY_SLICEOBJECT *slice){ ^ /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_gr-osmosdr/gr-osmosdr/work/build/swig/CMakeFiles/osmosdr_swig.dir/osmosdr_swigPYTHON_wrap.cxx:5858:172: error: unknown type name 'SWIGPY_SLICEOBJECT' SWIGINTERN std::vector< osmosdr::range_t,std::allocator< osmosdr::range_t > > *std_vector_Sl_osmosdr_range_t_Sg____getitem____SWIG_0(std::vector< osmosdr::range_t > *self,SWIGPY_SLICEOBJECT *slice){ ^ /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_gr-osmosdr/gr-osmosdr/work/build/swig/CMakeFiles/osmosdr_swig.dir/osmosdr_swigPYTHON_wrap.cxx:5869:109: error: unknown type name 'SWIGPY_SLICEOBJECT' SWIGINTERN void std_vector_Sl_osmosdr_range_t_Sg____setitem____SWIG_0(std::vector< osmosdr::range_t > *self,SWIGPY_SLICEOBJECT *slice,std::vector< osmosdr::range_t,std::allocator< osmosdr::range_t > > const &v){ ^ /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_gr-osmosdr/gr-osmosdr/work/build/swig/CMakeFiles/osmosdr_swig.dir/osmosdr_swigPYTHON_wrap.cxx:5880:109: error: unknown type name 'SWIGPY_SLICEOBJECT' SWIGINTERN void std_vector_Sl_osmosdr_range_t_Sg____setitem____SWIG_1(std::vector< osmosdr::range_t > *self,SWIGPY_SLICEOBJECT *slice){ ^ /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_gr-osmosdr/gr-osmosdr/work/build/swig/CMakeFiles/osmosdr_swig.dir/osmosdr_swigPYTHON_wrap.cxx:5891:109: error: unknown type name 'SWIGPY_SLICEOBJECT' SWIGINTERN void std_vector_Sl_osmosdr_range_t_Sg____delitem____SWIG_1(std::vector< osmosdr::range_t > *self,SWIGPY_SLICEOBJECT *slice){ ^ /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_gr-osmosdr/gr-osmosdr/work/build/swig/CMakeFiles/osmosdr_swig.dir/osmosdr_swigPYTHON_wrap.cxx:6640:3: error: unknown type name 'SWIGPY_SLICEOBJECT' SWIGPY_SLICEOBJECT *arg2 = (SWIGPY_SLICEOBJECT *) 0 ; ^ /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_gr-osmosdr/gr-osmosdr/work/build/swig/CMakeFiles/osmosdr_swig.dir/osmosdr_swigPYTHON_wrap.cxx:6640:31: error: use of undeclared identifier 'SWIGPY_SLICEOBJECT' SWIGPY_SLICEOBJECT *arg2 = (SWIGPY_SLICEOBJECT *) 0 ; ^ /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_gr-osmosdr/gr-osmosdr/work/build/swig/CMakeFiles/osmosdr_swig.dir/osmosdr_swigPYTHON_wrap.cxx:6640:51: error: expected expression SWIGPY_SLICEOBJECT *arg2 = (SWIGPY_SLICEOBJECT *) 0 ; ^ /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_gr-osmosdr/gr-osmosdr/work/build/swig/CMakeFiles/osmosdr_swig.dir/osmosdr_swigPYTHON_wrap.cxx:6655:13: error: use of undeclared identifier 'SWIGPY_SLICEOBJECT' arg2 = (SWIGPY_SLICEOBJECT *) swig_obj[1]; ^ /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_gr-osmosdr/gr-osmosdr/work/build/swig/CMakeFiles/osmosdr_swig.dir/osmosdr_swigPYTHON_wrap.cxx:6655:33: error: expected expression arg2 = (SWIGPY_SLICEOBJECT *) swig_obj[1]; ^ /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_gr-osmosdr/gr-osmosdr/work/build/swig/CMakeFiles/osmosdr_swig.dir/osmosdr_swigPYTHON_wrap.cxx:6685:3: error: unknown type name 'SWIGPY_SLICEOBJECT' SWIGPY_SLICEOBJECT *arg2 = (SWIGPY_SLICEOBJECT *) 0 ; ^ /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_gr-osmosdr/gr-osmosdr/work/build/swig/CMakeFiles/osmosdr_swig.dir/osmosdr_swigPYTHON_wrap.cxx:6685:31: error: use of undeclared identifier 'SWIGPY_SLICEOBJECT' SWIGPY_SLICEOBJECT *arg2 = (SWIGPY_SLICEOBJECT *) 0 ; ^ fatal error: too many errors emitted, stopping now [-ferror-limit=]
Attachments (1)
Change History (6)
Changed 22 months ago by sck-nogas (Scott C. Kennedy)
Attachment: | build_fail.txt added |
---|
comment:1 Changed 22 months ago by jmroot (Joshua Root)
Owner: | set to michaelld |
---|---|
Status: | new → assigned |
comment:2 Changed 22 months ago by Patater (Jaeden Amero)
Cc: | Patater added |
---|
comment:3 Changed 22 months ago by kencu (Ken)
To get started on this, first bladeRF doesn't extract with the new base changes. This fixed that:
% git diff ../bladeRF/Portfile diff --git a/science/bladeRF/Portfile b/science/bladeRF/Portfile index fe519d654b9..11aff2ed2ce 100644 --- a/science/bladeRF/Portfile +++ b/science/bladeRF/Portfile @@ -49,20 +49,9 @@ checksums ${bladeRF_distfile} \ sha256 53670c8f0a9feaa774d8c3067ba201b31c0197294bdd00a1795c72a0368aac40 \ size 44184797 -post-extract { +worksrcdir Nuand-bladeRF-[string range ${github.version} 0 6] - # roughly replicate what's going on in the github PG post-extract - # for the main tarball extract directory name. It doesn't work - # here because we're using tags. - if {[file exists [glob -nocomplain ${workpath}/${github.author}-${github.project}-*]] && \ - [file isdirectory [glob -nocomplain ${workpath}/${github.author}-${github.project}-*]]} { - ui_debug "move [glob ${workpath}/${github.author}-${github.project}-*] ${workpath}/${distname}" - move [glob ${workpath}/${github.author}-${github.project}-*] ${workpath}/${distname} - } else { - # tarball is not "${github.author}-${github.project}-*" - ui_error "\n\NError: \${worksrcpath} for 'bladeRF' does not exist after extracting distfiles. This might indicate that the author or project is different than set in the Portfile due to a rename at GitHub. Please examine the extracted directory in ${workpath} and try to correct the Portfile by either changing the author or project or adding the worksrcdir option with the correct directory name.\n" - return -code error "Unexpected github tarball extract." - } +post-extract { if {[file exists [glob -nocomplain ${workpath}/${no_OS_github_author}-${no_OS_github_project}-*]] && \
Then it turns out that gr-osmosdr doesn't use SWIG any more. It was removed a few months ago.
https://github.com/osmocom/gr-osmosdr/commit/0d727b3ef8ea56132fd538c9aa54b671950e1297
But updating the port to the current version fails because the gnuradio port is not new enough to support it (3.9 is required, 3.8.5.0 is available).
So gnuradio will need to be updated to 3.9+ before gr-osmosdr can be updated.
AND right about here I realized this was getting too complicated for my puttering, and I had best leave this with Michael, who actually knows something about gnuradio.
comment:4 Changed 22 months ago by michaelld (Michael Dickens)
Thanks for your work here, @kencu. GR SWIG was removed in 3.9 in favor of (IIRC) PyBIND11. GR3.8 is pretty old now, but we haven't updated it because it still works & has broad compatibility with GR OOT modules. Virtually all of the GR OOT modules would also need to be updated, and many of those have never been ported to GR3.9 or later; some have, some haven't. My best guess as to the actual issue is a change in SWIG4, but I haven't had time to track down the root case to even know where to start fixing it. SWIG generates crazy-complicated code that is really difficult to correlate back with the source used to generate it. All of this said, I'll give this a try ... I see the same issue on my MP install, so at least this one is easy to generate!
comment:5 Changed 22 months ago by jmroot (Joshua Root)
Resolution: | → duplicate |
---|---|
Status: | assigned → closed |
Debug output from port -d install gr-osmosdr