h-vetinari opened a new issue, #43800:
URL: https://github.com/apache/arrow/issues/43800

   ### Describe the bug, including details regarding any error messages, 
version, and platform.
   
   This is probably related to some ambient change, because it happened across 
the board from 17.x down to 14.x.
   
   Failure looks like
   <details>
   
   ```
   =================================== FAILURES 
===================================
   _________________________ test_cpp_extension_in_python 
_________________________
   
   tmpdir = 
local('/private/var/folders/rw/0gwtqtr55hdbnkwp7bt6pkb00000gn/T/pytest-of-runner/pytest-0/test_cpp_extension_in_python0')
   
       @pytest.mark.cython
       def test_cpp_extension_in_python(tmpdir):
           from .test_cython import (
               setup_template, compiler_opts, test_ld_path, test_util, here)
           with tmpdir.as_cwd():
               # Set up temporary workspace
               pyx_file = 'extensions.pyx'
               shutil.copyfile(os.path.join(here, pyx_file),
                               os.path.join(str(tmpdir), pyx_file))
               # Create setup.py file
               setup_code = setup_template.format(pyx_file=pyx_file,
                                                  compiler_opts=compiler_opts,
                                                  test_ld_path=test_ld_path)
               with open('setup.py', 'w') as f:
                   f.write(setup_code)
       
               subprocess_env = test_util.get_modified_env_with_pythonpath()
       
               # Compile extension module
   >           subprocess.check_call([sys.executable, 'setup.py',
                                      'build_ext', '--inplace'],
                                     env=subprocess_env)
   
   pyarrow/tests/test_extension_type.py:1342: 
   _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
_ _ 
   
   popenargs = (['$PREFIX/bin/python3.12', 'setup.py', 'build_ext', 
'--inplace'],)
   kwargs = {'env': {'ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE': 
'/Users/runner/actionarchivecache', 'AGENT_ACCEPTTEEEULA': 'True', 
'AGENT_BUILDDIRECTORY': '/Users/runner/work/1', 'AGENT_CLOUDID': 
'62d17dae-1107-4d91-a05c-4105b32adb0e', ...}}
   retcode = 1
   cmd = ['$PREFIX/bin/python3.12', 'setup.py', 'build_ext', '--inplace']
   
       def check_call(*popenargs, **kwargs):
           """Run command with arguments.  Wait for command to complete.  If
           the exit code was zero then return, otherwise raise
           CalledProcessError.  The CalledProcessError object will have the
           return code in the returncode attribute.
     
           The arguments are the same as for the call function.  Example:
       
           check_call(["ls", "-l"])
           """
           retcode = call(*popenargs, **kwargs)
           if retcode:
               cmd = kwargs.get("args")
               if cmd is None:
                   cmd = popenargs[0]
   >           raise CalledProcessError(retcode, cmd)
   E           subprocess.CalledProcessError: Command 
'['$PREFIX/bin/python3.12', 'setup.py', 'build_ext', '--inplace']' returned 
non-zero exit status 1.
   
   ../subprocess.py:413: CalledProcessError
   ----------------------------- Captured stdout call 
-----------------------------
   Compiling extensions.pyx because it changed.
   [1/1] Cythonizing extensions.pyx
   Extension module: <setuptools.extension.Extension('extensions') at 
0x115665280> ['$PREFIX/lib/python3.12/site-packages/numpy/_core/include', 
'$PREFIX/lib/python3.12/site-packages/pyarrow/include'] ['arrow_python', 
'arrow'] ['$PREFIX/lib/python3.12/site-packages/pyarrow']
   running build_ext
   building 'extensions' extension
   creating build
   creating build/temp.macosx-10.13-x86_64-cpython-312
   clang++ -fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -O2 
-Wall -fPIC -O2 -isystem $PREFIX/include -fPIC -O2 -isystem $PREFIX/include 
-I$PREFIX/lib/python3.12/site-packages/numpy/_core/include 
-I$PREFIX/lib/python3.12/site-packages/pyarrow/include 
-I$PREFIX/include/python3.12 -c extensions.cpp -o 
build/temp.macosx-10.13-x86_64-cpython-312/extensions.o -std=c++17
   creating build/lib.macosx-10.13-x86_64-cpython-312
   clang++ -fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -O2 
-Wall -fPIC -O2 -isystem $PREFIX/include -fPIC -O2 -isystem $PREFIX/include 
-bundle -undefined dynamic_lookup 
build/temp.macosx-10.13-x86_64-cpython-312/extensions.o 
-L$PREFIX/lib/python3.12/site-packages/pyarrow -larrow_python -larrow -o 
build/lib.macosx-10.13-x86_64-cpython-312/extensions.cpython-312-darwin.so
   ----------------------------- Captured stderr call 
-----------------------------
   [removed compilation warnings]
   
   27 warnings generated.
   ld: library not found for -larrow
   clang: error: linker command failed with exit code 1 (use -v to see 
invocation)
   error: command '/usr/bin/clang++' failed with exit code 1
   ```
   </details>
   
   Looking at the link path, it looks like there's only 
`-L$PREFIX/lib/python3.12/site-packages/pyarrow` being passed, whereas 
`libarrow.{so,dylib}` is actually in `$PREFIX/lib`. It's IMO possible/likely 
that this is a change or regression in setuptools (the aboved used 72.2.0).
   
   ### Component(s)
   
   Packaging, Python


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@arrow.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to