Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

Fail in installing both sage-numerical-backends-gurobi and sage-numerical-backends-coin

93 views
Skip to first unread message

Ziyan He

unread,
Jul 23, 2024, 11:28:06 AM7/23/24
to sage-support

When I try to use pip install to install sage-numerical-backends-gurobi, I encounter the following error:


Error compiling Cython file: ------------------------------------------------------------ ... # the Free Software Foundation, either version 2 of the License, or # (at your option) any later version. # https://www.gnu.org/licenses/ #***************************************************************************** from sage.numerical.backends.generic_backend cimport GenericBackend ^ ------------------------------------------------------------ sage_numerical_backends_coin/coin_backend.pxd::0: 'sage/numerical/backends/generic_backend.pxd' not found.

I'm certain that sage.numerical.backends.generic_backend is present in the package. When installing sage-numerical-backends-coin, I encountered the same issue. How can I resolve this?

David Lowry-Duda

unread,
Jul 23, 2024, 11:45:37 AM7/23/24
to sage-s...@googlegroups.com
On 08:00 Tue 23 Jul 2024, Ziyan He wrote:
>When I try to use pip install to install sage-numerical-backends-gurobi, I
>encounter the following error:

How are you invoking pip to install sage-numerical-backends-gurobi?

I'm trying to verify that you're using sage's pip and not, for example, your system's pip.

- DLD

Ziyan He

unread,
Jul 23, 2024, 1:52:57 PM7/23/24
to sage-support


I used `sage -pip install sage-numerical-backends-gurobi`, following the official GitHub instructions for the package. I’m confused—is there any problem with this approach?

Matthias Koeppe

unread,
Jul 27, 2024, 2:10:32 PM7/27/24
to sage-support
Which Sage version; logs please.

Ziyan He

