[ofa-general] Under which version of Fedora does the current source of OFED compile?

Harold/Carlyn Iuzzolino iuzzolin at nmia.com
Wed Jul 30 01:32:58 PDT 2008


Dear Openfabrics (in particular Roland Dreier),  general at lists.openfabrics.org

Re: my problems with ipath_dma.c and/or dma-mapping.h not compiling in version
OFED-1.4-20080724-0600.tgz under Fedora 6.
>
> It's a broken backport.  valid_dma_direction() was moved into generic
> code between 2.6.18 and 2.6.19, so someone needs to add a backport patch
> to handle kernels 2.6.18 and older.
>      R.


If that is true, under which version of Fedora does OFED-1.4-20080724-0600.tgz
compile correctly?

By looking at the postings on the general mailing list, I noticed that
you are working with kernels 2.6.26 and 2.6.27.

Fedora 8's kernel is "only" 2.6.21.

I tried compiling OFED-1.4-20080724-0600.tgz on Fedora 8 and ran into 3
problems, two of which I figured out a workaround and the third problem
I haven't found a solution.

----------------------------

	Problem 1

Fedora 8's rpm build has a script /usr/lib/rpm/check-buildroot that DIDN'T
exist in Fedora 6 and it causes the compile to fail because of a
problem in the install.pl script and the rpm program /usr/lib/rpm/check-buildroot.

-- It fails with the complaint from /usr/lib/rpm/check-buildroot:
Found '/var/tmp/OFED' in installed files; aborting

-- Turns out that complaint has TWO causes.

The posting
http://lists.openfabrics.org/pipermail/general/2008-March/047320.html
to the general mailing list has a good explanation of the problem.

And he filed this as Bug 968.

This problem was reported on March 1st, FIVE months ago, and the 
bug is still in the install script. 

The program check-buildroot looks to see whether the compiled files in
directory, $TOPDIR=/var/tmp/OFED_topdir, and its subdirectories,
contains the string of $RPM_BUILD_ROOT=/var/tmp/OFED 

I fixed it by changing the install.pl script 

original line: my $TOPDIR = "/var/tmp/" . $PACKAGE . "_topdir";
fixed line: my $TOPDIR = "/var/tmp/" . "kernelbuild." . $PACKAGE . "_topdir";

so that the topdir is now
/var/tmp/kernelbuild.OFED_topdir instead of /var/tmp/OFED_topdir

The compile should fail for EVERYBODY that is using the Fedora 8
version of rpm 'build'. I don't understand why the team hasn't run into
this problem as soon as you tried compiling on Fedora 8. Since you are
up to kernel 2.6.26, you must have tried it on Fedora 8 which is kernel
2.6.21.

That solved part of the problem but not all.


		PROBLEM 2

In the file /var/tmp/OFED/usr/src/ofa_kernel-1.3.2/ofed_scripts/ofa_kernel.spec
there is the line
BuildRoot: %{?build_root:%{build_root}}%{!?build_root:/var/tmp/OFED}
so obviously that line would ALWAYS fail the test no matter what TOPDIR was.

I changed the system routine /usr/lib/rpm/check-buildroot.

Original lines:
   find "$RPM_BUILD_ROOT" \! \( \
       -name '*.pyo' -o -name '*.pyc' -o -name '*.elc' -o -name '.packlist' \

Changed lines:
   find "$RPM_BUILD_ROOT" \! \( \
       -name '*.spec' -o -name '*.pyo' -o -name '*.pyc' -o -name '*.elc' -o -name '.packlist' \

This bug will catch you if you are using Fedora 8 but not Fedora 6
because the rpm version of FC-6 doesn't have check-buildroot. FC-8's
rpm build does have that program.

 
 

---------------------------------------------------

	PROBLEM 3

The installation script requires tcl-devel version 8.4.15 to match
the rpm tcl-8.4.15-5.fc8 that comes with Fedora 8. I couldn't find
tcl-devel-8.4.15.rpm anywhere. It doesn't come with Fedora 8 and I couldn't
find it on the rpmfind website either.

How did Openfabrics get Infiniband to compile on Fedora 8? Will I have
any better luck with Fedora 9 which just came out?


Carlyn Iuzzolino



More information about the general mailing list