GNU bug report logs - #41213
boost-for-mysql fails to build

Previous Next

Package: guix;

Reported by: Jonathan Brielmaier <jonathan.brielmaier <at> web.de>

Date: Tue, 12 May 2020 16:23:01 UTC

Severity: normal

Done: Efraim Flashner <efraim <at> flashner.co.il>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 41213 in the body.
You can then email your comments to 41213 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#41213; Package guix. (Tue, 12 May 2020 16:23:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Jonathan Brielmaier <jonathan.brielmaier <at> web.de>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Tue, 12 May 2020 16:23:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Jonathan Brielmaier <jonathan.brielmaier <at> web.de>
To: bug-guix <bug-guix <at> gnu.org>
Subject: boost-for-mysql fails to build
Date: Tue, 12 May 2020 18:22:28 +0200
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 <at> 1.72 in the
configure phase. boost-for-mysql inherits from.

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




Information forwarded to bug-guix <at> gnu.org:
bug#41213; Package guix. (Tue, 19 May 2020 23:47:02 GMT) Full text and rfc822 format available.

Message #8 received at 41213 <at> debbugs.gnu.org (full text, mbox):

From: Jonathan Brielmaier <jonathan.brielmaier <at> web.de>
To: 41213 <at> debbugs.gnu.org
Subject: boost-for-mysql fails to build
Date: Wed, 20 May 2020 01:46:13 +0200
`tools/build/src/engine/execunix.cpp` was named
`tools/build/src/engine/execunix.c` before. So the following patch
allows to build boost <at> 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"
```




Information forwarded to bug-guix <at> gnu.org:
bug#41213; Package guix. (Wed, 20 May 2020 20:32:01 GMT) Full text and rfc822 format available.

Message #11 received at 41213 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: Jonathan Brielmaier <jonathan.brielmaier <at> web.de>, 41213 <at> debbugs.gnu.org
Subject: Re: bug#41213: boost-for-mysql fails to build
Date: Wed, 20 May 2020 22:31:32 +0200
[Message part 1 (text/plain, inline)]
Jonathan Brielmaier <jonathan.brielmaier <at> 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 <at> 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?
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#41213; Package guix. (Wed, 20 May 2020 20:41:01 GMT) Full text and rfc822 format available.

Message #14 received at 41213 <at> debbugs.gnu.org (full text, mbox):

From: Jonathan Brielmaier <jonathan.brielmaier <at> web.de>
To: Marius Bakke <mbakke <at> fastmail.com>, 41213 <at> debbugs.gnu.org
Subject: Re: bug#41213: boost-for-mysql fails to build
Date: Wed, 20 May 2020 22:40:25 +0200
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.




Reply sent to Efraim Flashner <efraim <at> flashner.co.il>:
You have taken responsibility. (Thu, 21 May 2020 08:37:02 GMT) Full text and rfc822 format available.

Notification sent to Jonathan Brielmaier <jonathan.brielmaier <at> web.de>:
bug acknowledged by developer. (Thu, 21 May 2020 08:37:02 GMT) Full text and rfc822 format available.

Message #19 received at 41213-done <at> debbugs.gnu.org (full text, mbox):

From: Efraim Flashner <efraim <at> flashner.co.il>
To: Marius Bakke <mbakke <at> fastmail.com>
Cc: 41213-done <at> debbugs.gnu.org,
 Jonathan Brielmaier <jonathan.brielmaier <at> web.de>
Subject: Re: bug#41213: boost-for-mysql fails to build
Date: Thu, 21 May 2020 11:36:14 +0300
[Message part 1 (text/plain, inline)]
On Wed, May 20, 2020 at 10:31:32PM +0200, Marius Bakke wrote:
> Jonathan Brielmaier <jonathan.brielmaier <at> 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 <at> 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 <at> 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
[signature.asc (application/pgp-signature, inline)]

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 18 Jun 2020 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 5 years and 58 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.