Discussion:
Failure from no-return-in-nonvoid-function test
Todd Rme
2014-09-09 13:44:41 UTC
Permalink
I am trying to build the latest version of python-numpy. However, the
build is failing with the following problem:

[ 370s] ... running 01-check-debuginfo
[ 370s] ... testing for empty debuginfo packages
[ 370s] ... running 02-check-gcc-output
[ 370s] ... testing for serious compiler warnings
[ 370s] (using /usr/lib/build/checks-data/check_gcc_output)
[ 370s] (using //.build.log)
[ 371s]
[ 371s] I: Program returns random data in a function
[ 371s] E: python3-numpy no-return-in-nonvoid-function _configtest.c:8
[ 371s]
[ 371s] I: Program returns random data in a function
[ 371s] E: python3-numpy no-return-in-nonvoid-function _configtest.c:8


The problem is that there is no "_configtest.c" file in the sources or
binaries. It seems to be a file that is built temporarily to test
build configuration, then deleted. There are a bunch of warnings
during the build, but I cannot determine which (if any) is responsible
for the failure, so I can't figure out where to begin looking to fix
it.

You can see an example build log here:

https://build.opensuse.org/package/live_build_log/home:TheBlackCat:branches:devel:languages:python/python-numpy/openSUSE_13.1/i586


Does anyone have any idea what is causing this failure, or at the very
least which of the warnings it is talking about?
--
To unsubscribe, e-mail: opensuse-packaging+***@opensuse.org
To contact the owner, e-mail: opensuse-packaging+***@opensuse.org
Jan Matějek
2014-09-09 14:29:20 UTC
Permalink
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Post by Todd Rme
The problem is that there is no "_configtest.c" file in the sources or
binaries. It seems to be a file that is built temporarily to test build
configuration, then deleted. There are a bunch of warnings during the
build, but I cannot determine which (if any) is responsible for the
failure, so I can't figure out where to begin looking to fix it.
yes, _configtest.c is coming from distutils. The offending function is
generated from numpy/core/setup.py lines 183-186 and looks like this:

1: int __declspec(thread) a;
2: #ifdef _MSC_VER
3: #pragma function(__declspec(thread))
4: #endif
5: int main (void) {
6: __declspec(thread);
7: return 0;
8:}

the warning in question is "control reaches end of non-void function
[-Wreturn-type]", and in this case the build check is totally spurious -- the
offending program doesn't even compile.

not sure what to do about this.
disable "-Wall" for config checks? explicitly remove "__declspec(thread)" from
OPTIONAL_FUNCTION_ATTRIBUTES (this is probably the simplest fix)? disable the
build check?

hope this helps
m.
Post by Todd Rme
https://build.opensuse.org/package/live_build_log/home:TheBlackCat:branches:devel:languages:python/python-numpy/openSUSE_13.1/i586
Does anyone have any idea what is causing this failure, or at the very
least which of the warnings it is talking about?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQIcBAEBAgAGBQJUDw7AAAoJEIskb84DCy7LxKQP/RhXaVlAtF38JrH38NEB4t6t
ck59Ms1KEnbagPcY7RPZv4QsoWXjZJDLeQKPn2uUTFQmwQTIqepAXUXEYjdo28Bu
I1eABDdHpwBJuxgREKw/76bMwTW0DIZDwGT5ecfVhOlvmhhffNLJUpLu6B/HAj+C
GonIT8ll5tJGtE0vpGjB1JpAp88QrWLI7TIRh2rNmgn3ylZ7BoKtBgd10aGcZUcr
wCWkSaxai+FoGYrsojUrJtRHTzmVB4yxh0bPkaV7orCL86ZsAWU48Ymu/mc/kVPA
DcHGVhetl4m5rrVn+OcXOyhuV/zSmbrwg3D4Cc68GvoJsksR+f2yd33r2jXFQJwJ
DfdgSI0RHHK++/494CkAbq+dbDbq2v+7hUrkEZPQ8wenMTUu/XALaPCwQYwny+VO
v7MB+23kHvfq+TScdcheXmUf0qbg1lAs1qqLYbS5751+M3Eez/6Mwxng94KhgLXa
uHyyFEO7FvkjJmg/B33g90Lc5EZU0eZR9yVEMnlSZlqHG7Y+HF9ury+fzbmovmhA
Ak3aw/I8y0RYjs28O/aftNpmsFCdb1nslEkvRUboizJoDkRQ5HU1zxCobX2xe6RY
S3hnV+6wgrc3CBtrvw0x/ammS4UYKsOUmVsm0HzJaH6zp9DQ3pPGpBt9LAmdnIZ3
OeYk4fRz896N+OSgVtB1
=mb8S
-----END PGP SIGNATURE-----
--
To unsubscribe, e-mail: opensuse-packaging+***@opensuse.org
To contact the owner, e-mail: opensuse-packaging+***@opensuse.org
Todd Rme
2014-09-09 15:19:51 UTC
Permalink
That seems to have worked. Thanks!
Post by Jan Matějek
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Post by Todd Rme
The problem is that there is no "_configtest.c" file in the sources or
binaries. It seems to be a file that is built temporarily to test build
configuration, then deleted. There are a bunch of warnings during the
build, but I cannot determine which (if any) is responsible for the
failure, so I can't figure out where to begin looking to fix it.
yes, _configtest.c is coming from distutils. The offending function is
1: int __declspec(thread) a;
2: #ifdef _MSC_VER
3: #pragma function(__declspec(thread))
4: #endif
5: int main (void) {
6: __declspec(thread);
7: return 0;
8:}
the warning in question is "control reaches end of non-void function
[-Wreturn-type]", and in this case the build check is totally spurious -- the
offending program doesn't even compile.
not sure what to do about this.
disable "-Wall" for config checks? explicitly remove "__declspec(thread)" from
OPTIONAL_FUNCTION_ATTRIBUTES (this is probably the simplest fix)? disable the
build check?
hope this helps
m.
Post by Todd Rme
https://build.opensuse.org/package/live_build_log/home:TheBlackCat:branches:devel:languages:python/python-numpy/openSUSE_13.1/i586
Does anyone have any idea what is causing this failure, or at the very
least which of the warnings it is talking about?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQIcBAEBAgAGBQJUDw7AAAoJEIskb84DCy7LxKQP/RhXaVlAtF38JrH38NEB4t6t
ck59Ms1KEnbagPcY7RPZv4QsoWXjZJDLeQKPn2uUTFQmwQTIqepAXUXEYjdo28Bu
I1eABDdHpwBJuxgREKw/76bMwTW0DIZDwGT5ecfVhOlvmhhffNLJUpLu6B/HAj+C
GonIT8ll5tJGtE0vpGjB1JpAp88QrWLI7TIRh2rNmgn3ylZ7BoKtBgd10aGcZUcr
wCWkSaxai+FoGYrsojUrJtRHTzmVB4yxh0bPkaV7orCL86ZsAWU48Ymu/mc/kVPA
DcHGVhetl4m5rrVn+OcXOyhuV/zSmbrwg3D4Cc68GvoJsksR+f2yd33r2jXFQJwJ
DfdgSI0RHHK++/494CkAbq+dbDbq2v+7hUrkEZPQ8wenMTUu/XALaPCwQYwny+VO
v7MB+23kHvfq+TScdcheXmUf0qbg1lAs1qqLYbS5751+M3Eez/6Mwxng94KhgLXa
uHyyFEO7FvkjJmg/B33g90Lc5EZU0eZR9yVEMnlSZlqHG7Y+HF9ury+fzbmovmhA
Ak3aw/I8y0RYjs28O/aftNpmsFCdb1nslEkvRUboizJoDkRQ5HU1zxCobX2xe6RY
S3hnV+6wgrc3CBtrvw0x/ammS4UYKsOUmVsm0HzJaH6zp9DQ3pPGpBt9LAmdnIZ3
OeYk4fRz896N+OSgVtB1
=mb8S
-----END PGP SIGNATURE-----
--
To unsubscribe, e-mail: opensuse-packaging+***@opensuse.org
To contact the owner, e-mail: opensuse-packaging+***@opensuse.org
Loading...