Unable to compile JuPiMake

72 views
Skip to first unread message

Salvatore Stella

unread,
Dec 20, 2023, 10:13:46 AM12/20/23
to sage-...@googlegroups.com
Dear All,
I am trying to install JuPyMake but it fails with a linker issue:

```
Processing /tmp/jupymake/JuPyMake
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: JuPyMake
Building wheel for JuPyMake (pyproject.toml) ... error
error: subprocess-exited-with-error

× Building wheel for JuPyMake (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [23 lines of output]
JuPyMake.cpp: In function ‘PyObject* GetCompletion(PyObject*, PyObject*)’:
JuPyMake.cpp:142:52: warning: conversion from ‘std::vector<std::__cxx11::basic_string<char> >::size_type’ {aka ‘long unsigned int’} to ‘int’ may change value [-Wconversion]
142 | int completions_length = completions.size();
| ~~~~~~~~~~~~~~~~^~
JuPyMake.cpp: In function ‘PyObject* GetContextHelp(PyObject*, PyObject*, PyObject*)’:
JuPyMake.cpp:161:30: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
161 | static char* kwlist[] = {"input", "position", "full", "html", NULL};
| ^~~~~~~
JuPyMake.cpp:161:39: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
161 | static char* kwlist[] = {"input", "position", "full", "html", NULL};
| ^~~~~~~~~~
JuPyMake.cpp:161:51: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
161 | static char* kwlist[] = {"input", "position", "full", "html", NULL};
| ^~~~~~
JuPyMake.cpp:161:59: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
161 | static char* kwlist[] = {"input", "position", "full", "html", NULL};
| ^~~~~~
JuPyMake.cpp:182:44: warning: conversion from ‘std::vector<std::__cxx11::basic_string<char> >::size_type’ {aka ‘long unsigned int’} to ‘int’ may change value [-Wconversion]
182 | int results_length = results.size();
| ~~~~~~~~~~~~^~
x86_64-pc-linux-gnu-g++: warning: : linker input file unused because linking not done
x86_64-pc-linux-gnu-g++: error: : linker input file not found: No such file or directory
error: command '/usr/bin/x86_64-pc-linux-gnu-g++' failed with exit code 1
[end of output]

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

I have polymake 4.11 installed through my system package manager (gentoo) and
I am using gcc 13.2.1. The same issue happens if I try to install JuPiMake
though the sage build system, using pip through PyPi in a virtualenv, and
from sources.

Any idea on what the issue could be?
Thanks
Salvatore

Michael Orlitzky

unread,
Dec 20, 2023, 10:18:45 AM12/20/23
to sage-...@googlegroups.com
On Wed, 2023-12-20 at 16:13 +0100, Salvatore Stella wrote:
>
> I have polymake 4.11 installed through my system package manager (gentoo) and
> I am using gcc 13.2.1. The same issue happens if I try to install JuPiMake
> though the sage build system, using pip through PyPi in a virtualenv, and
> from sources.
>

Did you build polymake with USE=libpolymake?

I think the important part is missing from the error message, but it
failed during linking, so maybe -lpolymake is what doesn't work.


Salvatore Stella

unread,
Dec 20, 2023, 10:42:35 AM12/20/23
to sage-...@googlegroups.com
>Did you build polymake with USE=libpolymake?

I did, before I did not and sage build system refused to use my system's
polymake.

S.

Michael Orlitzky

unread,
Dec 20, 2023, 10:54:31 AM12/20/23
to sage-...@googlegroups.com
Hm, my next guess is then

https://github.com/sebasguts/JuPyMake/issues/4

since I think that's also on Gentoo. I can be more certain in a few
hours after polymake builds.

VulK

unread,
Dec 20, 2023, 10:57:38 AM12/20/23
to sage-...@googlegroups.com
>Hm, my next guess is then
>
> https://github.com/sebasguts/JuPyMake/issues/4
>
>since I think that's also on Gentoo. I can be more certain in a few
>hours after polymake builds.

It does look so:

$ polymake-config --cflags | grep " " | wc -l
1

Let me try to fix this on the fly
S.

VulK

unread,
Dec 20, 2023, 11:05:21 AM12/20/23
to sage-...@googlegroups.com
I can confirm: it is due to an extra space in the output of `polymake-config
--cflags`.

Now that you pointed this out I noticed that there is already a PR open on
this https://github.com/sebasguts/JuPyMake/pull/5 with the same error message
I got. My google-foo is failing me.

Thanks again for the help.
S.


Reply all
Reply to author
Forward
0 new messages