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.

Reply via email to