First Last Prev Next    No search results available      Search page      Enter new bug
Bug#: 190163
Alias:
Product:
Component:
Status: RESOLVED
Resolution: FIXED
Assigned To: Gentoo Science Physics related packages <sci-physics@gentoo.org>
Hardware:
OS:
Version:
Priority:
Severity:
Reporter: Ferris McCormick <fmccor@gentoo.org>
Add CC:
CC:
Remove selected CCs
URL:
Summary:
Status Whiteboard:
Keywords:

Filename Description Type Creator Created Size Actions
sparc-root-5.16.00.patch Patch to xrootd in root-5.16.00 to allow a clean build on sparc patch Ferris McCormick 2007-08-28 13:33 0000 1.31 KB Details | Diff
root-5.16.00.ebuild.patch patch to root-5.16.00.ebuild to apply the sparc xrootd ebuild patch 129447 patch Ferris McCormick 2007-08-28 13:37 0000 467 bytes Details | Diff
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 190163 depends on: Show dependency tree
Bug 190163 blocks:
Votes: 0    Show votes for this bug    Vote for this bug

Additional Comments: (this is where you put emerge --info)


Not eligible to see or edit group visibility for this bug.






View Bug Activity   |   Format For Printing   |   XML   |   Clone This Bug


Description:   Opened: 2007-08-25 12:30 0000
First attempt to build root-5.16.00 failed for me on sparc.  Specific message
is:

g++: xrootd/src/xrootd/lib/libXrdOuc.a: No such file or directory
g++: xrootd/src/xrootd/lib/libXrdNet.a: No such file or directory
g++: xrootd/src/xrootd/lib/libXrdSys.a: No such file or directory

Initial investigation seems to trace this back to an indication that
configure.classic could not identify the architecture, and indeed,
configure.classic does not know sparc/linux.  I suspect it needs to configure
just as linux, the same way the main configure does.

I'll check later to see if this part of the sparc fix is incorporated:

--- root/xrootd/src/xrootd/configure.classic-   2007-02-09 15:35:58.000000000
+0000
+++ root/xrootd/src/xrootd/configure.classic    2007-02-09 15:37:38.000000000
+0000
@@ -421,6 +421,7 @@
       linux:arm*:*)       arch=arm_linux       ; platform=linux; ccflv=gcc;;
       linux:ppc64:*)      arch=ppc_linux       ; platform=linux;
ccflv=gccppc64;;
       linux:ppc*:*)       arch=ppc_linux       ; platform=linux; ccflv=gcc;;
+      linux:sparc*:*)     arch=sparc_linux     ; platform=linux; ccflv=gcc;;
       darwin:power*:7.4*) arch=macosx_74       ; platform=macosx;
ccflv=macos;;
       darwin:power*:7*)   arch=ppc_darwin_70   ; platform=macosx;
ccflv=macos;;
       darwin:power*:*)    arch=macosx          ; platform=macosx;
