Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

xercesc: disable SSE2 extension #50536

Merged
merged 1 commit into from Nov 18, 2018
Merged

xercesc: disable SSE2 extension #50536

merged 1 commit into from Nov 18, 2018

Conversation

c0bw3b
Copy link
Contributor

@c0bw3b c0bw3b commented Nov 18, 2018

Motivation for this change

Disable SSE2 extensions on platforms for which they are not enabled
by default. This does not disable sse2 extensions on systems for
which they are enabled by default, such as amd64.

This only prevents segfaults on i686 with no SSE2 support and doesn't change anything on x64.
It was uncovered in #38545 where xmlcopyeditor complains at first launch that xerces-c is built with SSE2 support and that it is not thread-safe.

Turns out that all major distros are passing the flag --disable-sse2 to it.
¤ Debian : bug #574857
¤ CentOS and Fedora changelogs : - Disable explicit -msse2 to make sure the binaries run on non-SSE2 i686
¤ Arch PKGBUILD for this

Also done :
+ enabled parallel building
+ changed homepage to use https

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Fits CONTRIBUTING.md.

Disable SSE2 extensions on platforms for which they are not enabled
by default. This does not disable sse2 extensions on systems for
which they are enabled by default, such as amd64.
@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Attempted: xercesc

Partial log (click to expand)

shrinking /nix/store/r48ils8z2knc2vvnw4x2k8gjmgpg6ggc-xerces-c-3.2.2/bin/EnumVal
shrinking /nix/store/r48ils8z2knc2vvnw4x2k8gjmgpg6ggc-xerces-c-3.2.2/bin/DOMPrint
shrinking /nix/store/r48ils8z2knc2vvnw4x2k8gjmgpg6ggc-xerces-c-3.2.2/bin/DOMCount
shrinking /nix/store/r48ils8z2knc2vvnw4x2k8gjmgpg6ggc-xerces-c-3.2.2/bin/CreateDOMDocument
shrinking /nix/store/r48ils8z2knc2vvnw4x2k8gjmgpg6ggc-xerces-c-3.2.2/lib/libxerces-c-3.2.so
strip is /nix/store/p9akxn2sfy4wkhqdqa3li97pc6jaz3r1-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/r48ils8z2knc2vvnw4x2k8gjmgpg6ggc-xerces-c-3.2.2/lib  /nix/store/r48ils8z2knc2vvnw4x2k8gjmgpg6ggc-xerces-c-3.2.2/bin
patching script interpreter paths in /nix/store/r48ils8z2knc2vvnw4x2k8gjmgpg6ggc-xerces-c-3.2.2
checking for references to /build in /nix/store/r48ils8z2knc2vvnw4x2k8gjmgpg6ggc-xerces-c-3.2.2...
/nix/store/r48ils8z2knc2vvnw4x2k8gjmgpg6ggc-xerces-c-3.2.2

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: xercesc

Partial log (click to expand)

shrinking /nix/store/15fmpmxv277jd97q1hgzryhb50ly2v5j-xerces-c-3.2.2/bin/Redirect
shrinking /nix/store/15fmpmxv277jd97q1hgzryhb50ly2v5j-xerces-c-3.2.2/bin/MemParse
shrinking /nix/store/15fmpmxv277jd97q1hgzryhb50ly2v5j-xerces-c-3.2.2/bin/SAXCount
shrinking /nix/store/15fmpmxv277jd97q1hgzryhb50ly2v5j-xerces-c-3.2.2/bin/SAX2Print
shrinking /nix/store/15fmpmxv277jd97q1hgzryhb50ly2v5j-xerces-c-3.2.2/lib/libxerces-c-3.2.so
strip is /nix/store/vcc4svb8gy29g4pam2zja6llkbcwsyiq-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/15fmpmxv277jd97q1hgzryhb50ly2v5j-xerces-c-3.2.2/lib  /nix/store/15fmpmxv277jd97q1hgzryhb50ly2v5j-xerces-c-3.2.2/bin
patching script interpreter paths in /nix/store/15fmpmxv277jd97q1hgzryhb50ly2v5j-xerces-c-3.2.2
checking for references to /build in /nix/store/15fmpmxv277jd97q1hgzryhb50ly2v5j-xerces-c-3.2.2...
/nix/store/15fmpmxv277jd97q1hgzryhb50ly2v5j-xerces-c-3.2.2

