[MacPorts] #69643: gstreamer1 @1.24.1_0+universal: linking of temporary binary failed

MacPorts noreply at macports.org
Sun May 26 10:04:50 UTC 2024


#69643: gstreamer1 @1.24.1_0+universal: linking of temporary binary failed
-------------------------+-------------------------------
  Reporter:  thetrial    |      Owner:  barracuda156
      Type:  defect      |     Status:  assigned
  Priority:  Normal      |  Milestone:
 Component:  ports       |    Version:  2.9.1
Resolution:              |   Keywords:  legacy-os, sierra
      Port:  gstreamer1  |
-------------------------+-------------------------------

Comment (by Znapi):

 Ran into this on high sierra. I don't have a patch, but here's the
 kludging I did to get it to compile:

 First, {{{port build gstreamer1 +universal}}}. This will fail, but it will
 leave the build directories.

 In
 {{{/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gnome_gstreamer1/gstreamer1/work/build-i386
 /meson-uninstalled/gstreamer-1.0-uninstalled.pc}}}, add {{{-arch i386}}}
 to the {{{Cflags}}} line at the bottom.

 In
 {{{/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gnome_gstreamer1/gstreamer1/work/build-i386/build.ninja}}},
 replace all instances of {{{--pkg-export}}} with {{{--pkg}}}.

 In {{{/opt/local/lib/gobject-introspection/giscanner/dumper.py}}}, add the
 following at line 282. It is line 282 in my version at least. It is just
 before some code that prints out the entire linker command line, so the
 whole thing looks like this, with my additions marked by pluses:

 {{{
 +        args.insert(1, '-arch')
 +        args.insert(2, 'i386')
         if not self._options.quiet:
             print("g-ir-scanner: link: %s" % (
                 subprocess.list2cmdline(args), ))
             sys.stdout.flush()
 }}}

 Then {{{port destroot gstreamer1 +universal}}} will finish the build and
 destroot it.

 Lastly, undo the changes to {{{dumper.py}}}.

 Now you can run whatever command was failing before and it should get past
 gstreamer. For me, gstreamer1-gst-plugins-base seems to be failing with
 the same issue.

-- 
Ticket URL: <https://trac.macports.org/ticket/69643#comment:10>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list