ccflv=macos;;
(My guess is that it is not, but I'll look more closely later.)

------- Comment #1 From Ferris McCormick 2007-08-26 01:09:05 0000 -------
The problem is almost certainly that none of the xrootd part of the patch in
sparc-root-5.14.00c.patch is present.  That is, upstream did fix the first part
of that patch (the root/configure patch), but the two patches in xrootd (to
xrootd/src/xrootd/configue.classic and to xrootd/src/xrootd/config/ARCHS) are
still not there.  If I stop the build and apply them by hand, then the build is
successful and root installs.

Now, we can generate a corresponding patch to -5.16.00, but it strikes me as
silly to do that, because we are talking a two-line patch here, and upstream
has already expressed a willingness to accomodate sparc/linux.  Apparently,
they can't test it and did not notice that they left out the patch for xrootd.

Since I don't think anyone with sparc is waiting for -5.16.00 for anything,
I'll follow your lead.  If you want a patch guaranteed to apply against
-5.16.00, I can make you one (and then the same corresponding ebuild change
will be needed for -5.16.00 as for -5.14.00c because we still have to unpack
the xrootd .tbz file, apply the patch, and rebuild the tbz file).  If you
prefer to push on CERN to apply the complete fix, please go ahead and remove
the ~sparc keyword from -5.16.00, because as it is now, it is guaranteed not to
build on sparc.

If you just comment on this bug, of course all sparc developers will see how
you think is the better way to go.

(Indeed, however, the parallel make problem is fixed.)

------- Comment #2 From Ferris McCormick 2007-08-26 01:24:18 0000 -------
(In reply to comment #1)
>
>  If you
> prefer to push on CERN to apply the complete fix, please go ahead and remove
> the ~sparc keyword from -5.16.00, because as it is now, it is guaranteed not to
> build on sparc.

Um, let's not do that.  Please just comment on the bug and leave the keyword. 
We might just package.mask this version until CERN updates the sources.

> 
> If you just comment on this bug, of course all sparc developers will see how
> you think is the better way to go.
> 
> (Indeed, however, the parallel make problem is fixed.)
> 

------- Comment #3 From Sébastien Fabbro 2007-08-27 20:35:46 0000 -------
> >  If you
> > prefer to push on CERN to apply the complete fix, please go ahead and remove
> > the ~sparc keyword from -5.16.00, because as it is now, it is guaranteed not to
> > build on sparc.
> 
> Um, let's not do that.  Please just comment on the bug and leave the keyword. 
> We might just package.mask this version until CERN updates the sources.

Hi,

Thanks for testing.
Masking is a good idea. Is the small patch in the bug Description is all I have
to send upstream for sparc to work? If not, could you put it here or send it
directly?
Also you might want to test/keyword the cernlib to have a full capable root on
sparc. I mask the use flag by default, since it is a pretty heavy library to
build.

Sébastien

------- Comment #4 From Ferris McCormick 2007-08-27 20:55:41 0000 -------
The patch is the same, but the line numbers might have changed.  I'll verify
tomorrow.  Also, I'll try the cernlib as well.  (Really, it is exactly a two
line patch --- just make xrootd aware of linux on sparc.)

------- Comment #5 From Ferris McCormick 2007-08-28 13:33:03 0000 -------
Created an attachment (id=129477) [edit]
Patch to xrootd in root-5.16.00 to allow a clean build on sparc

This patch corresponds to files/sparc-root-5.14.00c.patch for previous version
of root.  Patch is essentially identical, except that no change is needed to
root's main configure file.  I am not sure how to test xrootd, and I have some
concerns about the CFLAGS it chooses to build xrootd (i.e., it seems to ignore
mine) and whether or not it correctly decides on the endian-ness for sparc. 
But at least it does build a version of root which builds and installs on
sparc.

------- Comment #6 From Ferris McCormick 2007-08-28 13:37:08 0000 -------
Created an attachment (id=129479) [edit]
patch to root-5.16.00.ebuild to apply the sparc xrootd ebuild patch 129447

This patch just illustrates how to change root-5.16.00.ebuild to apply the
xrootd patch to allow root-5.16.00 to build on sparc systems.

------- Comment #7 From Ferris McCormick 2007-08-28 15:17:06 0000 -------
(In reply to comment #3)
> > >  If you
> > > prefer to push on CERN to apply the complete fix, please go ahead and remove
> > > the ~sparc keyword from -5.16.00, because as it is now, it is guaranteed not to
> > > build on sparc.
> > 
> > Um, let's not do that.  Please just comment on the bug and leave the keyword. 
> > We might just package.mask this version until CERN updates the sources.
> 
> Hi,
> 
> Thanks for testing.
> Masking is a good idea. Is the small patch in the bug Description is all I have
> to send upstream for sparc to work? If not, could you put it here or send it
> directly?
> Also you might want to test/keyword the cernlib to have a full capable root on
> sparc. I mask the use flag by default, since it is a pretty heavy library to
> build.
> 
> Sébastien
> 

cernlib does build on sparc, and after I unmask USE=cern, root finds cernlib
and appears to build with it.  I am not sure how to test it, however.  the
tutorial/tree/cernstaff.C test does run, make some nice graphs, and write a
cernstaff.root data file.  I do not know if it requires cernlib for this or not
however.  (All this assumes the two little attached patches have been
incorporated into root-5.16.00 for testing.  And please see Bug 190534 for some
concerns about the cernlib build process.)

------- Comment #8 From Sébastien Fabbro 2007-08-28 18:50:48 0000 -------
I've contacted upstream with the small patch. Concerning cernlib, I will take a
deeper look for a test.
Thanks.

------- Comment #9 From Sébastien Fabbro 2007-09-03 16:11:23 0000 -------
There is a test suite available. Once installed,
cd /usr/share/doc/root-*/test
make
Then there are a few tests you can try. The tough one seems to be:
./stressHepix
which runs a bunch of othere ones.

Unfortunately the test suite would need more work than just fixing the library
paths to include in a src_test routine. I'll take a deeper look soon.

Also these tests don't really make use of the cernlib flag (which create h2root
and g2root format translaters).

------- Comment #10 From Sébastien Fabbro 2007-09-16 11:50:13 0000 -------
upstream update might come up in a later version. meanwhile i implemented your
patch again. Thanks. (let me know about the cernlib bug as well.)

------- Comment #11 From Ferris McCormick 2007-09-17 14:16:11 0000 -------
Builds just fine on sparc.  Thanks.

First Last Prev Next    No search results available      Search page      Enter new bug