Opened 5 years ago
Closed 4 years ago
#59191 closed defect (fixed)
pypy: Undefined symbols: "_strnlen"
Reported by: | ryandesign (Ryan Carsten Schmidt) | Owned by: | danchr (Dan Villiom Podlaski Christiansen) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.6.1 |
Keywords: | tiger leopard snowleopard | Cc: | kencu (Ken) |
Port: | pypy |
Description
pypy doesn't build on Snow Leopard because:
Undefined symbols for architecture x86_64: "_strnlen", referenced from: _opened_profile in vmprof_common.o _vmprof_register_virtual_function in vmprof_unix.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
The legacysupport portgroup provides an implementation of strnlen
for older systems. Maybe including that portgroup would help here?
Change History (7)
comment:1 Changed 5 years ago by danchr (Dan Villiom Podlaski Christiansen)
comment:3 Changed 5 years ago by kencu (Ken)
Cc: | kencu added |
---|
comment:4 Changed 5 years ago by kencu (Ken)
adding legacysupport
+PortGroup legacysupport 1.0 +# strnlen +legacysupport.newest_darwin_requires_legacy 10
does get past the stnlen error, but doesn't fix the build, as soon after, we see this:
Executing: cd "/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_lang_pypy/pypy/work/pypy2.7-v7.2.0-src/pypy/goal" && arch -x86_64 /opt/local/lib/pypy-bootstrap/bin/pypy ../../rpython/bin/rpython --batch --verbose --cc=/opt/local/bin/clang-mp-9.0 --opt=jit --make-jobs=4 targetpypystandalone [translation:info] 2.7.10 (3260adbeba4a, Apr 19 2016, 13:10:19) [PyPy 5.1.0 with GCC 4.2.1 Compatible Apple LLVM 5.1 (clang-503.0.40)] [platform:msg] Set platform with 'host' cc=/opt/local/bin/clang-mp-9.0, using cc='/opt/local/bin/clang-mp-9.0', version='Unknown' [translation:info] Translating target as defined by targetpypystandalone [platform:Error] Undefined symbols for architecture x86_64: [platform:Error] "_clock_gettime", referenced from: [platform:Error] _RPyGilAcquireSlowPath in thread.o [platform:Error] ld: symbol(s) not found for architecture x86_64 [platform:Error] clang: error: linker command failed with exit code 1 (use -v to see invocation) Traceback (most recent call last): File "../../rpython/bin/rpython", line 20, in <module> main() File "/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_lang_pypy/pypy/work/pypy2.7-v7.2.0-src/rpython/translator/goal/translate.py", line 217, in main targetspec_dic, translateconfig, config, args = parse_options_and_load_target() File "/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_lang_pypy/pypy/work/pypy2.7-v7.2.0-src/rpython/translator/goal/translate.py", line 155, in parse_options_and_load_target targetspec_dic = load_target(targetspec) File "/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_lang_pypy/pypy/work/pypy2.7-v7.2.0-src/rpython/translator/goal/translate.py", line 97, in load_target mod = __import__(specname) File "targetpypystandalone.py", line 6, in <module> from pypy.interpreter import gateway File "/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_lang_pypy/pypy/work/pypy2.7-v7.2.0-src/pypy/interpreter/gateway.py", line 19, in <module> from pypy.interpreter.eval import Code File "/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_lang_pypy/pypy/work/pypy2.7-v7.2.0-src/pypy/interpreter/eval.py", line 6, in <module> from pypy.interpreter.baseobjspace import W_Root File "/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_lang_pypy/pypy/work/pypy2.7-v7.2.0-src/pypy/interpreter/baseobjspace.py", line 13, in <module> from rpython.rlib.buffer import StringBuffer File "/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_lang_pypy/pypy/work/pypy2.7-v7.2.0-src/rpython/rlib/buffer.py", line 16, in <module> from rpython.rlib import rawstorage File "/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_lang_pypy/pypy/work/pypy2.7-v7.2.0-src/rpython/rlib/rawstorage.py", line 49, in <module> cpuname = detect_cpu.autodetect() File "/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_lang_pypy/pypy/work/pypy2.7-v7.2.0-src/rpython/jit/backend/detect_cpu.py", line 110, in autodetect return detect_model_from_host_platform() File "/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_lang_pypy/pypy/work/pypy2.7-v7.2.0-src/rpython/jit/backend/detect_cpu.py", line 84, in detect_model_from_host_platform from rpython.jit.backend.x86 import detect_feature as feature File "/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_lang_pypy/pypy/work/pypy2.7-v7.2.0-src/rpython/jit/backend/x86/detect_feature.py", line 4, in <module> from rpython.rlib.rmmap import alloc, free File "/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_lang_pypy/pypy/work/pypy2.7-v7.2.0-src/rpython/rlib/rmmap.py", line 11, in <module> from rpython.rlib import rposix File "/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_lang_pypy/pypy/work/pypy2.7-v7.2.0-src/rpython/rlib/rposix.py", line 8, in <module> from rpython.rlib import debug, jit, rstring, rthread, types File "/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_lang_pypy/pypy/work/pypy2.7-v7.2.0-src/rpython/rlib/rthread.py", line 31, in <module> cconfig = rffi_platform.configure(CConfig) File "/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_lang_pypy/pypy/work/pypy2.7-v7.2.0-src/rpython/rtyper/tool/rffi_platform.py", line 215, in configure for name, result in zip(entries, results): File "/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_lang_pypy/pypy/work/pypy2.7-v7.2.0-src/rpython/rtyper/tool/rffi_platform.py", line 240, in configure_entries writer.path, eci, ignore_errors=ignore_errors)) File "/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_lang_pypy/pypy/work/pypy2.7-v7.2.0-src/rpython/rtyper/tool/rffi_platform.py", line 743, in run_example_code output = build_executable_cache(files, eci, ignore_errors=ignore_errors) File "/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_lang_pypy/pypy/work/pypy2.7-v7.2.0-src/rpython/tool/gcc_cache.py", line 28, in build_executable_cache result = platform.execute(platform.compile(c_files, eci)) File "/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_lang_pypy/pypy/work/pypy2.7-v7.2.0-src/rpython/translator/platform/__init__.py", line 58, in compile return self._finish_linking(ofiles, eci, outputfilename, standalone) File "/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_lang_pypy/pypy/work/pypy2.7-v7.2.0-src/rpython/translator/platform/__init__.py", line 235, in _finish_linking return self._link(cc_link, ofiles, largs, standalone, exe_name) File "/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_lang_pypy/pypy/work/pypy2.7-v7.2.0-src/rpython/translator/platform/posix.py", line 60, in _link cwd=str(exe_name.dirpath())) File "/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_lang_pypy/pypy/work/pypy2.7-v7.2.0-src/rpython/translator/platform/__init__.py", line 143, in _execute_c_compiler self._handle_error(returncode, stdout, stderr, outname) File "/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_lang_pypy/pypy/work/pypy2.7-v7.2.0-src/rpython/translator/platform/__init__.py", line 155, in _handle_error raise CompilationError(stdout, stderr) CompilationError: CompilationError(err=""" Undefined symbols for architecture x86_64: "_clock_gettime", referenced from: _RPyGilAcquireSlowPath in thread.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) """) Command failed: cd "/opt/local/var/macports/build/_opt_macportsofficial_macports-ports_lang_pypy/pypy/work/pypy2.7-v7.2.0-src/pypy/goal" && arch -x86_64 /opt/local/lib/pypy-bootstrap/bin/pypy ../../rpython/bin/rpython --batch --verbose --cc=/opt/local/bin/clang-mp-9.0 --opt=jit --make-jobs=4 targetpypystandalone Exit code: 1
comment:5 Changed 5 years ago by ryandesign (Ryan Carsten Schmidt)
Interesting, since legacysupport does provide clock_gettime as well, right?
comment:7 Changed 4 years ago by danchr (Dan Villiom Podlaski Christiansen)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Note: See
TracTickets for help on using
tickets.
Replying to ryandesign:
Presumably it would, although I seriously doubt anyone is making any active effort to make sure that PyPy works on Snow Leopard.