[opensuse-packaging] Netsurf fails to build because of 64bit-portability-issue
Hi, I would like to provide a Netsurf up-to-date package to openSUSE Leap. When building the RPM locally no problem happens but when building it in the OBS it fails at the very end of the process, when checks are done (whereas packages have been already successfully created), with the following output : [ 109s] netsurf-3.7-0.x86_64 [ 109s] ... running 01-check-debuginfo [ 109s] ... testing for empty debuginfo packages [ 109s] ... running 02-check-gcc-output [ 109s] ... testing for serious compiler warnings [ 109s] (using /usr/lib/build/checks-data/check_gcc_output) [ 109s] (using /var/tmp/build-root/openSUSE_Leap_42.3-x86_64/.build.log) [ 109s] E: netsurf 64bit-portability-issue build-x86_64-suse-linux-x86_64-suse-linux-release-binary/nsgenbind-parser.c:1520 [ 109s] [ 109s] requiem.eveha.fr failed "build netsurf.spec" at Tue Jan 9 10:19:51 UTC 2018. [ 109s] Is there a specific GCC flags or macros that I can use to prevent this or is it code related ? Regards, -- Sébastien 'sogal' Poher -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On Mon, Jan 15, 2018 at 08:13:35AM +0100, sogal wrote:
Hi, I would like to provide a Netsurf up-to-date package to openSUSE Leap. When building the RPM locally no problem happens but when building it in the OBS it fails at the very end of the process, when checks are done (whereas packages have been already successfully created), with the following output :
[ 109s] netsurf-3.7-0.x86_64 [ 109s] ... running 01-check-debuginfo [ 109s] ... testing for empty debuginfo packages [ 109s] ... running 02-check-gcc-output [ 109s] ... testing for serious compiler warnings [ 109s] (using /usr/lib/build/checks-data/check_gcc_output) [ 109s] (using /var/tmp/build-root/openSUSE_Leap_42.3-x86_64/.build.log) [ 109s] E: netsurf 64bit-portability-issue build-x86_64-suse-linux-x86_64-suse-linux-release-binary/nsgenbind-parser.c:1520 [ 109s] [ 109s] requiem.eveha.fr failed "build netsurf.spec" at Tue Jan 9 10:19:51 UTC 2018. [ 109s]
Is there a specific GCC flags or macros that I can use to prevent this or is it code related ?
It is code related. You can fix the code. There is probably a integer <-> pointer conversion in this line. Ciao, Marcus -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
El 15-01-2018 a las 4:13, sogal escribió:
Hi, I would like to provide a Netsurf up-to-date package to openSUSE Leap. When building the RPM locally no problem happens but when building it in the OBS it fails at the very end of the process, when checks are done (whereas packages have been already successfully created), with the following output :
[ 109s] netsurf-3.7-0.x86_64 [ 109s] ... running 01-check-debuginfo [ 109s] ... testing for empty debuginfo packages [ 109s] ... running 02-check-gcc-output [ 109s] ... testing for serious compiler warnings [ 109s] (using /usr/lib/build/checks-data/check_gcc_output) [ 109s] (using /var/tmp/build-root/openSUSE_Leap_42.3-x86_64/.build.log) [ 109s] E: netsurf 64bit-portability-issue build-x86_64-suse-linux-x86_64-suse-linux-release-binary/nsgenbind-parser.c:1520 [ 109s] [ 109s] requiem.eveha.fr failed "build netsurf.spec" at Tue Jan 9 10:19:51 UTC 2018. [ 109s]
Is there a specific GCC flags or macros that I can use to prevent this or is it code related ?
You need to fix the code.. now if you provide an URL to see the complete build log.. maybe someone can help.. -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
Hi Marcus, Cristian and all, Le lundi 15 janvier 2018 à 11:26:25, Cristian Rodríguez a écrit :
El 15-01-2018 a las 4:13, sogal escribió:
Hi, I would like to provide a Netsurf up-to-date package to openSUSE Leap. When building the RPM locally no problem happens but when building it in the OBS it fails at the very end of the process, when checks are done (whereas packages have been already successfully created), with the following output :
[ 109s] netsurf-3.7-0.x86_64 [ 109s] ... running 01-check-debuginfo [ 109s] ... testing for empty debuginfo packages [ 109s] ... running 02-check-gcc-output [ 109s] ... testing for serious compiler warnings [ 109s] (using /usr/lib/build/checks-data/check_gcc_output) [ 109s] (using /var/tmp/build-root/openSUSE_Leap_42.3-x86_64/.build.log) [ 109s] E: netsurf 64bit-portability-issue build-x86_64-suse-linux-x86_64-suse-linux-release-binary/nsgenbind-parser.c:1520 [ 109s] [ 109s] requiem.eveha.fr failed "build netsurf.spec" at Tue Jan 9 10:19:51 UTC 2018. [ 109s]
Is there a specific GCC flags or macros that I can use to prevent this or is it code related ?
You need to fix the code.. now if you provide an URL to see the complete build log.. maybe someone can help..
Indeed, here it is [0] I don't know of to fix the faulty file (nsgenbind-parser.c [1]), it is created during the build process. The only related file that I could find in the source tarball is nsgenbind-parser.y [2] I guess this file is used to generate the .c file that causes this error. Or am I wrong ? [0] https://paste.opensuse.org/17857989 [1] https://paste.opensuse.org/68257692 [2] http://source.netsurf-browser.org/nsgenbind.git/tree/src/nsgenbind-parser.y -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
Hi, On Mon, 15 Jan 2018, sogal wrote:
You need to fix the code.. now if you provide an URL to see the complete build log.. maybe someone can help..
Indeed, here it is [0] I don't know of to fix the faulty file (nsgenbind-parser.c [1]), it is created during the build process. The only related file that I could find in the source tarball is nsgenbind-parser.y [2] I guess this file is used to generate the .c file that causes this error. Or am I wrong ?
No, that's correct. The .y file has this somewhere at the top: ----------------- %code requires { #define YYLTYPE YYLTYPE typedef struct YYLTYPE { struct YYLTYPE *next; .... ----------------- Replace the #define above such that in the end it looks like: ----------------- %code requires { #define NSGENBIND_LTYPE NSGENBIND_LTYPE typedef struct YYLTYPE { struct YYLTYPE *next; ----------------- The problem is that the .y file (at least the %code requires section) is written with the default prefixes of yacc symbols in mind (the 'YY' prefix), but the Makefile calls bison with --define=api.prefix=nsgenbind_. That renames all symbols to look line NSGENBIND_foo, including LTYPE, and the #ifdef machinery becomes confused if both are used. Ciao, Michael. -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
Hi, Le lundi 15 janvier 2018 à 05:56:38, Michael Matz a écrit :
Hi,
On Mon, 15 Jan 2018, sogal wrote:
You need to fix the code.. now if you provide an URL to see the complete build log.. maybe someone can help..
Indeed, here it is [0] I don't know of to fix the faulty file (nsgenbind-parser.c [1]), it is created during the build process. The only related file that I could find in the source tarball is nsgenbind-parser.y [2] I guess this file is used to generate the .c file that causes this error. Or am I wrong ?
No, that's correct. The .y file has this somewhere at the top:
----------------- %code requires {
#define YYLTYPE YYLTYPE typedef struct YYLTYPE { struct YYLTYPE *next; .... -----------------
Replace the #define above such that in the end it looks like:
----------------- %code requires {
#define NSGENBIND_LTYPE NSGENBIND_LTYPE typedef struct YYLTYPE { struct YYLTYPE *next; -----------------
The problem is that the .y file (at least the %code requires section) is written with the default prefixes of yacc symbols in mind (the 'YY' prefix), but the Makefile calls bison with --define=api.prefix=nsgenbind_. That renames all symbols to look line NSGENBIND_foo, including LTYPE, and the #ifdef machinery becomes confused if both are used.
Thanks a lot Michael, it worked perfectly ! Thank you for the detailled explanations as well. Cheers, -- Sébastien 'sogal' Poher -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
participants (5)
-
Cristian Rodríguez
-
Marcus Meissner
-
Michael Matz
-
sogal
-
Sébastien 'sogal' Poher