Summary: | dev-db/freetds-1.00 fails to compile: ../../include/freetds/tds.h:150:2: error: bit-field ‘__res_state’ has invalid type | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Silvio <silvio.gerli> |
Component: | Current packages | Assignee: | No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it <maintainer-needed> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | depasquale.andrea, gentoo, graaff, mjo, silvio.gerli, tczaude, v_2e, web |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
build.log
freetds-1.00.1-fix_include_freetds_tds.patch freetds-1.00.1-fix_src_tds_threadsafe.patch freetds-1.00.1-r2.ebuild freetds-1.00.1-r2.ebuild.patch build.log freetds-1.00.13-r1.ebuild.patch freetds-1.00.13-r1.ebuild emerge-info.txt dev-db:freetds-1.00.41:20170701-101023.log emerge-history.txt environment etc.portage.tbz2 logs.tbz2 temp.tbz2 build log freetds-roken.patch freetds-1.00.41.ebuild |
Description
Silvio
2016-06-11 14:27:51 UTC
Created attachment 437166 [details]
build.log
Looks like a case of http://docs.freebsd.org/cgi/getmsg.cgi?fetch=403453+0+/usr/local/www/mailindex/archive/2014/svn-ports-all/20141019.svn-ports-all which has been fixed upstream in http://docs.freebsd.org/cgi/getmsg.cgi?fetch=2282808+0+/usr/local/www/mailindex/archive/2015/svn-ports-all/20150208.svn-ports-all . Needs revbump. Copying Hans for reference. I don't see that problem but I noticed there is now a 1.00.1 so I added that. Can you test and report back if this version fixes this? (In reply to Hans de Graaff from comment #4) > I don't see that problem but I noticed there is now a 1.00.1 so I added > that. Can you test and report back if this version fixes this? It fails too, exiting in the same way: In file included from threadsafe.c:65:0: /usr/include/roken.h:145:0: note: this is the location of the previous definition #define strlcat rk_strlcat ^ In file included from threadsafe.c:73:0: ../../include/freetds/tds.h:150:2: warning: function declaration isn’t a prototype [-Wstrict-prototypes] TDS_USMALLINT _res:10; ^ ../../include/freetds/tds.h:150:2: error: bit-field ‘__res_state’ has invalid type make[4]: *** [Makefile:556: threadsafe.lo] Error 1 To set expectations: this package is maintainer-needed. Since I was the last to touch the package I was happy to provide the additional version bump, but I won't do further investigations. Please report the error upstream instead. Created attachment 441296 [details, diff]
freetds-1.00.1-fix_include_freetds_tds.patch
Created attachment 441298 [details, diff]
freetds-1.00.1-fix_src_tds_threadsafe.patch
Created attachment 441300 [details]
freetds-1.00.1-r2.ebuild
Created attachment 441302 [details, diff]
freetds-1.00.1-r2.ebuild.patch
taking advantage of the situation We Can update Freetds to newest version I check this patches and compile now all look fine https://github.com/esalamandra/eS-overlay/blob/master/dev-db/freetds/freetds-1.00.11.ebuild Is anyone willing to proxy maintain this? https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers meanwhile, any gentoo dev could push this fixed ebuild. This 2 patches fixes the problem. Created attachment 442178 [details]
build.log
Comment on attachment 442178 [details]
build.log
Now in portage is new version dev-db/freetds-1.00.13 problem look come back ?
Created attachment 442198 [details, diff]
freetds-1.00.13-r1.ebuild.patch
Fixed patch for freetds-1.00.13.ebuild.
Created attachment 442200 [details]
freetds-1.00.13-r1.ebuild
Fixed freetds-1.00.13-r1.ebuild . Works now for me again.
I committed the new version of freetds, but I'm not a heavy user of the package. I'm hesitant to commit these patches without understanding what they fix and how they fix it. Does this compilation failure only happen on a specific platform? With newer versions of gcc? Has anyone reported it as a bug against upstream? one of this patches is also applied by freebsd's freetds port. Maybe it's taken from there, however it's unclear what this patch supposed to fix. What version of gcc used? i'm unable to reproduce this, with fully rebuilt system with gcc-4.9.3 and fully rebuilt system with gcc-5.3.0. I have problem with this but I have very eco cpu ;) old AMD E450. I try recompile yet on my opteron systems. But anyway maybe some CPU flag broke this http://svnweb.freebsd.org/ports/head/databases/freetds/files/patch-include_freetds_tds.h?view=markup GCC uses this for compatibility with M$. Look like 2 similar definitions is in code. And second is that's defined to protect on stack If I good understand ok. but it's not reproducible when you have completely rebuilt system. according to emerge --info of reporter, 2 versions of gcc used. Quite possible that freetds failing due to the fact a part of a system is built with older (or with newer) gcc. I suggest to run emerge -e @system with a certain gcc set, then try building freetds. If failed again, then it's an indication of a bug. For me emerge -e @system not worked Did you try to get that patch upstreamed? please retry with =dev-db/freetds-1.00.41 1.0.41 still fails here. ../../include/freetds/tds.h:150:2: error: bit-field ‘__res_state’ has invalid type same issue with dev-db/freetds-1.00.41 at the unstable amd64 chroot image 17.0-desktop-plasma_20170623-211337 at the tinderbox Created attachment 478532 [details]
emerge-info.txt
Created attachment 478534 [details]
dev-db:freetds-1.00.41:20170701-101023.log
Created attachment 478536 [details]
emerge-history.txt
Created attachment 478538 [details]
environment
Created attachment 478540 [details]
etc.portage.tbz2
Created attachment 478542 [details]
logs.tbz2
Created attachment 478544 [details]
temp.tbz2
Yet error with the stable: -D_REENTRANT -D_THREAD_SAFE -DDEBUG=1 -Wall -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wpointer-arith -pthread -march=native -O2 -pipe -fomit-frame-pointer -Wdeclaration-after-statement -c -o threadsafe.lo threadsafe.c libtool: compile: x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../../include -I../../include -DUNIXODBC -DHAVE_UNISTD_H -DHAVE_PWD_H -DHAVE_SYS_TYPES_H -DHAVE_LONG_LONG -DSIZEOF_LONG_INT=8 -I/usr/include -D_REENTRANT -D_THREAD_SAFE -DDEBUG=1 -Wall -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wpointer-arith -pthread -march=native -O2 -pipe -fomit-frame-pointer -Wdeclaration-after-statement -c config.c -o config.o >/dev/null 2>&1 libtool: compile: x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../../include -I../../include -DUNIXODBC -DHAVE_UNISTD_H -DHAVE_PWD_H -DHAVE_SYS_TYPES_H -DHAVE_LONG_LONG -DSIZEOF_LONG_INT=8 -I/usr/include -D_REENTRANT -D_THREAD_SAFE -DDEBUG=1 -Wall -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wpointer-arith -pthread -march=native -O2 -pipe -fomit-frame-pointer -Wdeclaration-after-statement -c iconv.c -fPIC -DPIC -o .libs/iconv.o libtool: compile: x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../../include -I../../include -DUNIXODBC -DHAVE_UNISTD_H -DHAVE_PWD_H -DHAVE_SYS_TYPES_H -DHAVE_LONG_LONG -DSIZEOF_LONG_INT=8 -I/usr/include -D_REENTRANT -D_THREAD_SAFE -DDEBUG=1 -Wall -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wpointer-arith -pthread -march=native -O2 -pipe -fomit-frame-pointer -Wdeclaration-after-statement -c mem.c -o mem.o >/dev/null 2>&1 libtool: compile: x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../../include -I../../include -DUNIXODBC -DHAVE_UNISTD_H -DHAVE_PWD_H -DHAVE_SYS_TYPES_H -DHAVE_LONG_LONG -DSIZEOF_LONG_INT=8 -I/usr/include -D_REENTRANT -D_THREAD_SAFE -DDEBUG=1 -Wall -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wpointer-arith -pthread -march=native -O2 -pipe -fomit-frame-pointer -Wdeclaration-after-statement -c locale.c -fPIC -DPIC -o .libs/locale.o libtool: compile: x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../../include -I../../include -DUNIXODBC -DHAVE_UNISTD_H -DHAVE_PWD_H -DHAVE_SYS_TYPES_H -DHAVE_LONG_LONG -DSIZEOF_LONG_INT=8 -I/usr/include -D_REENTRANT -D_THREAD_SAFE -DDEBUG=1 -Wall -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wpointer-arith -pthread -march=native -O2 -pipe -fomit-frame-pointer -Wdeclaration-after-statement -c threadsafe.c -fPIC -DPIC -o .libs/threadsafe.o libtool: compile: x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../../include -I../../include -DUNIXODBC -DHAVE_UNISTD_H -DHAVE_PWD_H -DHAVE_SYS_TYPES_H -DHAVE_LONG_LONG -DSIZEOF_LONG_INT=8 -I/usr/include -D_REENTRANT -D_THREAD_SAFE -DDEBUG=1 -Wall -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wpointer-arith -pthread -march=native -O2 -pipe -fomit-frame-pointer -Wdeclaration-after-statement -c locale.c -o locale.o >/dev/null 2>&1 In file included from ../../include/freetds/tds.h:55:0, from threadsafe.c:73: ../../include/replacements.h:79:0: warning: "strlcpy" redefined #define strlcpy(d,s,l) tds_strlcpy(d,s,l) ^ In file included from threadsafe.c:65:0: /usr/include/roken.h:146:0: note: this is the location of the previous definition #define strlcpy rk_strlcpy ^ In file included from ../../include/freetds/tds.h:55:0, from threadsafe.c:73: ../../include/replacements.h:109:0: warning: "strlcat" redefined #define strlcat(d,s,l) tds_strlcat(d,s,l) ^ In file included from threadsafe.c:65:0: /usr/include/roken.h:149:0: note: this is the location of the previous definition #define strlcat rk_strlcat ^ In file included from threadsafe.c:73:0: ../../include/freetds/tds.h:150:2: warning: function declaration isn’t a prototype [-Wstrict-prototypes] TDS_USMALLINT _res:10; ^ ../../include/freetds/tds.h:150:2: error: bit-field ‘__res_state’ has invalid type make[4]: *** [Makefile:556: threadsafe.lo] Error 1 make[4]: *** Attesa per i processi non terminati.... libtool: compile: x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../../include -I../../include -DUNIXODBC -DHAVE_UNISTD_H -DHAVE_PWD_H -DHAVE_SYS_TYPES_H -DHAVE_LONG_LONG -DSIZEOF_LONG_INT=8 -I/usr/include -D_REENTRANT -D_THREAD_SAFE -DDEBUG=1 -Wall -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wpointer-arith -pthread -march=native -O2 -pipe -fomit-frame-pointer -Wdeclaration-after-statement -c token.c -o token.o >/dev/null 2>&1 libtool: compile: x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../../include -I../../include -DUNIXODBC -DHAVE_UNISTD_H -DHAVE_PWD_H -DHAVE_SYS_TYPES_H -DHAVE_LONG_LONG -DSIZEOF_LONG_INT=8 -I/usr/include -D_REENTRANT -D_THREAD_SAFE -DDEBUG=1 -Wall -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wpointer-arith -pthread -march=native -O2 -pipe -fomit-frame-pointer -Wdeclaration-after-statement -c iconv.c -o iconv.o >/dev/null 2>&1 libtool: compile: x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../../include -I../../include -DUNIXODBC -DHAVE_UNISTD_H -DHAVE_PWD_H -DHAVE_SYS_TYPES_H -DHAVE_LONG_LONG -DSIZEOF_LONG_INT=8 -I/usr/include -D_REENTRANT -D_THREAD_SAFE -DDEBUG=1 -Wall -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wpointer-arith -pthread -march=native -O2 -pipe -fomit-frame-pointer -Wdeclaration-after-statement -c convert.c -o convert.o >/dev/null 2>&1 libtool: compile: x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../../include -I../../include -DUNIXODBC -DHAVE_UNISTD_H -DHAVE_PWD_H -DHAVE_SYS_TYPES_H -DHAVE_LONG_LONG -DSIZEOF_LONG_INT=8 -I/usr/include -D_REENTRANT -D_THREAD_SAFE -DDEBUG=1 -Wall -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wpointer-arith -pthread -march=native -O2 -pipe -fomit-frame-pointer -Wdeclaration-after-statement -c query.c -o query.o >/dev/null 2>&1 make[4]: uscita dalla directory "/var/tmp/portage/dev-db/freetds-1.00.41/work/freetds-1.00.41/src/tds" make[3]: *** [Makefile:571: all-recursive] Error 1 make[3]: uscita dalla directory "/var/tmp/portage/dev-db/freetds-1.00.41/work/freetds-1.00.41/src/tds" make[2]: *** [Makefile:445: all] Error 2 make[2]: uscita dalla directory "/var/tmp/portage/dev-db/freetds-1.00.41/work/freetds-1.00.41/src/tds" make[1]: *** [Makefile:420: all-recursive] Error 1 make[1]: uscita dalla directory "/var/tmp/portage/dev-db/freetds-1.00.41/work/freetds-1.00.41/src" make: *** [Makefile:461: all-recursive] Error 1 dev-db/freetds-1.00.41 is marked "stable". Better to change till resolved. Created attachment 486490 [details]
build log
I test from 1.0.41 to 1.0.51 and same result I solved the problem, When It compiled with app-crypt/heimdal, it shows this error. Created attachment 488380 [details, diff]
freetds-roken.patch
Path to remove include roken.h, it never used.
Created attachment 488382 [details]
freetds-1.00.41.ebuild
(In reply to INODE64 Sistemas from comment #39) > I test from 1.0.41 to 1.0.51 and same result > > I solved the problem, When It compiled with app-crypt/heimdal, it shows this > error. Aha! I can finally reproduce this, thank you! This is fixed in freetds-1.00.53, but freetds.org is down at the moment so I can't push out the new version. (I grabbed the tarball from a mirror but no idea if the hash is correct.) Once the site is back up, I'll commit the new version and it should fix this problem. Ok, v1.00.53 is in the tree and this should finally be fixed. Please try it if you were experiencing this problem. No news is good news? |