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_functionsModuleNotFoundError: 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 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/de6d51f4-17de-45d8-a5b7-d4a5d5f4b570n%40googlegroups.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/829275C4-EB26-4203-904B-77D8A75201B5%40gmail.com.

Reply via email to