Opened 4 years ago

Closed 2 years ago

#62700 closed defect (fixed)

glib2 @2.62.5 +universal is missing some i386 bits

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by: mascguy (Christopher Nielsen)
Priority: Normal Milestone:
Component: ports Version: 2.6.4
Keywords: pending Cc: barracuda156, evanmiller (Evan Miller)
Port: glib2

Description (last modified by mascguy (Christopher Nielsen))

glib2 @2.62.5 +universal (meson build system) installs and appears to be universal (all the installed binaries are both x86_64 and i386 according to lipo -info) but trying to build something universal against it (litebrowser) leads to this error:

Undefined symbols for architecture i386:
  "Gio::InputStream::read(void*, unsigned int)", referenced from:
      html_widget::load_text_file(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) in html_widget.cpp.o
  "Gio::MemoryInputStream::add_data(void const*, int)", referenced from:
      http_loader::curlWriteFunction(void*, unsigned long, unsigned long, void*) in http_loader.cpp.o
ld: symbol(s) not found for architecture i386

But it works fine with glib2 @2.58.3_1 +universal (autoconf build system).

Change History (9)

comment:1 Changed 3 years ago by kencu (Ken)

That std::__1:* business often means that something was not built against the right stdlib...

comment:2 Changed 3 years ago by kencu (Ken)

I have been running (on my 10.6 system) glib2-devel +universal +x11 since I first completed the upgrade in February. I have built a great many things universal since that time against glib2-devel without trouble.

Perhaps this is something specific to litebrowser? Let me see.

comment:3 Changed 3 years ago by kencu (Ken)

Well, at present at least, litebrowser installs without issue +universal for me on 10.6 against glib2-devel:

$ port -v installed litebrowser glib2-devel
The following ports are currently installed:
  glib2-devel @2.62.5_0+universal+x11 (active) requested_variants='+universal+x11' platform='darwin 10' archs='i386 x86_64' date='2021-02-11T11:34:05-0800'
  litebrowser @0.0.0-20201026_0+universal (active) requested_variants='+universal' platform='darwin 10' archs='i386 x86_64' date='2021-08-06T19:41:16-0700'

So whatever the issue you had, Ryan, it would not seem to be systemic or insurmountable.

comment:4 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

I would have been running 10.13.6 at the time I filed this report.

I'm now running 10.15.7 so I can't address universal build issues there.

comment:5 Changed 2 years ago by mascguy (Christopher Nielsen)

Owner: set to mascguy
Status: newassigned

comment:6 Changed 2 years ago by mascguy (Christopher Nielsen)

Cc: barracuda156 evanmiller added
Description: modified (diff)
Port: glib2 added; glib2-devel removed
Summary: glib2-devel @2.62.5 +universal is missing some i386 bitsglib2 @2.62.5 +universal is missing some i386 bits

Sergey/Evan/Anyone, are you folks seeing any universal-related issues for PPC, with the GLib2 port you're currently running on your legacy hardware? And please confirm which one you have installed.

comment:7 Changed 2 years ago by mascguy (Christopher Nielsen)

Keywords: pending added

comment:8 Changed 2 years ago by mascguy (Christopher Nielsen)

Since we're now approaching parity with upstream, I'm re-testing this scenario for all three of our glib2-related ports. Final results to follow soon.

comment:9 Changed 2 years ago by mascguy (Christopher Nielsen)

Resolution: fixed
Status: assignedclosed

Everything still works, with all three of our latest glib2* ports. For each iteration, I rebuilt ports dependent on glib2*, to better validate that all is well. (As well as rebuilding litebrowser each time, as well.)

To be consistent with Ken's testing from 12 months ago, this was done on 10.6.8 Intel.

Round one, using glib2-upstream:

$ port -v installed litebrowser glib2-upstream
The following ports are currently installed:
  glib2-upstream @2.72.3_0+universal+x11 (active) requested_variants='+universal' platform='darwin 10' archs='i386 x86_64' date='2022-08-10T14:35:19-0400'
  litebrowser @0.0.0-20211116_0+universal (active) requested_variants='+universal' platform='darwin 10' archs='i386 x86_64' date='2022-08-10T17:50:53-0400'

Round two, using glib2:

$ port -v installed litebrowser glib2
The following ports are currently installed:
  glib2 @2.68.4_0+universal+x11 (active) requested_variants='+universal' platform='darwin 10' archs='i386 x86_64' date='2022-08-10T18:07:18-0400'
  litebrowser @0.0.0-20211116_0+universal (active) requested_variants='+universal' platform='darwin 10' archs='i386 x86_64' date='2022-08-10T19:12:50-0400'

Round three, with glib2-devel:

$ port -v installed litebrowser glib2-devel
The following ports are currently installed:
  glib2-devel @2.70.5_0+universal+x11 (active) requested_variants='+universal' platform='darwin 10' archs='i386 x86_64' date='2022-08-10T19:19:28-0400'
  litebrowser @0.0.0-20211116_0+universal (active) requested_variants='+universal' platform='darwin 10' archs='i386 x86_64' date='2022-08-10T19:21:19-0400'
Note: See TracTickets for help on using tickets.