virtuoso-server generates C code from SQL files using some awk scripts. These produce bad escape-sequences with gawk-4.0.0 while working correctly with gawk-3.x Reproducible: Always Steps to Reproduce: 1. ACCEPT_KEYWORDS=~x86 2. emerge -1 gawk virtuoso-server 3.
PLease add also build.log as attachment and emerge --info. So you should specify which version of virtuoso-server otherwise I must close as NEEDINFO. TIA
*** Bug 374315 has been marked as a duplicate of this bug. ***
I've restricted <sys-apps/gawk-4.0.0 in virtuoso.eclass for now.
I've opened an upstream bug about this (see URL).
It's quite easy to change the awk scripts to work with gawk-4.0.0, but then they would no longer work with earlier versions of gawk. Since virtuoso's dependency on gawk version is set in virtuoso.eclass, this couldn't be changed until gawk-4.0.0 is stable on all the arches that virtuoso-server-6.1.2 and virtuoso-odbc-6.1.2 is stable on. Once that happens, a patch could be added to VOS-genpatches-6.1.2 and VOS-genpatches-6.1.3 to change the awk scripts for gawk-4.0.0 and the eclass changed to depend on gawk-4.0.0 or above. gawk-4.0.0 doesn't have a command-line option to make the gsub() function compatible with earlier versions, and earlier versions of gawk wouldn't understand the option anyway. Also, Virtuoso's awk scripts use GAWK-specific functionality, so they can't be run in gawk's compatibility mode or posix mode. One option might be to conditionally patch virtuoso depending on the currently installed version of gawk, as it's only a build-time dependency, not a run-time dependency.
I've requested virtuoso-6.1.3 stabilization to simplify things a bit, bug 375171
(In reply to comment #5) > Since virtuoso's > dependency on gawk version is set in virtuoso.eclass, this couldn't be changed > until gawk-4.0.0 is stable on all the arches that virtuoso-server-6.1.2 and > virtuoso-odbc-6.1.2 is stable on. Once that happens, a patch could be added to > VOS-genpatches-6.1.2 and VOS-genpatches-6.1.3 to change the awk scripts for > gawk-4.0.0 and the eclass changed to depend on gawk-4.0.0 or above. Is there a good reason agains moving the dependency from the eclass to the individual ebuilds, and having the gawk script adjustment patch tested on ~ARCH soon, in revbumped ebuilds which depend on gawk-4? Once gawk-4 goes stable, you could either stabilize them or--if you want to avoid unnecessary upgrades for stable users--you could simply rename them to the un-revbumped names, forcing ~ARCH to downgrade but keeping stable ARCH with the same runtime setup.
*** Bug 375147 has been marked as a duplicate of this bug. ***
Created attachment 285109 [details, diff] Proposed patch for sql_to_c.awk script I have made a fix which works with both gawk 3.1.5, 3.1.8 and 4.0.0. This will be part of the upcoming VOS 6.1.4 release.
(In reply to comment #9) > Created attachment 285109 [details, diff] > Proposed patch for sql_to_c.awk script > > I have made a fix which works with both gawk 3.1.5, 3.1.8 and 4.0.0. > > This will be part of the upcoming VOS 6.1.4 release. I think there are a few other awk scripts that use gsub() that would need a similar fix.
Indeed. A quick glance at <URL:http://virtuoso.cvs.sourceforge.net/viewvc/virtuoso/virtuoso-opensource/binsrc/hosting/python/py_to_c.awk?revision=1.1.1.1&view=markup#l51> makes me think that the problem has not been resolved everywhere in the 6.1.4 release. Hint if you like to patch this: take the sources and run a $ find -name \*.awk -exec grep -l gsub '{}' + and maybe (the quite hackish) $ find -name \*.awk -exec grep -l gsub '{}' + | xargs grep -l PROCINFO This may not find all awk programs; I don’t know how the code is organized.
Created attachment 292757 [details, diff] Patch fixing all occurrences of gsub that I could find in awk scripts. With this patch, I can successfully build dev-db/virtuoso-odbc-6.1.3 and dev-db/virtuoso-server-6.1.3-r1 with sys-apps/gawk-4.0.0 installed. Feel free to take this upstream so that it can be fixed in 6.1.5+.
(In reply to comment #12) > Feel free to take this upstream so that it can be fixed in 6.1.5+. I wonder if Patrick van Kleef (comment #9) will spot this as he doesn't appear to be on the Cc list. I hope we can get this fix in VOS-genpatches-6.1.2.tar.bz2 and VOS-genpatches-6.1.3.tar.bz2 at least, and remove the '<sys-apps/gawk-4.0.0' dependency in virtuoso.eclass.
Hmm... Any news on this?
I added updated virtuoso 6.1.4 to kde overlay
6.1.4 in tree. Thanks Alexxy, I've replaced your VOS-genpatches-6.1.4 with 6.1.3 renamed (it seems you unnecessarily repacked this tarball). Retroactively patching 6.1.2 and/or 6.1.3 for gawk4 is futile imho - we'd rather stabilize 6.1.4. I've moved gawk 'blocks' from eclass to respective virtuoso-server versions. Thanks for the patch Nico (and Patrick, although he unsubscribed). I haven't added it yet since it doesn't fix anything we package, I'll try to upstream it though.