#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)

build_fail.txt (699.4 KB) - added by sck-nogas (Scott C. Kennedy) 15 months ago.
Debug output from port -d install gr-osmosdr

Download all attachments as: .zip

Change History (6)

Changed 15 months ago by sck-nogas (Scott C. Kennedy)

Attachment: build_fail.txt added

Debug output from port -d install gr-osmosdr

comment:1 Changed 15 months ago by jmroot (Joshua Root)

Owner: set to michaelld
Status: newassigned

comment:2 Changed 15 months ago by Patater (Jaeden Amero)

Cc: Patater added

comment:3 Changed 15 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 15 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 15 months ago by jmroot (Joshua Root)

Resolution: duplicate
Status: assignedclosed
Note: See TracTickets for help on using tickets.