Skip to content

Conversation

dongcarl
Copy link
Contributor

@dongcarl dongcarl commented Jun 10, 2019

xtrans does not understand the --with-pic and --disable-shared flags we
pass it because it is not a library. Instead, we should pass it flags
that disable features/packages we're not using so they don't get a
chance to sneak in.

Here's a comparison of stdout and stderr of make -j(nproc) V=1 xtrans_built before and after this PR: https://gist.github.com/dongcarl/4ebf6fe9985ebc1508190f75932e4237

@practicalswift
Copy link
Contributor

Concept ACK

@fanquake
Copy link
Member

Concept ACK.

This seems to be in line with recent discussion and pointers from cfields. Will check the flag changes, gbuild and compare build outputs. Also rebooted Travis.

@DrahtBot
Copy link
Contributor

Gitian builds for commit 8a503a6 (master):

Gitian builds for commit b99d01f (master and this pull):

xtrans does not understand the --with-pic and --disable-shared flags we
pass it because it is not a library. Instead, we should pass it flags
that disable features/packages we're not using so they don't get a
chance to sneak in.
@dongcarl dongcarl force-pushed the 2019-06-leave-xtrans-alone-right-now branch from 29a31e7 to 30ea931 Compare June 12, 2019 14:56
@DrahtBot
Copy link
Contributor

Gitian builds for commit 473c6b7 (master):

Gitian builds for commit 2706c50 (master and this pull):

@laanwj
Copy link
Member

laanwj commented Jun 13, 2019

