unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#41213: boost-for-mysql fails to build
@ 2020-05-12 16:22 Jonathan Brielmaier
  2020-05-19 23:46 ` Jonathan Brielmaier
  0 siblings, 1 reply; 5+ messages in thread
From: Jonathan Brielmaier @ 2020-05-12 16:22 UTC (permalink / raw)
  To: 41213

boost-for-mysql fails to build on current master with following error.

```
starting phase `configure'
Backtrace:
          10 (primitive-load "/gnu/store/bsfksp6c63zj3ynx46ck87sip7a…")
In ice-9/eval.scm:
   191:35  9 (_ _)
In guix/build/gnu-build-system.scm:
    838:2  8 (gnu-build #:source _ #:outputs _ #:inputs _ #:phases . #)
In ice-9/boot-9.scm:
  1736:10  7 (with-exception-handler _ _ #:unwind? _ # _)
In srfi/srfi-1.scm:
   857:16  6 (every1 #<procedure 7ffff4b99040 at guix/build/gnu-bui…> …)
In guix/build/gnu-build-system.scm:
   847:30  5 (_ _)
In ice-9/eval.scm:
    619:8  4 (_ #(#(#(#<directory (guile-user) 7ffff5bb9f00>) # #) …))
In srfi/srfi-1.scm:
    634:9  3 (for-each #<procedure substitute-one-file (a)> _)
In guix/build/utils.scm:
   736:30  2 (with-atomic-file-replacement "tools/build/src/engine/…" …)
In unknown file:
           1 (stat "tools/build/src/engine/execunix.cpp" #<undefined>)
In ice-9/boot-9.scm:
  1669:16  0 (raise-exception _ #:continuable? _)

ice-9/boot-9.scm:1669:16: In procedure raise-exception:
In procedure stat: No such file or directory:
"tools/build/src/engine/execunix.cpp"
builder for
`/gnu/store/sk133zc1fbs5352a3k9lzmfg2930rjjx-boost-1.59.0.drv' failed
with exit code 1
build of /gnu/store/sk133zc1fbs5352a3k9lzmfg2930rjjx-boost-1.59.0.drv failed
View build log at
'/var/log/guix/drvs/sk/133zc1fbs5352a3k9lzmfg2930rjjx-boost-1.59.0.drv.bz2'.
cannot build derivation
`/gnu/store/bjn6im95g4669731sfzd8vlyj5742ir3-mysql-5.7.27.drv': 1
dependencies couldn't be built
guix build: error: build of
`/gnu/store/bjn6im95g4669731sfzd8vlyj5742ir3-mysql-5.7.27.drv' failed
```

"tools/build/src/engine/execunix.cpp" is required for boost@1.72 in the
configure phase. boost-for-mysql inherits from.

I don't know how to properly fix that...




^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#41213: boost-for-mysql fails to build
  2020-05-12 16:22 bug#41213: boost-for-mysql fails to build Jonathan Brielmaier
@ 2020-05-19 23:46 ` Jonathan Brielmaier
  2020-05-20 20:31   ` Marius Bakke
  0 siblings, 1 reply; 5+ messages in thread
From: Jonathan Brielmaier @ 2020-05-19 23:46 UTC (permalink / raw)
  To: 41213

`tools/build/src/engine/execunix.cpp` was named
`tools/build/src/engine/execunix.c` before. So the following patch
allows to build boost@1.59 again.

```
diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm
index 2f2ca289ab..d44b534939 100644
--- a/gnu/packages/boost.scm
+++ b/gnu/packages/boost.scm
@@ -120,10 +120,11 @@
              (let ((icu (assoc-ref inputs "icu4c"))
                    (python (assoc-ref inputs "python"))
                    (out (assoc-ref outputs "out")))
-               (substitute* '("libs/config/configure"
-                              "libs/spirit/classic/phoenix/test/runtest.sh"
-                              "tools/build/src/engine/execunix.cpp"
-                              "tools/build/src/engine/Jambase")
+               (substitute* (append
+                             (find-files "tools/build/src/engine/"
"execunix\\.c.*")
+                             '("libs/config/configure"
+
"libs/spirit/classic/phoenix/test/runtest.sh"
+                               "tools/build/src/engine/Jambase"))
                  (("/bin/sh") (which "sh")))

                (setenv "SHELL" (which "sh"))
