On Sun, Jan 12, 2020 at 1:37 PM Markus Wageringel
<
markus.w...@gmail.com> wrote:
>
> I manually set those CVXOPT_... variables in the spkg-install file for now and building cvxopt then succeeded.
>
> Building Sage now almost completes, but the file src/sage/libs/readline.pyx fails to compile with these errors:
>
>
> [1/1] gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wno-unused -I./sage/cpython -Isage/cpython -I/Applications/SageMath/local/include -I/Applications/SageMath/src -I/Applications/SageMath/src/sage/ext -I/Applications/SageMath/local/include/python3.7m -I/Applications/SageMath/local/lib/python3.7/site-packages/numpy/core/include -Ibuild/cythonized -I/Applications/SageMath/local/include/python3.7m -c build/cythonized/sage/libs/readline.c -o build/temp.macosx-10.9-x86_64-3.7/build/cythonized/sage/libs/readline.o -fno-strict-aliasing -DCYTHON_CLINE_IN_TRACEBACK=1 -std=c99
> build/cythonized/sage/libs/readline.c:1446:36: error: use of undeclared identifier 'rl_catch_signals'
> __pyx_t_1 = __Pyx_PyInt_From_int(rl_catch_signals); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 87, __pyx_L1_error)
> ^
> build/cythonized/sage/libs/readline.c:1468:36: error: use of undeclared identifier 'rl_catch_sigwinch'
> __pyx_t_1 = __Pyx_PyInt_From_int(rl_catch_sigwinch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 88, __pyx_L1_error)
> ^
> build/cythonized/sage/libs/readline.c:1542:36: warning: implicit declaration of function 'rl_set_signals' is invalid in C99 [-Wimplicit-function-declaration]
> __pyx_t_1 = __Pyx_PyInt_From_int(rl_set_signals()); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 104, __pyx_L1_error)
> ^
> build/cythonized/sage/libs/readline.c:1604:36: warning: implicit declaration of function 'rl_clear_signals' is invalid in C99 [-Wimplicit-function-declaration]
> __pyx_t_1 = __Pyx_PyInt_From_int(rl_clear_signals()); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 120, __pyx_L1_error)
> ^
> build/cythonized/sage/libs/readline.c:1849:36: error: passing 'void' to parameter of incompatible type 'int'
> __pyx_t_1 = __Pyx_PyInt_From_int(rl_forced_update_display()); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 190, __pyx_L1_error)
> ^~~~~~~~~~~~~~~~~~~~~~~~~~
> ...
>
>
> The Homebrew readline is version 8.0.1. In particular, the header file `/usr/local/opt/readline/include/readline/readline.h` does contain `rl_catch_signals`, `rl_catch_sigwinch` and `rl_clear_signals`.
>
> The system readline in `/usr/include/readline/readline.h` does not contain these though, so it looks like that is used instead.
One may overrule Homebrew to actually force it to install readline in /usr/local
Otherwise, it's indeed a problem.
I've opened
https://trac.sagemath.org/ticket/29000 to deal with this.
>
>
> Am 12.01.2020 um 10:58 schrieb Dima Pasechnik <
dim...@gmail.com>:
>
> On Sun, Jan 12, 2020 at 12:10 AM Markus Wageringel
> <
markus.w...@gmail.com> wrote:
>
>
> On macOS 10.13.6, trying to make use of #27870 using Homebrew's openblas, the build fails for me at cvxopt:
>
> gcc -bundle -undefined dynamic_lookup -L/Applications/SageMath/local/lib -Wl,-rpath,/Applications/SageMath/local/lib -L/usr/local/opt/openssl/lib -L. -L/Applications/SageMath/local/lib -Wl,-rpath,/Applications/SageMath/local/lib -L/usr/local/opt/openssl/lib -L/Applications/SageMath/local/lib -Wl,-rpath,/Applications/SageMath/local/lib build/temp.macosx-10.9-x86_64-3.7/src/C/gsl.o -L/Applications/SageMath/local -L/Applications/SageMath/local -L/Applications/SageMath/local/lib -lm -lgsl -lopenblas -o build/lib.macosx-10.9-x86_64-3.7/cvxopt/
gsl.cpython-37m-darwin.so
> ld: library not found for -lopenblas
> clang: error: linker command failed with exit code 1 (use -v to see invocation)
> error: command 'gcc' failed with exit status 1
> Running setup.py install for cvxopt: finished with status 'error'
>
> As openblas and readline are keg-only, I ran configure as
>
> ./configure \
> LDFLAGS="-L/usr/local/opt/readline/lib -L/usr/local/opt/openblas/lib -L/usr/local/opt/mpfr/lib" \
> CPPFLAGS="-I/usr/local/opt/readline/include -I/usr/local/opt/openblas/include" \
> PKG_CONFIG_PATH="/usr/local/opt/readline/lib/pkgconfig:/usr/local/opt/openblas/lib/pkgconfig"
>
> but cvxopt does not seem to use this.
>
>
> cvxopt really needs env.vars CVXOPT_BLAS_LIB_DIR, CVXOPT_BLAS_LIB,
> CVXOPT_LAPACK_LIB set, it does not use pkgconf.
> (but it should).
> We can propose an upstream fix for this, and meanwhile set these vars
> in spkg-install
>
>
> --
> 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+...@googlegroups.com.
> To view this discussion on the web visit
https://groups.google.com/d/msgid/sage-devel/BBB346E3-DBD1-44B4-AD7A-5D4B0B9D1BF5%40gmail.com.