what is xtrans and what are we using it for?
(concept and code review ACK in any case, seems if it's not using the options it makes no sense to add them)

Copy link
Member

@fanquake fanquake left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK 30ea931

The added flags are mostly documentation related:
--disable-docs: Enable building the documentation (default: yes)
--without-xmlto: Use xmlto to regenerate documentation (default: auto)
--without-fop: Use fop to regenerate documentation (default: auto)
--without-xsltproc: Use xsltproc for the transformation of XML documents (default: auto)

I'd have thought passing --disable-docs would remove the need for the additional flags, however we need the flags to disable the additional checks.

diff of configure output for master vs this PR:

 checking if gcc supports -Werror... yes
 checking if gcc supports -Werror=attributes... yes
 checking whether make supports nested variables... (cached) yes
-checking whether to build documentation... yes
-checking for xmlto... no
-checking for fop... no
-checking for xsltproc... no
+checking whether to build documentation... no
 checking for X.Org SGML entities >= 1.8... /usr/share/sgml
 checking for fchown... yes
 checking that generated files are newer than configure... done

We also lose the configure: WARNING: unrecognized options: --with-pic, --disable-shared warning.

@fanquake fanquake merged commit 30ea931 into bitcoin:master Jun 25, 2019
fanquake added a commit that referenced this pull request Jun 25, 2019
30ea931 depends: xtrans: Configure flags cleanup. (Carl Dong)

Pull request description:

  ```
  xtrans does not understand the --with-pic and --disable-shared flags we
  pass it because it is not a library. Instead, we should pass it flags
  that disable features/packages we're not using so they don't get a
  chance to sneak in.
  ```

  Here's a comparison of stdout and stderr of `make -j(nproc) V=1 xtrans_built` before and after this PR: https://gist.github.com/dongcarl/4ebf6fe9985ebc1508190f75932e4237

ACKs for top commit:
  fanquake:
    ACK 30ea931

Tree-SHA512: 49e060dffbae8c148c1164b493d03e7db4f260e7746d94c783377185c665e16fb6638827473709ed543eb266cc293d2313f61ade05ee8af4edb0bfbda0d1f785
sidhujag pushed a commit to syscoin/syscoin that referenced this pull request Jun 30, 2019
30ea931 depends: xtrans: Configure flags cleanup. (Carl Dong)

Pull request description:

  ```
  xtrans does not understand the --with-pic and --disable-shared flags we
  pass it because it is not a library. Instead, we should pass it flags
  that disable features/packages we're not using so they don't get a
  chance to sneak in.
  ```

  Here's a comparison of stdout and stderr of `make -j(nproc) V=1 xtrans_built` before and after this PR: https://gist.github.com/dongcarl/4ebf6fe9985ebc1508190f75932e4237

ACKs for top commit:
  fanquake:
    ACK 30ea931

Tree-SHA512: 49e060dffbae8c148c1164b493d03e7db4f260e7746d94c783377185c665e16fb6638827473709ed543eb266cc293d2313f61ade05ee8af4edb0bfbda0d1f785
meshcollider added a commit that referenced this pull request Aug 24, 2019
c295cba depends: zeromq: disable draft classes and methods (fanquake)
0072237 depends: xproto: configure flags cleanup (fanquake)
6a8ada3 depends: qrencode: configure flags cleanup (fanquake)
86beb8c depends: fontconfig: configure flags cleanup (fanquake)
e656d95 depends: libxcb: configure flags cleanup (fanquake)
e439388 depends: libXau: configure flags cleanup (fanquake)

Pull request description:

  Related to #16354.

  This PR adds additional configure flags to packages in depends to explicitly disable features we aren't using; similar to #16183. It also fixes passing `--without-tools` to `qrencode`.

  I've added `--disable-drafts` to `zeromq`:
  ```bash
  Build and install draft classes and methods [default=yes]
  ```

  I'm not entirely sure how far we want to take this. i.e in the `zeromq` package we explicitly pass `--without-libsodium`, even though it's disabled by default.

  Do we also want to explicitly pass all the other `--without` flags? :
  ```bash
    --with-libgssapi_krb5   require libzmq build with libgssapi_krb5
                            [default=no]
    --with-libsodium        use libsodium instead of built-in tweetnacl
                            [default=no]
    --with-pgm              build libzmq with PGM extension. Requires pkg-config
                            [default=no]
    --with-norm             build libzmq with NORM protocol extension,
                            optionally specifying norm path [default=no]
    --with-vmci             build libzmq with VMCI transport [default=no]
  ```

ACKs for top commit:
  dongcarl:
    ACK c295cba

Tree-SHA512: df6d38b863b4008ed2cb06c97eb0e21eaa4b5fde552876065ba7f3c87bf6e372e5b954a51bf3fde2151cfb6d2c022227d34337fc6e50ce0caa1d518abbd2412a
sidhujag pushed a commit to syscoin/syscoin that referenced this pull request Aug 25, 2019
c295cba depends: zeromq: disable draft classes and methods (fanquake)
0072237 depends: xproto: configure flags cleanup (fanquake)
6a8ada3 depends: qrencode: configure flags cleanup (fanquake)
86beb8c depends: fontconfig: configure flags cleanup (fanquake)
e656d95 depends: libxcb: configure flags cleanup (fanquake)
e439388 depends: libXau: configure flags cleanup (fanquake)

Pull request description:

  Related to bitcoin#16354.

  This PR adds additional configure flags to packages in depends to explicitly disable features we aren't using; similar to bitcoin#16183. It also fixes passing `--without-tools` to `qrencode`.

  I've added `--disable-drafts` to `zeromq`:
  ```bash
  Build and install draft classes and methods [default=yes]
  ```

  I'm not entirely sure how far we want to take this. i.e in the `zeromq` package we explicitly pass `--without-libsodium`, even though it's disabled by default.

  Do we also want to explicitly pass all the other `--without` flags? :
  ```bash
    --with-libgssapi_krb5   require libzmq build with libgssapi_krb5
                            [default=no]
    --with-libsodium        use libsodium instead of built-in tweetnacl
                            [default=no]
    --with-pgm              build libzmq with PGM extension. Requires pkg-config
                            [default=no]
    --with-norm             build libzmq with NORM protocol extension,
                            optionally specifying norm path [default=no]
    --with-vmci             build libzmq with VMCI transport [default=no]
  ```

ACKs for top commit:
  dongcarl:
    ACK c295cba

Tree-SHA512: df6d38b863b4008ed2cb06c97eb0e21eaa4b5fde552876065ba7f3c87bf6e372e5b954a51bf3fde2151cfb6d2c022227d34337fc6e50ce0caa1d518abbd2412a
deadalnix pushed a commit to Bitcoin-ABC/bitcoin-abc that referenced this pull request Apr 1, 2020
Summary:
```
xtrans does not understand the --with-pic and --disable-shared flags we
pass it because it is not a library. Instead, we should pass it flags
that disable features/packages we're not using so they don't get a
chance to sneak in.
```

Backport of core [[bitcoin/bitcoin#16183 | PR16183]].

Test Plan: Run the Gitian builds.

Reviewers: #bitcoin_abc, deadalnix

Reviewed By: #bitcoin_abc, deadalnix

Differential Revision: https://reviews.bitcoinabc.org/D5622
PastaPastaPasta pushed a commit to PastaPastaPasta/dash that referenced this pull request Jun 27, 2021
c295cba depends: zeromq: disable draft classes and methods (fanquake)
0072237 depends: xproto: configure flags cleanup (fanquake)
6a8ada3 depends: qrencode: configure flags cleanup (fanquake)
86beb8c depends: fontconfig: configure flags cleanup (fanquake)
e656d95 depends: libxcb: configure flags cleanup (fanquake)
e439388 depends: libXau: configure flags cleanup (fanquake)

Pull request description:

  Related to bitcoin#16354.

  This PR adds additional configure flags to packages in depends to explicitly disable features we aren't using; similar to bitcoin#16183. It also fixes passing `--without-tools` to `qrencode`.

  I've added `--disable-drafts` to `zeromq`:
  ```bash
  Build and install draft classes and methods [default=yes]
  ```

  I'm not entirely sure how far we want to take this. i.e in the `zeromq` package we explicitly pass `--without-libsodium`, even though it's disabled by default.

  Do we also want to explicitly pass all the other `--without` flags? :
  ```bash
    --with-libgssapi_krb5   require libzmq build with libgssapi_krb5
                            [default=no]
    --with-libsodium        use libsodium instead of built-in tweetnacl
                            [default=no]
    --with-pgm              build libzmq with PGM extension. Requires pkg-config
                            [default=no]
    --with-norm             build libzmq with NORM protocol extension,
                            optionally specifying norm path [default=no]
    --with-vmci             build libzmq with VMCI transport [default=no]
  ```

ACKs for top commit:
  dongcarl:
    ACK c295cba

Tree-SHA512: df6d38b863b4008ed2cb06c97eb0e21eaa4b5fde552876065ba7f3c87bf6e372e5b954a51bf3fde2151cfb6d2c022227d34337fc6e50ce0caa1d518abbd2412a
PastaPastaPasta pushed a commit to PastaPastaPasta/dash that referenced this pull request Jun 28, 2021
c295cba depends: zeromq: disable draft classes and methods (fanquake)
0072237 depends: xproto: configure flags cleanup (fanquake)
6a8ada3 depends: qrencode: configure flags cleanup (fanquake)
86beb8c depends: fontconfig: configure flags cleanup (fanquake)
e656d95 depends: libxcb: configure flags cleanup (fanquake)
e439388 depends: libXau: configure flags cleanup (fanquake)

Pull request description:

  Related to bitcoin#16354.

  This PR adds additional configure flags to packages in depends to explicitly disable features we aren't using; similar to bitcoin#16183. It also fixes passing `--without-tools` to `qrencode`.

  I've added `--disable-drafts` to `zeromq`:
  ```bash
  Build and install draft classes and methods [default=yes]
  ```

  I'm not entirely sure how far we want to take this. i.e in the `zeromq` package we explicitly pass `--without-libsodium`, even though it's disabled by default.

  Do we also want to explicitly pass all the other `--without` flags? :
  ```bash
    --with-libgssapi_krb5   require libzmq build with libgssapi_krb5
                            [default=no]
    --with-libsodium        use libsodium instead of built-in tweetnacl
                            [default=no]
    --with-pgm              build libzmq with PGM extension. Requires pkg-config
                            [default=no]
    --with-norm             build libzmq with NORM protocol extension,
                            optionally specifying norm path [default=no]
    --with-vmci             build libzmq with VMCI transport [default=no]
  ```

ACKs for top commit:
  dongcarl:
    ACK c295cba

Tree-SHA512: df6d38b863b4008ed2cb06c97eb0e21eaa4b5fde552876065ba7f3c87bf6e372e5b954a51bf3fde2151cfb6d2c022227d34337fc6e50ce0caa1d518abbd2412a
PastaPastaPasta pushed a commit to PastaPastaPasta/dash that referenced this pull request Jun 29, 2021
c295cba depends: zeromq: disable draft classes and methods (fanquake)
0072237 depends: xproto: configure flags cleanup (fanquake)
6a8ada3 depends: qrencode: configure flags cleanup (fanquake)
86beb8c depends: fontconfig: configure flags cleanup (fanquake)
e656d95 depends: libxcb: configure flags cleanup (fanquake)
e439388 depends: libXau: configure flags cleanup (fanquake)

Pull request description:

  Related to bitcoin#16354.

  This PR adds additional configure flags to packages in depends to explicitly disable features we aren't using; similar to bitcoin#16183. It also fixes passing `--without-tools` to `qrencode`.

  I've added `--disable-drafts` to `zeromq`:
  ```bash
  Build and install draft classes and methods [default=yes]
  ```

  I'm not entirely sure how far we want to take this. i.e in the `zeromq` package we explicitly pass `--without-libsodium`, even though it's disabled by default.

  Do we also want to explicitly pass all the other `--without` flags? :
  ```bash
    --with-libgssapi_krb5   require libzmq build with libgssapi_krb5
                            [default=no]
    --with-libsodium        use libsodium instead of built-in tweetnacl
                            [default=no]
    --with-pgm              build libzmq with PGM extension. Requires pkg-config
                            [default=no]
    --with-norm             build libzmq with NORM protocol extension,
                            optionally specifying norm path [default=no]
    --with-vmci             build libzmq with VMCI transport [default=no]
  ```

ACKs for top commit:
  dongcarl:
    ACK c295cba

Tree-SHA512: df6d38b863b4008ed2cb06c97eb0e21eaa4b5fde552876065ba7f3c87bf6e372e5b954a51bf3fde2151cfb6d2c022227d34337fc6e50ce0caa1d518abbd2412a
PastaPastaPasta pushed a commit to PastaPastaPasta/dash that referenced this pull request Jul 1, 2021
c295cba depends: zeromq: disable draft classes and methods (fanquake)
0072237 depends: xproto: configure flags cleanup (fanquake)
6a8ada3 depends: qrencode: configure flags cleanup (fanquake)
86beb8c depends: fontconfig: configure flags cleanup (fanquake)
e656d95 depends: libxcb: configure flags cleanup (fanquake)
e439388 depends: libXau: configure flags cleanup (fanquake)

Pull request description:

  Related to bitcoin#16354.

  This PR adds additional configure flags to packages in depends to explicitly disable features we aren't using; similar to bitcoin#16183. It also fixes passing `--without-tools` to `qrencode`.

  I've added `--disable-drafts` to `zeromq`:
  ```bash
  Build and install draft classes and methods [default=yes]
  ```

  I'm not entirely sure how far we want to take this. i.e in the `zeromq` package we explicitly pass `--without-libsodium`, even though it's disabled by default.

  Do we also want to explicitly pass all the other `--without` flags? :
  ```bash
    --with-libgssapi_krb5   require libzmq build with libgssapi_krb5
                            [default=no]
    --with-libsodium        use libsodium instead of built-in tweetnacl
                            [default=no]
    --with-pgm              build libzmq with PGM extension. Requires pkg-config
                            [default=no]
    --with-norm             build libzmq with NORM protocol extension,
                            optionally specifying norm path [default=no]
    --with-vmci             build libzmq with VMCI transport [default=no]
  ```

ACKs for top commit:
  dongcarl:
    ACK c295cba

Tree-SHA512: df6d38b863b4008ed2cb06c97eb0e21eaa4b5fde552876065ba7f3c87bf6e372e5b954a51bf3fde2151cfb6d2c022227d34337fc6e50ce0caa1d518abbd2412a
PastaPastaPasta pushed a commit to PastaPastaPasta/dash that referenced this pull request Jul 1, 2021
c295cba depends: zeromq: disable draft classes and methods (fanquake)
0072237 depends: xproto: configure flags cleanup (fanquake)
6a8ada3 depends: qrencode: configure flags cleanup (fanquake)
86beb8c depends: fontconfig: configure flags cleanup (fanquake)
e656d95 depends: libxcb: configure flags cleanup (fanquake)
e439388 depends: libXau: configure flags cleanup (fanquake)

Pull request description:

  Related to bitcoin#16354.

  This PR adds additional configure flags to packages in depends to explicitly disable features we aren't using; similar to bitcoin#16183. It also fixes passing `--without-tools` to `qrencode`.

  I've added `--disable-drafts` to `zeromq`:
  ```bash
  Build and install draft classes and methods [default=yes]
  ```

  I'm not entirely sure how far we want to take this. i.e in the `zeromq` package we explicitly pass `--without-libsodium`, even though it's disabled by default.

  Do we also want to explicitly pass all the other `--without` flags? :
  ```bash
    --with-libgssapi_krb5   require libzmq build with libgssapi_krb5
                            [default=no]
    --with-libsodium        use libsodium instead of built-in tweetnacl
                            [default=no]
    --with-pgm              build libzmq with PGM extension. Requires pkg-config
                            [default=no]
    --with-norm             build libzmq with NORM protocol extension,
                            optionally specifying norm path [default=no]
    --with-vmci             build libzmq with VMCI transport [default=no]
  ```

ACKs for top commit:
  dongcarl:
    ACK c295cba

Tree-SHA512: df6d38b863b4008ed2cb06c97eb0e21eaa4b5fde552876065ba7f3c87bf6e372e5b954a51bf3fde2151cfb6d2c022227d34337fc6e50ce0caa1d518abbd2412a
PastaPastaPasta pushed a commit to PastaPastaPasta/dash that referenced this pull request Jul 12, 2021
c295cba depends: zeromq: disable draft classes and methods (fanquake)
0072237 depends: xproto: configure flags cleanup (fanquake)
6a8ada3 depends: qrencode: configure flags cleanup (fanquake)
86beb8c depends: fontconfig: configure flags cleanup (fanquake)
e656d95 depends: libxcb: configure flags cleanup (fanquake)
e439388 depends: libXau: configure flags cleanup (fanquake)

Pull request description:

  Related to bitcoin#16354.

  This PR adds additional configure flags to packages in depends to explicitly disable features we aren't using; similar to bitcoin#16183. It also fixes passing `--without-tools` to `qrencode`.

  I've added `--disable-drafts` to `zeromq`:
  ```bash
  Build and install draft classes and methods [default=yes]
  ```

  I'm not entirely sure how far we want to take this. i.e in the `zeromq` package we explicitly pass `--without-libsodium`, even though it's disabled by default.

  Do we also want to explicitly pass all the other `--without` flags? :
  ```bash
    --with-libgssapi_krb5   require libzmq build with libgssapi_krb5
                            [default=no]
    --with-libsodium        use libsodium instead of built-in tweetnacl
                            [default=no]
    --with-pgm              build libzmq with PGM extension. Requires pkg-config
                            [default=no]
    --with-norm             build libzmq with NORM protocol extension,
                            optionally specifying norm path [default=no]
    --with-vmci             build libzmq with VMCI transport [default=no]
  ```

ACKs for top commit:
  dongcarl:
    ACK c295cba

Tree-SHA512: df6d38b863b4008ed2cb06c97eb0e21eaa4b5fde552876065ba7f3c87bf6e372e5b954a51bf3fde2151cfb6d2c022227d34337fc6e50ce0caa1d518abbd2412a
PastaPastaPasta pushed a commit to PastaPastaPasta/dash that referenced this pull request Jul 13, 2021
c295cba depends: zeromq: disable draft classes and methods (fanquake)
0072237 depends: xproto: configure flags cleanup (fanquake)
6a8ada3 depends: qrencode: configure flags cleanup (fanquake)
86beb8c depends: fontconfig: configure flags cleanup (fanquake)
e656d95 depends: libxcb: configure flags cleanup (fanquake)
e439388 depends: libXau: configure flags cleanup (fanquake)

Pull request description:

  Related to bitcoin#16354.

  This PR adds additional configure flags to packages in depends to explicitly disable features we aren't using; similar to bitcoin#16183. It also fixes passing `--without-tools` to `qrencode`.

  I've added `--disable-drafts` to `zeromq`:
  ```bash
  Build and install draft classes and methods [default=yes]
  ```

  I'm not entirely sure how far we want to take this. i.e in the `zeromq` package we explicitly pass `--without-libsodium`, even though it's disabled by default.

  Do we also want to explicitly pass all the other `--without` flags? :
  ```bash
    --with-libgssapi_krb5   require libzmq build with libgssapi_krb5
                            [default=no]
    --with-libsodium        use libsodium instead of built-in tweetnacl
                            [default=no]
    --with-pgm              build libzmq with PGM extension. Requires pkg-config
                            [default=no]
    --with-norm             build libzmq with NORM protocol extension,
                            optionally specifying norm path [default=no]
    --with-vmci             build libzmq with VMCI transport [default=no]
  ```

ACKs for top commit:
  dongcarl:
    ACK c295cba

Tree-SHA512: df6d38b863b4008ed2cb06c97eb0e21eaa4b5fde552876065ba7f3c87bf6e372e5b954a51bf3fde2151cfb6d2c022227d34337fc6e50ce0caa1d518abbd2412a
@bitcoin bitcoin locked as resolved and limited conversation to collaborators Dec 16, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants