Kirby,

The following patch should fix the problem you're seeing. You mentioned that you're using CVS...this has been committed to trunk, but didn't make it into the 2.6 branch yet. We'll make sure that happens soon. Sorry for the trouble.

-sam

Index: Makefile.in
===================================================================
RCS file: /projects/cvsroot/pvfs2/Makefile.in,v
diff -u -N -r1.228 -r1.229
--- Makefile.in 27 Nov 2006 19:51:03 -0000      1.228
+++ Makefile.in 29 Nov 2006 22:06:27 -0000      1.229
@@ -670,6 +670,7 @@
 $(ADMINTOOLS): %: %.o $(LIBRARIES)
 $(ADMINTOOLS_SERVER): %: %.o $(LIBRARIES) lib/libpvfs2-server.a
 $(KERNAPPS): %: %.o $(LIBRARIES)
+$(KERNAPPSTHR): %: %.o $(LIBRARIES_THREADED)

 # target for building _just_ the statecomp tool
 #statecomp: $(STATECOMP)

On Dec 4, 2006, at 4:58 PM, Kirby Cliff wrote:

When I have LDFLAGS set to "-m64" I get this message,
ld: unrecognised emulation mode: 64
Supported emulations: elf32ppclinux elf32ppc elf32ppcsim elf64alpha alpha
armelf_linux armelf hppalinux elf_i386 i386linux elf64_ia64 m68kelf
m68klinux elf64ppc elf_s390 elf64_s390 elf32_sparc sparclinux elf64_sparc
sun4 elf_x86_64 ppcmacos
make[3]: *** [/home/trip3/pvfs-2.6.0/src/kernel/linux-2.6/pvfs2.o] Error 1 make[2]: *** [_module_/home/trip3/pvfs-2.6.0/src/kernel/linux-2.6] Error 2
make[1]: *** [default] Error 2
make: *** [just_kmod] Error 2

I did not have any 'lib/libpvfs2-threaded.*' files created after the
compilation so I guess the configure script somehow was set not to build threaded libraries but ' pvfs2-client-core-threaded' has dependencies for
those libraries.

After a make distclean I searched for any residual *.a or *.so files in the
build tree but none existed.

Here are the steps I took to get it to compile and link but I have not
attempted to insmod the module until the threaded libraries issue is
resolved.

# make distclean
# find . -name "*.a" --no results
# ./configure --with-kernel=/usr/src/linux-2.6.16.21-0.25 --without- openssl
--disable-server
# make kmod
..
/usr/bin/ld: cannot find -lpvfs2-threaded
collect2: ld returned 1 exit status
make: *** [src/apps/kernel/linux/pvfs2-client-core-threaded] Error 1
# make kmod V=1
..
gcc -m64 -o src/apps/kernel/linux/pvfs2-client-core-threaded -L
/home/trip3/pvfs-2.6.0/lib -rdynamic
src/apps/kernel/linux/pvfs2-client-core.o -lpvfs2-threaded  -lpthread
/usr/bin/ld: cannot find -lpvfs2-threaded
collect2: ld returned 1 exit status
make: *** [src/apps/kernel/linux/pvfs2-client-core-threaded] Error 1

At this point I replaced '-lpvfs2-threaded' with '-lpvfs2' and reissued the
gcc command,
# gcc -m64 -o src/apps/kernel/linux/pvfs2-client-core-threaded -L
/home/trip3/pvfs-2.6.0/lib -rdynamic
src/apps/kernel/linux/pvfs2-client-core.o -lpvfs2 -lpthread
#make kmod
Building modules, stage 2.
  MODPOST

Thoughts?


On 12/4/06 4:31 PM, "Robert Latham" <[EMAIL PROTECTED]> wrote:

On Mon, Dec 04, 2006 at 03:25:32PM -0600, Kirby Cliff wrote:
I did not have the 64bit binutils installed. Unfortunately installing that did not fix my problem. I have been able to get a bit farther by unsetting the LDFLAGS and setting CC to "gcc -m64" but this is the error I get,

You needed to remove -m64 from LDFLAGS?

suse-fs3:/home/trip3/pvfs-2.6.0 # make kmod V=1
for i in pvfs2-utils.c devpvfs2-req.c pvfs2-cache.c dcache.c file.c inode.c dir.c namei.c super.c pvfs2-mod.c pvfs2-bufmap.c symlink.c xattr.c acl.c xattr-trusted.c xattr-default.c waitqueue.c pvfs2-proc.c pvfs2- kernel.h pvfs2-dev-proto.h pvfs2-bufmap.h upcall.h downcall.h pvfs2- proc.h; do \
    if [ ! -f $i  -a  ! -L $i ] ; then \
        ln -s ../../.././src/kernel/linux-2.6/$i ;\
    fi ;\
done
make -C /usr/src/linux-2.6.16.21-0.25
SUBDIRS=/home/trip3/pvfs-2.6.0/src/kernel/linux-2.6 modules
rm -rf /home/trip3/pvfs-2.6.0/src/kernel/linux-2.6/.tmp_versions
mkdir -p /home/trip3/pvfs-2.6.0/src/kernel/linux-2.6/.tmp_versions
make -f scripts/Makefile.build
obj=/home/trip3/pvfs-2.6.0/src/kernel/linux-2.6
  Building modules, stage 2.
make -rR -f /usr/src/linux-2.6.16.21-0.25/scripts/Makefile.modpost
scripts/mod/modpost -m -a -i /usr/src/linux-2.6.16.21-0.25/ Module.symvers
-I /home/trip3/pvfs-2.6.0/src/kernel/linux-2.6/Modules.symvers -o
/home/trip3/pvfs-2.6.0/src/kernel/linux-2.6/Modules.symvers -s / dev/null
vmlinux /home/trip3/pvfs-2.6.0/src/kernel/linux-2.6/pvfs2.o

this all looks ok

gcc -m64 -o src/apps/kernel/linux/pvfs2-client-core-threaded -L
/home/trip3/pvfs-2.6.0/lib -rdynamic
src/apps/kernel/linux/pvfs2-client-core.o -lpvfs2-threaded - lpthread
/usr/bin/ld: cannot find -lpvfs2-threaded
collect2: ld returned 1 exit status
make: *** [src/apps/kernel/linux/pvfs2-client-core-threaded] Error 1

What might have happened here is that the libpvfs2-threaded.a (or
libpvfs2-threaded.so, if you built with shared libraries) was built in
32 bit mode, but a 'make clean' didn't get rid of it.  We've fixed
this in CVS, but in the meantime, remove 'lib/libpvfs2-threaded.*' and
anything that looks like '*-threaded.o' left behind after a 'make
clean'.  Rebuild and you should get back on track.

==rob


_______________________________________________
Pvfs2-users mailing list
[email protected]
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-users


_______________________________________________
Pvfs2-users mailing list
[email protected]
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-users

Reply via email to