Sorry for the confusion. I used Sage downloaded from the website. Gcc was installed with MacPorts.
Jing 2023年12月27日 +0100 01:54 Dima Pasechnik <dimp...@gmail.com>,写道: > it seems you have gcc in /opt/local - what is it? > Not very usual. Normally speaking gcc on macOS is Apple's clang. How have you > built (?) Sage? > > > > > On 26 December 2023 14:52:23 WET, Jing Guo <dev.g...@gmail.com> wrote: > > > Dear all, > > > > > > I have implemented an algorithm related to graph homomorphism counting, > > > and recently I am thinking about improving its performance, so I think of > > > writing some of the modules/codes in Cython. > > > > > > For instance, I wrote helper functions in `helper_functions.pyx`, which > > > can be imported sucessfully in Python 3, via `from helper_functions > > > import *`. > > > > > > However, when I run the above command in Sage notebook or Sage, the > > > output reads > > > > > > sage: import helper_functions > > > --------------------------------------------------------------------------- > > > ModuleNotFoundError Traceback (most recent call > > > last) > > > Cell In [1], line 1 > > > ----> 1 import helper_functions > > > > > > ModuleNotFoundError: No module named 'helper_functions' > > > > > > When I try to run `load("helper_functions.pyx")`, it will output a long > > > line of errors (see end of the post). > > > > > > I searched online for relevant keywords but couldn't find good solutions > > > to these problems. I am on macOS 10.13.6 > > > > > > Thank you for your time! > > > > > > Jing > > > > > > > > > sage: load("helper_functions.pyx") > > > Compiling ./helper_functions.pyx... > > > --------------------------------------------------------------------------- > > > DistutilsExecError Traceback (most recent call > > > last) > > > File > > > /private/var/tmp/sage-10.2-current/local/var/lib/sage/venv-python3.11.1/lib/python3.11/site-packages/setuptools/_distutils/unixccompiler.py:266, > > > in UnixCCompiler.link(self, target_desc, objects, output_filename, > > > output_dir, libraries, library_dirs, runtime_library_dirs, > > > export_symbols, debug, extra_preargs, extra_postargs, build_temp, > > > target_lang) > > > 264 linker = compiler_fixup(linker, ld_args) > > > --> 266 self.spawn(linker + ld_args) > > > 267 except DistutilsExecError as msg: > > > > > > File > > > /private/var/tmp/sage-10.2-current/local/var/lib/sage/venv-python3.11.1/lib/python3.11/site-packages/setuptools/_distutils/ccompiler.py:1041, > > > in CCompiler.spawn(self, cmd, **kwargs) > > > 1040 def spawn(self, cmd, **kwargs): > > > -> 1041 spawn(cmd, dry_run=self.dry_run, **kwargs) > > > > > > File > > > /private/var/tmp/sage-10.2-current/local/var/lib/sage/venv-python3.11.1/lib/python3.11/site-packages/setuptools/_distutils/spawn.py:70, > > > in spawn(cmd, search_path, verbose, dry_run, env) > > > 69 cmd = cmd[0] > > > ---> 70 raise DistutilsExecError( > > > 71 "command {!r} failed with exit code {}".format(cmd, exitcode) > > > 72 ) > > > > > > DistutilsExecError: command '/opt/local/bin/gcc' failed with exit code 1 > > > > > > During handling of the above exception, another exception occurred: > > > > > > LinkError Traceback (most recent call > > > last) > > > File > > > /private/var/tmp/sage-10.2-current/local/var/lib/sage/venv-python3.11.1/lib/python3.11/site-packages/sage/misc/cython.py:454, > > > in cython(filename, verbose, compile_message, use_cache, > > > create_local_c_file, annotate, sage_namespace, create_local_so_file) > > > 453 with redirection(2, errfile, close=False): > > > --> 454 dist.run_command("build") > > > 455 finally: > > > > > > File > > > /private/var/tmp/sage-10.2-current/local/var/lib/sage/venv-python3.11.1/lib/python3.11/site-packages/setuptools/dist.py:989, > > > in Distribution.run_command(self, command) > > > 986 # Postpone defaults until all explicit configuration is considered > > > 987 # (setup() args, config files, command line and plugins) > > > --> 989 super().run_command(command) > > > > > > File > > > /private/var/tmp/sage-10.2-current/local/var/lib/sage/venv-python3.11.1/lib/python3.11/site-packages/setuptools/_distutils/dist.py:988, > > > in Distribution.run_command(self, command) > > > 987 cmd_obj.ensure_finalized() > > > --> 988 cmd_obj.run() > > > 989 self.have_run[command] = 1 > > > > > > File > > > /private/var/tmp/sage-10.2-current/local/var/lib/sage/venv-python3.11.1/lib/python3.11/site-packages/setuptools/_distutils/command/build.py:131, > > > in build.run(self) > > > 130 for cmd_name in self.get_sub_commands(): > > > --> 131 self.run_command(cmd_name) > > > > > > File > > > /private/var/tmp/sage-10.2-current/local/var/lib/sage/venv-python3.11.1/lib/python3.11/site-packages/setuptools/_distutils/cmd.py:318, > > > in Command.run_command(self, command) > > > 314 """Run some other command: uses the 'run_command()' method of > > > 315 Distribution, which creates and finalizes the command object if > > > 316 necessary and then invokes its 'run()' method. > > > 317 """ > > > --> 318 self.distribution.run_command(command) > > > > > > File > > > /private/var/tmp/sage-10.2-current/local/var/lib/sage/venv-python3.11.1/lib/python3.11/site-packages/setuptools/dist.py:989, > > > in Distribution.run_command(self, command) > > > 986 # Postpone defaults until all explicit configuration is considered > > > 987 # (setup() args, config files, command line and plugins) > > > --> 989 super().run_command(command) > > > > > > File > > > /private/var/tmp/sage-10.2-current/local/var/lib/sage/venv-python3.11.1/lib/python3.11/site-packages/setuptools/_distutils/dist.py:988, > > > in Distribution.run_command(self, command) > > > 987 cmd_obj.ensure_finalized() > > > --> 988 cmd_obj.run() > > > 989 self.have_run[command] = 1 > > > > > > File > > > /private/var/tmp/sage-10.2-current/local/var/lib/sage/venv-python3.11.1/lib/python3.11/site-packages/setuptools/command/build_ext.py:88, > > > in build_ext.run(self) > > > 87 old_inplace, self.inplace = self.inplace, 0 > > > ---> 88 _build_ext.run(self) > > > 89 self.inplace = old_inplace > > > > > > File > > > /private/var/tmp/sage-10.2-current/local/var/lib/sage/venv-python3.11.1/lib/python3.11/site-packages/setuptools/_distutils/command/build_ext.py:345, > > > in build_ext.run(self) > > > 344 # Now actually compile and link everything. > > > --> 345 self.build_extensions() > > > > > > File > > > /private/var/tmp/sage-10.2-current/local/var/lib/sage/venv-python3.11.1/lib/python3.11/site-packages/setuptools/_distutils/command/build_ext.py:467, > > > in build_ext.build_extensions(self) > > > 466 else: > > > --> 467 self._build_extensions_serial() > > > > > > File > > > /private/var/tmp/sage-10.2-current/local/var/lib/sage/venv-python3.11.1/lib/python3.11/site-packages/setuptools/_distutils/command/build_ext.py:493, > > > in build_ext._build_extensions_serial(self) > > > 492 with self._filter_build_errors(ext): > > > --> 493 self.build_extension(ext) > > > > > > File > > > /private/var/tmp/sage-10.2-current/local/var/lib/sage/venv-python3.11.1/lib/python3.11/site-packages/setuptools/command/build_ext.py:249, > > > in build_ext.build_extension(self, ext) > > > 248 self.compiler = self.shlib_compiler > > > --> 249 _build_ext.build_extension(self, ext) > > > 250 if ext._needs_stub: > > > > > > File > > > /private/var/tmp/sage-10.2-current/local/var/lib/sage/venv-python3.11.1/lib/python3.11/site-packages/Cython/Distutils/build_ext.py:135, > > > in build_ext.build_extension(self, ext) > > > 134 ext.sources = new_ext.sources > > > --> 135 super(build_ext, self).build_extension(ext) > > > > > > File > > > /private/var/tmp/sage-10.2-current/local/var/lib/sage/venv-python3.11.1/lib/python3.11/site-packages/setuptools/_distutils/command/build_ext.py:572, > > > in build_ext.build_extension(self, ext) > > > 570 language = ext.language or self.compiler.detect_language(sources) > > > --> 572 self.compiler.link_shared_object( > > > 573 objects, > > > 574 ext_path, > > > 575 libraries=self.get_libraries(ext), > > > 576 library_dirs=ext.library_dirs, > > > 577 runtime_library_dirs=ext.runtime_library_dirs, > > > 578 extra_postargs=extra_args, > > > 579 export_symbols=self.get_export_symbols(ext), > > > 580 debug=self.debug, > > > 581 build_temp=self.build_temp, > > > 582 target_lang=language, > > > 583 ) > > > > > > File > > > /private/var/tmp/sage-10.2-current/local/var/lib/sage/venv-python3.11.1/lib/python3.11/site-packages/setuptools/_distutils/ccompiler.py:752, > > > in CCompiler.link_shared_object(self, objects, output_filename, > > > output_dir, libraries, library_dirs, runtime_library_dirs, > > > export_symbols, debug, extra_preargs, extra_postargs, build_temp, > > > target_lang) > > > 737 def link_shared_object( > > > 738 self, > > > 739 objects, > > > (...) > > > 750 target_lang=None, > > > 751 ): > > > --> 752 self.link( > > > 753 CCompiler.SHARED_OBJECT, > > > 754 objects, > > > 755 output_filename, > > > 756 output_dir, > > > 757 libraries, > > > 758 library_dirs, > > > 759 runtime_library_dirs, > > > 760 export_symbols, > > > 761 debug, > > > 762 extra_preargs, > > > 763 extra_postargs, > > > 764 build_temp, > > > 765 target_lang, > > > 766 ) > > > > > > File > > > /private/var/tmp/sage-10.2-current/local/var/lib/sage/venv-python3.11.1/lib/python3.11/site-packages/setuptools/_distutils/unixccompiler.py:268, > > > in UnixCCompiler.link(self, target_desc, objects, output_filename, > > > output_dir, libraries, library_dirs, runtime_library_dirs, > > > export_symbols, debug, extra_preargs, extra_postargs, build_temp, > > > target_lang) > > > 267 except DistutilsExecError as msg: > > > --> 268 raise LinkError(msg) > > > 269 else: > > > > > > LinkError: command '/opt/local/bin/gcc' failed with exit code 1 > > > > > > During handling of the above exception, another exception occurred: > > > > > > RuntimeError Traceback (most recent call > > > last) > > > Cell In [2], line 1 > > > ----> 1 load("helper_functions.pyx") > > > > > > File > > > /private/var/tmp/sage-10.2-current/local/var/lib/sage/venv-python3.11.1/lib/python3.11/site-packages/sage/misc/persist.pyx:175, > > > in sage.misc.persist.load (build/cythonized/sage/misc/persist.c:4520)() > > > 173 > > > 174 if sage.repl.load.is_loadable_filename(filename): > > > --> 175 sage.repl.load.load(filename, globals()) > > > 176 return > > > 177 > > > > > > File > > > /private/var/tmp/sage-10.2-current/local/var/lib/sage/venv-python3.11.1/lib/python3.11/site-packages/sage/repl/load.py:277, > > > in load(filename, globals, attach) > > > 275 if attach: > > > 276 add_attached_file(fpath) > > > --> 277 exec(load_cython(fpath), globals) > > > 278 elif ext == '.f' or ext == '.f90': > > > 279 from sage.misc.inline_fortran import fortran > > > > > > File > > > /private/var/tmp/sage-10.2-current/local/var/lib/sage/venv-python3.11.1/lib/python3.11/site-packages/sage/repl/load.py:68, > > > in load_cython(name) > > > 55 """ > > > 56 Helper function to load a Cython file. > > > 57 > > > (...) > > > 65 module. > > > 66 """ > > > 67 from sage.misc.cython import cython > > > ---> 68 mod, dir = cython(name, compile_message=True, use_cache=True) > > > 69 import sys > > > 70 sys.path.append(dir) > > > > > > File > > > /private/var/tmp/sage-10.2-current/local/var/lib/sage/venv-python3.11.1/lib/python3.11/site-packages/sage/misc/cython.py:460, > > > in cython(filename, verbose, compile_message, use_cache, > > > create_local_c_file, annotate, sage_namespace, create_local_so_file) > > > 458 except Exception as msg: > > > 459 msg = str(msg) + "\n" + distutils_messages > > > --> 460 raise RuntimeError(msg.strip()) > > > 462 if verbose >= 0: > > > 463 sys.stderr.write(distutils_messages) > > > > > > RuntimeError: command '/opt/local/bin/gcc' failed with exit code 1 > > > ld: unknown option: -platform_version > > > collect2: error: ld returned 1 exit status > -- > You received this message because you are subscribed to a topic in the Google > Groups "sage-devel" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/sage-devel/7jq8wyLfvrU/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > sage-devel+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/sage-devel/829275C4-EB26-4203-904B-77D8A75201B5%40gmail.com. -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/8388ecb9-355c-47fc-a710-d5e9bc977a06%40Spark.