Opened 6 months ago

Last modified 6 months ago

#69932 new defect

py312-pyarrow: FormatTime string_view not found when importing vegafusion

Reported by: jowens (John Owens) Owned by:
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: py312-pyarrow abseil apache-arrow

Description

I am trying to track down an ImportError with what appears to be pyarrow. This, um, used to work, which is surely the most frustrating thing for a developer to hear. (Sorry.)

Here's the backtrace. Perhaps this is an abseil issue?

Traceback (most recent call last):
  File "./nvperf.py", line 15, in <module>
    import vegafusion as vf
  File "/Users/jowens/Library/Python/3.12/lib/python/site-packages/vegafusion/__init__.py", line 1, in <module>
    from .runtime import runtime
  File "/Users/jowens/Library/Python/3.12/lib/python/site-packages/vegafusion/runtime.py", line 3, in <module>
    import pyarrow as pa
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/pyarrow/__init__.py", line 65, in <module>
    import pyarrow.lib as _lib
ImportError: dlopen(/opt/local/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/pyarrow/lib.cpython-312-darwin.so, 0x0002): Symbol not found: __ZN4absl12lts_2024011610FormatTimeENS0_11string_viewENS0_4TimeENS0_8TimeZoneE
  Referenced from: <CD063FAB-C5F0-3295-AA51-ECE6EE9CDBA1> /opt/local/lib/libarrow.1300.0.0.dylib
  Expected in:     <42921224-0959-3E0D-BA2B-099ADB608AA7> /opt/local/lib/libabsl_time.2401.0.0.dylib

Change History (5)

comment:1 Changed 6 months ago by jowens (John Owens)

Port: abseil added

comment:2 Changed 6 months ago by ryandesign (Ryan Carsten Schmidt)

Keywords: abseil pyarrow removed
Port: apache-arrow added
  Referenced from: <CD063FAB-C5F0-3295-AA51-ECE6EE9CDBA1> /opt/local/lib/libarrow.1300.0.0.dylib
  Expected in:     <42921224-0959-3E0D-BA2B-099ADB608AA7> /opt/local/lib/libabsl_time.2401.0.0.dylib

apache-arrow was revbumped after the recent abseil update a few weeks ago. Do you have that revision—apache-arrow @13.0.0_9—installed?

Also possible that updating apache-arrow to the latest version would help. 13.0.0 is old; 16.1.0 was released today.

comment:3 Changed 6 months ago by jowens (John Owens)

Yes, that's the version I have installed.

$ port installed | grep apache-arrow
  apache-arrow @13.0.0_9 (active)
$ port installed | grep abseil
  abseil @20240116.2_1 (active)

comment:4 Changed 6 months ago by FlyingSamson

apache-arrow was revbumped after the recent abseil update a few weeks ago

After the last revbump on 2024-04-14 there was another change to abseil on 2024-05-01.

Related PR that, I hope, fixes this issue: https://github.com/macports/macports-ports/pull/23907

comment:5 Changed 6 months ago by jowens (John Owens)

I confirm that rebuilding abseil then all its dependents from source solves the problem. Thank you @FlyingSamson!

Note: See TracTickets for help on using tickets.