```

Although it fails with
```
libs/python/src/converter/builtin_converters.cpp: In function ‘void*
boost::python::converter::{anonymous}::convert_to_cstring(PyObject*)’:
libs/python/src/converter/builtin_converters.cpp:51:35: error: invalid
conversion from ‘const void*’ to ‘void*’ [-fpermissive]
       return PyUnicode_Check(obj) ? _PyUnicode_AsString(obj) : 0;

    "g++"  -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall
-pthread -fPIC -m64  -DBOOST_ALL_NO_LIB=1 -DBOOST_PYTHON_SOURCE -DNDEBUG
 -I"."
-I"/gnu/store/q9rm8h9imazsq2c4qiv2yjpvlvliywqb-python-3.8.2/include/python3.8"
-c -o
"bin.v2/libs/python/build/gcc-7.5.0/release/threading-multi/converter/builtin_converters.o"
"libs/python/src/converter/builtin_converters.cpp"
```




^ permalink raw reply related	[flat|nested] 5+ messages in thread

* bug#41213: boost-for-mysql fails to build
  2020-05-19 23:46 ` Jonathan Brielmaier
@ 2020-05-20 20:31   ` Marius Bakke
  2020-05-20 20:40     ` Jonathan Brielmaier
  2020-05-21  8:36     ` Efraim Flashner
  0 siblings, 2 replies; 5+ messages in thread
From: Marius Bakke @ 2020-05-20 20:31 UTC (permalink / raw)
  To: Jonathan Brielmaier, 41213

[-- Attachment #1: Type: text/plain, Size: 2365 bytes --]

Jonathan Brielmaier <jonathan.brielmaier@web.de> writes:

> `tools/build/src/engine/execunix.cpp` was named
> `tools/build/src/engine/execunix.c` before. So the following patch
> allows to build boost@1.59 again.
>
> ```
> diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm
> index 2f2ca289ab..d44b534939 100644
> --- a/gnu/packages/boost.scm
> +++ b/gnu/packages/boost.scm
> @@ -120,10 +120,11 @@
>               (let ((icu (assoc-ref inputs "icu4c"))
>                     (python (assoc-ref inputs "python"))
>                     (out (assoc-ref outputs "out")))
> -               (substitute* '("libs/config/configure"
> -                              "libs/spirit/classic/phoenix/test/runtest.sh"
> -                              "tools/build/src/engine/execunix.cpp"
> -                              "tools/build/src/engine/Jambase")
> +               (substitute* (append
> +                             (find-files "tools/build/src/engine/"
> "execunix\\.c.*")
> +                             '("libs/config/configure"
> +
> "libs/spirit/classic/phoenix/test/runtest.sh"
> +                               "tools/build/src/engine/Jambase"))
>                   (("/bin/sh") (which "sh")))
>
>                 (setenv "SHELL" (which "sh"))
> ```
>
> Although it fails with
> ```
> libs/python/src/converter/builtin_converters.cpp: In function ‘void*
> boost::python::converter::{anonymous}::convert_to_cstring(PyObject*)’:
> libs/python/src/converter/builtin_converters.cpp:51:35: error: invalid
> conversion from ‘const void*’ to ‘void*’ [-fpermissive]
>        return PyUnicode_Check(obj) ? _PyUnicode_AsString(obj) : 0;
>
>     "g++"  -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall
> -pthread -fPIC -m64  -DBOOST_ALL_NO_LIB=1 -DBOOST_PYTHON_SOURCE -DNDEBUG
>  -I"."
> -I"/gnu/store/q9rm8h9imazsq2c4qiv2yjpvlvliywqb-python-3.8.2/include/python3.8"
> -c -o
> "bin.v2/libs/python/build/gcc-7.5.0/release/threading-multi/converter/builtin_converters.o"
> "libs/python/src/converter/builtin_converters.cpp"
> ```

I think our efforts are better spent on updating the packages that use
this ancient Boost instead of hacking it to work with Python 3.8.

Though disabling Python support might work around the issue for now...

Do you use any packages that depend on this?

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#41213: boost-for-mysql fails to build
  2020-05-20 20:31   ` Marius Bakke
@ 2020-05-20 20:40     ` Jonathan Brielmaier
  2020-05-21  8:36     ` Efraim Flashner
  1 sibling, 0 replies; 5+ messages in thread