unread,
Jul 29, 2024, 4:18:23 PM7/29/24
to sage-s...@googlegroups.com
My sage version is 10.3, and here is my error log :
Collecting sage-numerical-backends-gurobi
  Using cached sage_numerical_backends_gurobi-10.4.tar.gz (27 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: sphinx in /home/selinaheyiii/miniforge3/envs/sage/lib/python3.10/site-packages (from sage-numerical-backends-gurobi) (7.4.7)
Requirement already satisfied: sphinxcontrib-applehelp in /home/selinaheyiii/miniforge3/envs/sage/lib/python3.10/site-packages (from sphinx->sage-numerical-backends-gurobi) (1.0.8)
Requirement already satisfied: sphinxcontrib-devhelp in /home/selinaheyiii/miniforge3/envs/sage/lib/python3.10/site-packages (from sphinx->sage-numerical-backends-gurobi) (1.0.6)
Requirement already satisfied: sphinxcontrib-jsmath in /home/selinaheyiii/miniforge3/envs/sage/lib/python3.10/site-packages (from sphinx->sage-numerical-backends-gurobi) (1.0.1)
Requirement already satisfied: sphinxcontrib-htmlhelp>=2.0.0 in /home/selinaheyiii/miniforge3/envs/sage/lib/python3.10/site-packages (from sphinx->sage-numerical-backends-gurobi) (2.0.6)
Requirement already satisfied: sphinxcontrib-serializinghtml>=1.1.9 in /home/selinaheyiii/miniforge3/envs/sage/lib/python3.10/site-packages (from sphinx->sage-numerical-backends-gurobi) (1.1.10)
Requirement already satisfied: sphinxcontrib-qthelp in /home/selinaheyiii/miniforge3/envs/sage/lib/python3.10/site-packages (from sphinx->sage-numerical-backends-gurobi) (1.0.8)
Requirement already satisfied: Jinja2>=3.1 in /home/selinaheyiii/miniforge3/envs/sage/lib/python3.10/site-packages (from sphinx->sage-numerical-backends-gurobi) (3.1.4)
Requirement already satisfied: Pygments>=2.17 in /home/selinaheyiii/miniforge3/envs/sage/lib/python3.10/site-packages (from sphinx->sage-numerical-backends-gurobi) (2.18.0)
Requirement already satisfied: docutils<0.22,>=0.20 in /home/selinaheyiii/miniforge3/envs/sage/lib/python3.10/site-packages (from sphinx->sage-numerical-backends-gurobi) (0.21.2)
Requirement already satisfied: snowballstemmer>=2.2 in /home/selinaheyiii/miniforge3/envs/sage/lib/python3.10/site-packages (from sphinx->sage-numerical-backends-gurobi) (2.2.0)
Requirement already satisfied: babel>=2.13 in /home/selinaheyiii/miniforge3/envs/sage/lib/python3.10/site-packages (from sphinx->sage-numerical-backends-gurobi) (2.14.0)
Requirement already satisfied: alabaster~=0.7.14 in /home/selinaheyiii/miniforge3/envs/sage/lib/python3.10/site-packages (from sphinx->sage-numerical-backends-gurobi) (0.7.16)
Requirement already satisfied: imagesize>=1.3 in /home/selinaheyiii/miniforge3/envs/sage/lib/python3.10/site-packages (from sphinx->sage-numerical-backends-gurobi) (1.4.1)
Requirement already satisfied: requests>=2.30.0 in /home/selinaheyiii/miniforge3/envs/sage/lib/python3.10/site-packages (from sphinx->sage-numerical-backends-gurobi) (2.32.3)
Requirement already satisfied: packaging>=23.0 in /home/selinaheyiii/miniforge3/envs/sage/lib/python3.10/site-packages (from sphinx->sage-numerical-backends-gurobi) (24.1)
Requirement already satisfied: tomli>=2 in /home/selinaheyiii/miniforge3/envs/sage/lib/python3.10/site-packages (from sphinx->sage-numerical-backends-gurobi) (2.0.1)
Requirement already satisfied: MarkupSafe>=2.0 in /home/selinaheyiii/miniforge3/envs/sage/lib/python3.10/site-packages (from Jinja2>=3.1->sphinx->sage-numerical-backends-gurobi) (2.1.5)
Requirement already satisfied: charset-normalizer<4,>=2 in /home/selinaheyiii/miniforge3/envs/sage/lib/python3.10/site-packages (from requests>=2.30.0->sphinx->sage-numerical-backends-gurobi) (3.3.2)
Requirement already satisfied: idna<4,>=2.5 in /home/selinaheyiii/miniforge3/envs/sage/lib/python3.10/site-packages (from requests>=2.30.0->sphinx->sage-numerical-backends-gurobi) (3.7)
Requirement already satisfied: urllib3<3,>=1.21.1 in /home/selinaheyiii/miniforge3/envs/sage/lib/python3.10/site-packages (from requests>=2.30.0->sphinx->sage-numerical-backends-gurobi) (2.2.2)
Requirement already satisfied: certifi>=2017.4.17 in /home/selinaheyiii/miniforge3/envs/sage/lib/python3.10/site-packages (from requests>=2.30.0->sphinx->sage-numerical-backends-gurobi) (2024.7.4)
Building wheels for collected packages: sage-numerical-backends-gurobi
  Building wheel for sage-numerical-backends-gurobi (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for sage-numerical-backends-gurobi (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [513 lines of output]
      Using gurobi_include_directories=['/home/selinaheyiii/gurobi/gurobi1003/linux64/include'], libraries=['gurobi100'], library_dirs=['/home/selinaheyiii/gurobi/gurobi1003/linux64/lib']
      Using compile_time_env: {'HAVE_SAGE_CPYTHON_STRING': True, 'HAVE_ADD_COL_UNTYPED_ARGS': True}
      /tmp/pip-build-env-ezxvtb8a/overlay/lib/python3.10/site-packages/Cython/Compiler/Main.py:381: FutureWarning: Cython directive 'language_level' not set, using '3str' for now (Py3). This has changed from earlier releases! File: /tmp/pip-install-va8hoabd/sage-numerical-backends-gurobi_63b87e7e44de4bf9be38e8aac072bc7c/sage_numerical_backends_gurobi/gurobi_backend.pxd
        tree = Parsing.p_module(s, pxd, full_module_name)


      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      # the Free Software Foundation, either version 2 of the License, or
      # (at your option) any later version.
      #                  http://www.gnu.org/licenses/

      #*****************************************************************************

      from sage.numerical.backends.generic_backend cimport GenericBackend
      ^
      ------------------------------------------------------------

      sage_numerical_backends_gurobi/gurobi_backend.pxd:17:0: 'sage/numerical/backends/generic_backend.pxd' not found


      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      # the Free Software Foundation, either version 2 of the License, or
      # (at your option) any later version.
      #                  http://www.gnu.org/licenses/

      #*****************************************************************************

      from sage.numerical.backends.generic_backend cimport GenericBackend
      ^
      ------------------------------------------------------------

      sage_numerical_backends_gurobi/gurobi_backend.pxd:17:0: 'sage/numerical/backends/generic_backend/GenericBackend.pxd' not found


      Error compiling Cython file:
      ------------------------------------------------------------
      ...
           int GRB_SUBOPTIMAL




      cdef class GurobiBackend(GenericBackend):
                               ^
      ------------------------------------------------------------

      sage_numerical_backends_gurobi/gurobi_backend.pxd:105:25: First base of 'GurobiBackend' is not an extension type
      warning: sage_numerical_backends_gurobi/gurobi_backend.pyx:37:0: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310
      warning: sage_numerical_backends_gurobi/gurobi_backend.pyx:213:4: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310
      warning: sage_numerical_backends_gurobi/gurobi_backend.pyx:378:4: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310
      warning: sage_numerical_backends_gurobi/gurobi_backend.pyx:1118:4: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310


      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      IF HAVE_SAGE_CPYTHON_STRING:
          from sage.cpython.string cimport char_to_str, str_to_bytes
          from sage.cpython.string import FS_ENCODING
      from sage.numerical.mip import MIPSolverException

      cdef class GurobiBackend(GenericBackend):
                               ^
      ------------------------------------------------------------

      sage_numerical_backends_gurobi/gurobi_backend.pyx:42:25: First base of 'GurobiBackend' is not an extension type


      Error compiling Cython file:
      ------------------------------------------------------------
      ...
              self.set_sense(1 if maximization else -1)

              self.set_verbosity(0)
              self.obj_constant_term = 0.0

          cpdef int add_variable(self, lower_bound=0.0, upper_bound=None, binary=False, continuous=False, integer=False, obj=0.0, name=None, coefficients=None) except -1:
                ^
      ------------------------------------------------------------

      sage_numerical_backends_gurobi/gurobi_backend.pyx:104:10: C method 'add_variable' not previously declared in definition part of extension type 'GurobiBackend'
      warning: sage_numerical_backends_gurobi/gurobi_backend.pyx:214:21: noexcept clause is ignored for function returning Python object


      Error compiling Cython file:
      ------------------------------------------------------------
      ...
              check(self.env,GRBupdatemodel(self.model))

              return self.ncols()-1

          IF HAVE_ADD_COL_UNTYPED_ARGS:
              cpdef add_col(self, indices, coeffs) noexcept:
                    ^
      ------------------------------------------------------------

      sage_numerical_backends_gurobi/gurobi_backend.pyx:214:14: C method 'add_col' not previously declared in definition part of extension type 'GurobiBackend'
      warning: sage_numerical_backends_gurobi/gurobi_backend.pyx:274:27: noexcept clause is ignored for function returning Python object


      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                      length.

                  """
                  self.add_variable(coefficients = zip(indices, coeffs))

          cpdef set_variable_type(self, int variable, int vtype) noexcept:
                ^
      ------------------------------------------------------------

      sage_numerical_backends_gurobi/gurobi_backend.pyx:274:10: C method 'set_variable_type' not previously declared in definition part of extension type 'GurobiBackend'
      warning: sage_numerical_backends_gurobi/gurobi_backend.pyx:312:19: noexcept clause is ignored for function returning Python object


      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                  error = GRBsetcharattrelement(self.model, "VType", variable, 'C')
              check(self.env, error)

              check(self.env,GRBupdatemodel(self.model))

          cpdef set_sense(self, int sense) noexcept:
                ^
      ------------------------------------------------------------

      sage_numerical_backends_gurobi/gurobi_backend.pyx:312:10: C method 'set_sense' not previously declared in definition part of extension type 'GurobiBackend'
      warning: sage_numerical_backends_gurobi/gurobi_backend.pyx:343:31: noexcept clause is ignored for function returning Python object


      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                  error = GRBsetintattr(self.model, "ModelSense", +1)

              check(self.env, error)
              check(self.env,GRBupdatemodel(self.model))

          cpdef objective_coefficient(self, int variable, coeff=None) noexcept:
                ^
      ------------------------------------------------------------

      sage_numerical_backends_gurobi/gurobi_backend.pyx:343:10: C method 'objective_coefficient' not previously declared in definition part of extension type 'GurobiBackend'
      warning: sage_numerical_backends_gurobi/gurobi_backend.pyx:379:26: noexcept clause is ignored for function returning Python object


      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                  error = GRBgetdblattrelement(self.model, "Obj", variable, value)
                  check(self.env, error)
                  return value[0]

          IF HAVE_SAGE_CPYTHON_STRING:
              cpdef problem_name(self, name=None) noexcept:
                    ^
      ------------------------------------------------------------

      sage_numerical_backends_gurobi/gurobi_backend.pyx:379:14: C method 'problem_name' not previously declared in definition part of extension type 'GurobiBackend'
      warning: sage_numerical_backends_gurobi/gurobi_backend.pyx:446:23: noexcept clause is ignored for function returning Python object


      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                      else:
                          value = char_to_str(pp_name[0])

                      return value

          cpdef set_objective(self, list coeff, d = 0.0) noexcept:
                ^
      ------------------------------------------------------------

      sage_numerical_backends_gurobi/gurobi_backend.pyx:446:10: C method 'set_objective' not previously declared in definition part of extension type 'GurobiBackend'
      warning: sage_numerical_backends_gurobi/gurobi_backend.pyx:492:23: noexcept clause is ignored for function returning Python object


      Error compiling Cython file:
      ------------------------------------------------------------
      ...

              check(self.env,GRBupdatemodel(self.model))

              self.obj_constant_term = d

          cpdef set_verbosity(self, int level) noexcept:
                ^
      ------------------------------------------------------------

      sage_numerical_backends_gurobi/gurobi_backend.pyx:492:10: C method 'set_verbosity' not previously declared in definition part of extension type 'GurobiBackend'
      warning: sage_numerical_backends_gurobi/gurobi_backend.pyx:515:27: noexcept clause is ignored for function returning Python object


      Error compiling Cython file:
      ------------------------------------------------------------
      ...
              else:
                  error = GRBsetintparam(self.env, "OutputFlag", 0)

              check(self.env, error)

          cpdef remove_constraint(self, int i) noexcept:
                ^
      ------------------------------------------------------------

      sage_numerical_backends_gurobi/gurobi_backend.pyx:515:10: C method 'remove_constraint' not previously declared in definition part of extension type 'GurobiBackend'
      warning: sage_numerical_backends_gurobi/gurobi_backend.pyx:550:31: noexcept clause is ignored for function returning Python object


      Error compiling Cython file:
      ------------------------------------------------------------
      ...
              check(self.env, error)

              error = GRBupdatemodel(self.model)
              check(self.env,error)

          cpdef add_linear_constraint(self, coefficients, lower_bound, upper_bound, name=None) noexcept:
                ^
      ------------------------------------------------------------

      sage_numerical_backends_gurobi/gurobi_backend.pyx:550:10: C method 'add_linear_constraint' not previously declared in definition part of extension type 'GurobiBackend'
      warning: sage_numerical_backends_gurobi/gurobi_backend.pyx:627:13: noexcept clause is ignored for function returning Python object


      Error compiling Cython file:
      ------------------------------------------------------------
      ...
              check(self.env,error)

              sig_free(row_i)
              sig_free(row_values)

          cpdef row(self, int index) noexcept:
                ^
      ------------------------------------------------------------

      sage_numerical_backends_gurobi/gurobi_backend.pyx:627:10: C method 'row' not previously declared in definition part of extension type 'GurobiBackend'
      warning: sage_numerical_backends_gurobi/gurobi_backend.pyx:679:20: noexcept clause is ignored for function returning Python object


      Error compiling Cython file:
      ------------------------------------------------------------
      ...
              sig_free(p_values)

              return indices, values


          cpdef row_bounds(self, int index) noexcept:
                ^
      ------------------------------------------------------------

      sage_numerical_backends_gurobi/gurobi_backend.pyx:679:10: C method 'row_bounds' not previously declared in definition part of extension type 'GurobiBackend'
      warning: sage_numerical_backends_gurobi/gurobi_backend.pyx:720:20: noexcept clause is ignored for function returning Python object


      Error compiling Cython file:
      ------------------------------------------------------------
      ...
              elif sense[0] == '<':
                  return (None, d[0])
              else:
                  return (d[0],d[0])

          cpdef col_bounds(self, int index) noexcept:
                ^
      ------------------------------------------------------------

      sage_numerical_backends_gurobi/gurobi_backend.pyx:720:10: C method 'col_bounds' not previously declared in definition part of extension type 'GurobiBackend'


      Error compiling Cython file:
      ------------------------------------------------------------
      ...
              check(self.env, error)

              return (None if lb[0] <= -GRB_INFINITY else lb[0],
                      None if  ub[0] >= GRB_INFINITY else ub[0])

          cpdef int solve(self) except -1:
                ^
      ------------------------------------------------------------

      sage_numerical_backends_gurobi/gurobi_backend.pyx:758:10: C method 'solve' not previously declared in definition part of extension type 'GurobiBackend'
      warning: sage_numerical_backends_gurobi/gurobi_backend.pyx:795:29: noexcept clause is ignored for function returning Python object


      Error compiling Cython file:
      ------------------------------------------------------------
      ...
              # Has there been a problem ?
              if status[0] != GRB_OPTIMAL:
                  raise MIPSolverException("Gurobi: "+mip_status.get(status[0], "unknown error during call to GRBoptimize : "+str(status[0])))


          cpdef get_objective_value(self) noexcept:
                ^
      ------------------------------------------------------------

      sage_numerical_backends_gurobi/gurobi_backend.pyx:795:10: C method 'get_objective_value' not previously declared in definition part of extension type 'GurobiBackend'
      warning: sage_numerical_backends_gurobi/gurobi_backend.pyx:826:28: noexcept clause is ignored for function returning Python object


      Error compiling Cython file:
      ------------------------------------------------------------
      ...

              check(self.env,GRBgetdblattr(self.model, "ObjVal", <double* >p_value))

              return p_value[0] + <double>self.obj_constant_term

          cpdef get_variable_value(self, int variable) noexcept:
                ^
      ------------------------------------------------------------

      sage_numerical_backends_gurobi/gurobi_backend.pyx:826:10: C method 'get_variable_value' not previously declared in definition part of extension type 'GurobiBackend'


      Error compiling Cython file:
      ------------------------------------------------------------
      ...
              if self.is_variable_continuous(variable):
                  return value[0]
              else:
                  return round(value[0])

          cpdef int ncols(self) noexcept:
                ^
      ------------------------------------------------------------

      sage_numerical_backends_gurobi/gurobi_backend.pyx:859:10: C method 'ncols' not previously declared in definition part of extension type 'GurobiBackend'


      Error compiling Cython file:
      ------------------------------------------------------------
      ...
              """
              cdef int i[1]
              check(self.env,GRBgetintattr(self.model, "NumVars", i))
              return i[0]

          cpdef int nrows(self) noexcept:
                ^
      ------------------------------------------------------------

      sage_numerical_backends_gurobi/gurobi_backend.pyx:878:10: C method 'nrows' not previously declared in definition part of extension type 'GurobiBackend'
      warning: sage_numerical_backends_gurobi/gurobi_backend.pyx:897:18: noexcept clause is ignored for function returning Python object


      Error compiling Cython file:
      ------------------------------------------------------------
      ...
              """
              cdef int i[1]
              check(self.env,GRBgetintattr(self.model, "NumConstrs", i))
              return i[0]

          cpdef col_name(self, int index) noexcept:
                ^
      ------------------------------------------------------------

      sage_numerical_backends_gurobi/gurobi_backend.pyx:897:10: C method 'col_name' not previously declared in definition part of extension type 'GurobiBackend'
      warning: sage_numerical_backends_gurobi/gurobi_backend.pyx:922:18: noexcept clause is ignored for function returning Python object


      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                  value = ""
              else:
                  value = char_to_str(name[0])
              return value

          cpdef row_name(self, int index) noexcept:
                ^
      ------------------------------------------------------------

      sage_numerical_backends_gurobi/gurobi_backend.pyx:922:10: C method 'row_name' not previously declared in definition part of extension type 'GurobiBackend'


      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                  value = ""
              else:
                  value = char_to_str(name[0])
              return value

          cpdef bint is_variable_binary(self, int index) noexcept:
                ^
      ------------------------------------------------------------

      sage_numerical_backends_gurobi/gurobi_backend.pyx:946:10: C method 'is_variable_binary' not previously declared in definition part of extension type 'GurobiBackend'


      Error compiling Cython file:
      ------------------------------------------------------------
      ...
              cdef char vtype[1]
              check(self.env, GRBgetcharattrelement(self.model, "VType", index, <char *> vtype))
              return vtype[0] == 'B'


          cpdef bint is_variable_integer(self, int index) noexcept:
                ^
      ------------------------------------------------------------

      sage_numerical_backends_gurobi/gurobi_backend.pyx:971:10: C method 'is_variable_integer' not previously declared in definition part of extension type 'GurobiBackend'


      Error compiling Cython file:
      ------------------------------------------------------------
      ...
              """
              cdef char vtype[1]
              check(self.env, GRBgetcharattrelement(self.model, "VType", index, <char *> vtype))
              return vtype[0] == 'I'

          cpdef bint is_variable_continuous(self, int index) noexcept:
                ^
      ------------------------------------------------------------

      sage_numerical_backends_gurobi/gurobi_backend.pyx:995:10: C method 'is_variable_continuous' not previously declared in definition part of extension type 'GurobiBackend'


      Error compiling Cython file:
      ------------------------------------------------------------
      ...
              """
              cdef char vtype[1]
              check(self.env, GRBgetcharattrelement(self.model, "VType", index, <char *> vtype))
              return vtype[0] == 'C'

          cpdef bint is_maximization(self) noexcept:
                ^
      ------------------------------------------------------------

      sage_numerical_backends_gurobi/gurobi_backend.pyx:1022:10: C method 'is_maximization' not previously declared in definition part of extension type 'GurobiBackend'
      warning: sage_numerical_backends_gurobi/gurobi_backend.pyx:1040:30: noexcept clause is ignored for function returning Python object


      Error compiling Cython file:
      ------------------------------------------------------------
      ...
              """
              cdef int sense[1]
              check(self.env,GRBgetintattr(self.model, "ModelSense", <int *> sense))
              return sense[0] == -1

          cpdef variable_upper_bound(self, int index, value = False) noexcept:
                ^
      ------------------------------------------------------------

      sage_numerical_backends_gurobi/gurobi_backend.pyx:1040:10: C method 'variable_upper_bound' not previously declared in definition part of extension type 'GurobiBackend'
      warning: sage_numerical_backends_gurobi/gurobi_backend.pyx:1078:30: noexcept clause is ignored for function returning Python object


      Error compiling Cython file:
      ------------------------------------------------------------
      ...
              else:
                  error = GRBgetdblattrelement(self.model, "UB", index, <double *> b)
                  check(self.env, error)
                  return None if b[0] >= GRB_INFINITY else b[0]

          cpdef variable_lower_bound(self, int index, value = False) noexcept:
                ^
      ------------------------------------------------------------

      sage_numerical_backends_gurobi/gurobi_backend.pyx:1078:10: C method 'variable_lower_bound' not previously declared in definition part of extension type 'GurobiBackend'
      warning: sage_numerical_backends_gurobi/gurobi_backend.pyx:1119:22: noexcept clause is ignored for function returning Python object


      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                  error = GRBgetdblattrelement(self.model, "LB", index, <double *> b)
                  check(self.env, error)
                  return None if b[0] <= -GRB_INFINITY else b[0]

          IF HAVE_SAGE_CPYTHON_STRING:
              cpdef write_lp(self, filename) noexcept:
                    ^
      ------------------------------------------------------------

      sage_numerical_backends_gurobi/gurobi_backend.pyx:1119:14: C method 'write_lp' not previously declared in definition part of extension type 'GurobiBackend'
      warning: sage_numerical_backends_gurobi/gurobi_backend.pyx:1142:23: noexcept clause is ignored for function returning Python object


      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                      ....:     p.write_lp(os.path.join(f, "lp_problem.lp"))
                  """
                  filename = str_to_bytes(filename, FS_ENCODING, 'surrogateescape')
                  check(self.env, GRBwrite(self.model, filename))

              cpdef write_mps(self, filename, int modern) noexcept:
                    ^
      ------------------------------------------------------------

      sage_numerical_backends_gurobi/gurobi_backend.pyx:1142:14: C method 'write_mps' not previously declared in definition part of extension type 'GurobiBackend'
      warning: sage_numerical_backends_gurobi/gurobi_backend.pyx:1188:26: noexcept clause is ignored for function returning Python object


      Error compiling Cython file:
      ------------------------------------------------------------
      ...

                  """
                  check(self.env, GRBwrite(self.model, filename))


          cpdef solver_parameter(self, name, value = None) noexcept:
                ^
      ------------------------------------------------------------

      sage_numerical_backends_gurobi/gurobi_backend.pyx:1188:10: C method 'solver_parameter' not previously declared in definition part of extension type 'GurobiBackend'
      warning: sage_numerical_backends_gurobi/gurobi_backend.pyx:1273:18: noexcept clause is ignored for function returning Python object
      Compiling sage_numerical_backends_gurobi/gurobi_backend.pyx because it changed.
      [1/1] Cythonizing sage_numerical_backends_gurobi/gurobi_backend.pyx
      Traceback (most recent call last):
        File "/home/selinaheyiii/miniforge3/envs/sage/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
          main()
        File "/home/selinaheyiii/miniforge3/envs/sage/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
        File "/home/selinaheyiii/miniforge3/envs/sage/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 251, in build_wheel
          return _build_backend().build_wheel(wheel_directory, config_settings,
        File "/tmp/pip-build-env-ezxvtb8a/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 415, in build_wheel
          return self._build_with_temp_dir(
        File "/tmp/pip-build-env-ezxvtb8a/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 397, in _build_with_temp_dir
          self.run_setup()
        File "/tmp/pip-build-env-ezxvtb8a/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 313, in run_setup
          exec(code, locals())
        File "<string>", line 116, in <module>
        File "/tmp/pip-build-env-ezxvtb8a/overlay/lib/python3.10/site-packages/Cython/Build/Dependencies.py", line 1154, in cythonize
          cythonize_one(*args)
        File "/tmp/pip-build-env-ezxvtb8a/overlay/lib/python3.10/site-packages/Cython/Build/Dependencies.py", line 1321, in cythonize_one
          raise CompileError(None, pyx_file)
      Cython.Compiler.Errors.CompileError: sage_numerical_backends_gurobi/gurobi_backend.pyx
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for sage-numerical-backends-gurobi
Failed to build sage-numerical-backends-gurobi
ERROR: Could not build wheels for sage-numerical-backends-gurobi, which is required to install pyproject.toml-based projects

Thanks for replying.

Matthias Koeppe <matthia...@gmail.com> 于2024年7月28日周日 02:10写道:
--
You received this message because you are subscribed to a topic in the Google Groups "sage-support" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/sage-support/DtN_MnlvEqI/unsubscribe.
To unsubscribe from this group and all its topics, send an email to sage-support...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sage-support/7aa5e0a7-cda1-4f99-b0a0-8df4e0ed096an%40googlegroups.com.

Vincent Delecroix

unread,
Jul 30, 2024, 10:13:56 AM7/30/24
to sage-s...@googlegroups.com
This seems to be the problem


> from sage.numerical.backends.generic_backend cimport GenericBackend
> ^
> ------------------------------------------------------------
>
> sage_numerical_backends_
gurobi/gurobi_backend.pxd:17:0:
'sage/numerical/backends/generic_backend.pxd' not found

Cython seems confused about where to find the pxd headers.

Vincent
> You received this message because you are subscribed to the Google Groups "sage-support" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to sage-support...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/sage-support/CAKJFKYHrFkR9ZYTh4n38mfG4E-J18NvV5BcLuEwrqtQThY6ADQ%40mail.gmail.com.

Matthias Koeppe

unread,
Jul 31, 2024, 2:36:24 PM7/31/24
to sage-support
Try "sage -pip install --no-build-isolation sage-numerical-backends-gurobi" as a workaround.
Reply all
Reply to author
Forward
0 new messages