@Mic92
Copy link
Member

Mic92 commented Nov 18, 2018

@GrahamcOfBorg build xercesc

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Attempted: xercesc

Partial log (click to expand)

/nix/store/r48ils8z2knc2vvnw4x2k8gjmgpg6ggc-xerces-c-3.2.2

@GrahamcOfBorg
Copy link

Success on x86_64-darwin (full log)

Attempted: xercesc

Partial log (click to expand)

make[2]: Nothing to be done for 'install-exec-am'.
 /nix/store/acnfbicd84bnya2l2dq868b5l482qihw-coreutils-8.30/bin/mkdir -p '/nix/store/8z88gv1ahyhpzji7pkpqcvnjlrk6500p-xerces-c-3.2.2/lib/pkgconfig'
 /nix/store/acnfbicd84bnya2l2dq868b5l482qihw-coreutils-8.30/bin/install -c -m 644 xerces-c.pc '/nix/store/8z88gv1ahyhpzji7pkpqcvnjlrk6500p-xerces-c-3.2.2/lib/pkgconfig'
make[2]: Leaving directory '/private/tmp/nix-build-xerces-c-3.2.2.drv-0/xerces-c-3.2.2'
make[1]: Leaving directory '/private/tmp/nix-build-xerces-c-3.2.2.drv-0/xerces-c-3.2.2'
post-installation fixup
strip is /nix/store/g5r4apl0za012ffs6ladinwa5w0m1l3k-cctools-binutils-darwin/bin/strip
stripping (with command strip and flags -S) in /nix/store/8z88gv1ahyhpzji7pkpqcvnjlrk6500p-xerces-c-3.2.2/lib  /nix/store/8z88gv1ahyhpzji7pkpqcvnjlrk6500p-xerces-c-3.2.2/bin
patching script interpreter paths in /nix/store/8z88gv1ahyhpzji7pkpqcvnjlrk6500p-xerces-c-3.2.2
/nix/store/8z88gv1ahyhpzji7pkpqcvnjlrk6500p-xerces-c-3.2.2

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: xercesc

Partial log (click to expand)

shrinking /nix/store/15fmpmxv277jd97q1hgzryhb50ly2v5j-xerces-c-3.2.2/bin/DOMPrint
shrinking /nix/store/15fmpmxv277jd97q1hgzryhb50ly2v5j-xerces-c-3.2.2/bin/SAX2Count
shrinking /nix/store/15fmpmxv277jd97q1hgzryhb50ly2v5j-xerces-c-3.2.2/bin/SEnumVal
shrinking /nix/store/15fmpmxv277jd97q1hgzryhb50ly2v5j-xerces-c-3.2.2/bin/CreateDOMDocument
shrinking /nix/store/15fmpmxv277jd97q1hgzryhb50ly2v5j-xerces-c-3.2.2/bin/EnumVal
strip is /nix/store/vcc4svb8gy29g4pam2zja6llkbcwsyiq-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/15fmpmxv277jd97q1hgzryhb50ly2v5j-xerces-c-3.2.2/lib  /nix/store/15fmpmxv277jd97q1hgzryhb50ly2v5j-xerces-c-3.2.2/bin
patching script interpreter paths in /nix/store/15fmpmxv277jd97q1hgzryhb50ly2v5j-xerces-c-3.2.2
checking for references to /build in /nix/store/15fmpmxv277jd97q1hgzryhb50ly2v5j-xerces-c-3.2.2...
/nix/store/15fmpmxv277jd97q1hgzryhb50ly2v5j-xerces-c-3.2.2

@c0bw3b c0bw3b merged commit b7361e4 into NixOS:master Nov 18, 2018
@c0bw3b c0bw3b mentioned this pull request Nov 18, 2018
8 tasks
@c0bw3b c0bw3b deleted the pkg/xercesc branch December 6, 2018 20:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants