Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 262252 - gnome-base/orbit-2.14.x requires patch to fix *weird* IRIX problem...
Summary: gnome-base/orbit-2.14.x requires patch to fix *weird* IRIX problem...
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo/Alt
Classification: Unclassified
Component: Prefix Support (show other bugs)
Hardware: All IRIX
: High normal (vote)
Assignee: Gentoo Prefix
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-03-12 11:52 UTC by Stuart Shelton
Modified: 2011-12-15 18:08 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
ORBit2 uncorrupt patch (ORBit2.patch,64.05 KB, patch)
2009-03-12 11:59 UTC, Stuart Shelton
Details | Diff
ORBit2 IDL generation patch (ORBit2.idl.patch,1.67 KB, patch)
2009-03-24 10:59 UTC, Stuart Shelton
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Stuart Shelton 2009-03-12 11:52:30 UTC
ORBit2 auto-generates headers as part of its build-process, and for some reason - on IRIX - these are always corrupt in exactly the same way.

The identical patch can apply cleanly to ORBit2 2.14.16 and 2.14.17.

Somehow, it seems out output "^PH³ " in place of "d 1\n".  This is entirely repeatable.

It's possible that this is another string-formatting issue (as seen with sqlite), but this seems different...

I'd not sure how to go about integrating anything into the ebuild either, as these headers are generated during the build, and the entire build, including configuration and compilation, are all handled by a single call to an eclass.

I ended up doing an 'emerge orbit', followed by applying the patch, manually completing the build, touching '.configured' and '.compiled', then then running 'ebuild ... install'/'ebuild ... qmerge'.
Comment 1 Stuart Shelton 2009-03-12 11:59:09 UTC
Created attachment 184797 [details, diff]
ORBit2 uncorrupt patch


The only formats similar to those causing problems in sqlite are:

linc2/test/test-linc.c:         fprintf (stderr, "\t'%8s': %2d, %3d, %2d, 0x%.4x [%c%c%c%c%c]\n",
src/orb/poa/poa.c:#  define LOCK_DEBUG(a) g_printerr("%p: %6s file %s: line %d (%s)\n", \
test/typelib-dump.c:    printf ("Type %12s: '%s'\n",
test/test-performance.c:                fprintf (stderr, " copy %20s : %g(ms)\n",
test/everything/client.c:               fprintf (stderr, "Protocol %8s: %s\n",

... so this does look like a different problem.
Comment 2 Stuart Shelton 2009-03-12 12:00:27 UTC
Warning - if it's uploaded correctly, the patch contains control-characters, and probably won't display correctly in your browser.  Don't copy-and-paste!
Comment 3 Fabian Groffen gentoo-dev 2009-03-22 09:36:41 UTC
this piece of code seems to be responsible for it, but it doesn't look suspicious at all:

src/idl-compiler/orbit-idl-c-headers.c:349
static void
ch_output_interface(IDL_tree tree, OIDL_Run_Info *rinfo, OIDL_C_Info *ci)
{
    char *fullname;
    fullname = orbit_cbe_get_typespec_str(tree);
    fprintf(ci->fh, "#if !defined(ORBIT_DECL_%s) && !                           defined(_%s_defined)\n#define ORBIT_DECL_%s 1\n#define _%s_defined 1\n",        fullname, fullname, fullname, fullname);

    if ( tree->declspec & IDLF_DECLSPEC_PIDL ) {
        /* PIDL interfaces are not normal CORBA Objects */
        fprintf(ci->fh, "typedef struct %s_type *%s;\n", fullname, fullname);
    fprintf(ci->fh, "#ifndef TC_%s\n", fullname);
    fprintf(ci->fh, "#  define TC_%s TC_CORBA_Object\n", fullname);
    fprintf(ci->fh, "#endif\n");
Comment 4 Stuart Shelton 2009-03-24 10:59:46 UTC
Created attachment 186091 [details, diff]
ORBit2 IDL generation patch


Okay, this is weird... on a hunch, I split the printfs in the function above, and now orbit compiles and tests successfully(*).

Perhaps this is some bug which only manifests when the same argument is passed to (f)printf multiple times?


(*) Actually, the tests fail with:

Please kill timeout-server and/or lt-timeout-server from another window,
then type something here.

... yet the only process running is "timeout.sh".  Sending a HUP to this results in:

/opt/gentoo/bin/bash: line 4: 57546172 Hangup                  ${dir}$tst
FAIL: timeout.sh

...

=======================================================================         1 of 6 tests failed                                                             Please report to http://bugzilla.gnome.org/enter_bug.cgi?product=ORBit2         =======================================================================         make[4]: *** [check-TESTS] Error 1                                      

... but otherwise everything looks okay.  IMHO, test-suites shouldn't require manual input unless absolutely vital, and certainly shouldn't require you to kill processes to complete.  Any chance of patching-out this particular test?
Comment 5 Fabian Groffen gentoo-dev 2011-12-15 18:08:45 UTC
We are sorry to close this bug.  We lack the man-power and devotion to support mips-irix in the tree.