From: Jonathan Brielmaier @ 2020-05-20 20:40 UTC (permalink / raw)
  To: Marius Bakke, 41213

On 20.05.20 22:31, Marius Bakke wrote:
> Do you use any packages that depend on this?

I somehow had mysql in my package list, but replacing it with mariadb is
sufficent.




^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#41213: boost-for-mysql fails to build
  2020-05-20 20:31   ` Marius Bakke
  2020-05-20 20:40     ` Jonathan Brielmaier
@ 2020-05-21  8:36     ` Efraim Flashner
  1 sibling, 0 replies; 5+ messages in thread
From: Efraim Flashner @ 2020-05-21  8:36 UTC (permalink / raw)
  To: Marius Bakke; +Cc: Jonathan Brielmaier, 41213-done

[-- Attachment #1: Type: text/plain, Size: 3150 bytes --]

On Wed, May 20, 2020 at 10:31:32PM +0200, Marius Bakke wrote:
> Jonathan Brielmaier <jonathan.brielmaier@web.de> writes:
> 
> > `tools/build/src/engine/execunix.cpp` was named
> > `tools/build/src/engine/execunix.c` before. So the following patch
> > allows to build boost@1.59 again.
> >
> > ```
> > diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm
> > index 2f2ca289ab..d44b534939 100644
> > --- a/gnu/packages/boost.scm
> > +++ b/gnu/packages/boost.scm
> > @@ -120,10 +120,11 @@
> >               (let ((icu (assoc-ref inputs "icu4c"))
> >                     (python (assoc-ref inputs "python"))
> >                     (out (assoc-ref outputs "out")))
> > -               (substitute* '("libs/config/configure"
> > -                              "libs/spirit/classic/phoenix/test/runtest.sh"
> > -                              "tools/build/src/engine/execunix.cpp"
> > -                              "tools/build/src/engine/Jambase")
> > +               (substitute* (append
> > +                             (find-files "tools/build/src/engine/"
> > "execunix\\.c.*")
> > +                             '("libs/config/configure"
> > +
> > "libs/spirit/classic/phoenix/test/runtest.sh"
> > +                               "tools/build/src/engine/Jambase"))
> >                   (("/bin/sh") (which "sh")))
> >
> >                 (setenv "SHELL" (which "sh"))
> > ```

We can't straight-up patch boost because it has too many dependants, but
I copied the configure phase to boost-for-mysql and applied the changes
there.

> >
> > Although it fails with
> > ```
> > libs/python/src/converter/builtin_converters.cpp: In function ‘void*
> > boost::python::converter::{anonymous}::convert_to_cstring(PyObject*)’:
> > libs/python/src/converter/builtin_converters.cpp:51:35: error: invalid
> > conversion from ‘const void*’ to ‘void*’ [-fpermissive]
> >        return PyUnicode_Check(obj) ? _PyUnicode_AsString(obj) : 0;
> >
> >     "g++"  -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall
> > -pthread -fPIC -m64  -DBOOST_ALL_NO_LIB=1 -DBOOST_PYTHON_SOURCE -DNDEBUG
> >  -I"."
> > -I"/gnu/store/q9rm8h9imazsq2c4qiv2yjpvlvliywqb-python-3.8.2/include/python3.8"
> > -c -o
> > "bin.v2/libs/python/build/gcc-7.5.0/release/threading-multi/converter/builtin_converters.o"
> > "libs/python/src/converter/builtin_converters.cpp"
> > ```
> 
> I think our efforts are better spent on updating the packages that use
> this ancient Boost instead of hacking it to work with Python 3.8.
> 
> Though disabling Python support might work around the issue for now...
> 
> Do you use any packages that depend on this?

It built with no problems with python2 instead of python3 but of course
I'd rather not add more dependencies on python2. Luckily it will build
without any python binaries so I've just gone ahead and removed python
from native-inputs.


-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-05-21  8:37 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-12 16:22 bug#41213: boost-for-mysql fails to build Jonathan Brielmaier
2020-05-19 23:46 ` Jonathan Brielmaier
2020-05-20 20:31   ` Marius Bakke
2020-05-20 20:40     ` Jonathan Brielmaier
2020-05-21  8:36     ` Efraim Flashner

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).