Summary: | app-crypt/dieharder-3.31.1 - In file included from bits.c:7: /usr/include/unistd.h:1043:20: error: unknown type name 'intptr_t' | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Toralf Förster <toralf> |
Component: | Current packages | Assignee: | Crypto team [DISABLED] <crypto+disabled> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | alonbl, mike.gentoo-bugs, zeekec |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | 549754 | ||
Bug Blocks: | |||
Attachments: |
emerge log
patch to add stdint.h include dieharder-3.31.1-build.patch |
Description
Toralf Förster
2014-11-30 20:53:28 UTC
it seems glibc-2.20 issue, I cannot reproduce with glibc-2.19 Created attachment 403502 [details, diff]
patch to add stdint.h include
Adding this include fixes the build with glibc 2.20-r2.
shouldn't stdint.h be included from unistd.h if it uses its types? I am not sure. I have filed a bug against glibc here: https://bugs.gentoo.org/show_bug.cgi?id=549754 dieharder is broken: include/dieharder/libdieharder.h:#define __USE_MISC 1 include/dieharder/libdieharder.h:#define __USE_BSD 1 that code is completely invalid. it needs to use the public _USE_xxx defines instead. see the feature_test_macros man page for details. Thanks SpanKY, it does appear that dieharder is improperly using glibc internals, and the switch to std=c99 exposed this. I will see about producing a patch that fixes it, and will ping upstream with that. please try to remove the following from ./include/dieharder/libdieharder.h #define __USE_MISC 1 #define __USE_BSD 1 and set -D_GNU_SOURCE at CPPFLAGS or CFLAGS and see if it helps you, working for me for the stable glibc. if it works for you we can workout this in ebuild. ok, this is one of the worse build system I've ever seen. Created attachment 403570 [details, diff]
dieharder-3.31.1-build.patch
and this is only the start, now every source should contain:
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
here is where I stopped... this project abuses the autoconf/automake to a level that is unfixable, not sure it worth to maintain this package.
Seems an incredibly useful package to abandon. (In reply to Michael Trinque from comment #10) > Seems an incredibly useful package to abandon. Yes, I wish I had the knowledge to fix this. Can't upstream be offered friendly advice on how to fix it? -- Regards, Mick please try comment#7. Ugly hack was added to dieharder-3.31.1-r1. Expect more breakage. If upstream is not alive we will not be able to fix as build system is one of the worse. |