[openib-general] Why doesn't the 24-kernel actually compile on 2.4 kernels?

Mike Houston
Thu Apr 1 17:54:43 PST 2004


After a build, with various compile fixes, without ipoib, the modules 
have undefined symbols:

/lib/modules/2.4.25/kernel/drivers/infiniband/core/ib_services.o: 
unresolved symbol set_user_nice
/lib/modules/2.4.25/kernel/drivers/infiniband/core/ib_services.o: insmod 
/lib/modules/2.4.25/kernel/drivers/infiniband/core/ib_services.o failed
/lib/modules/2.4.25/kernel/drivers/infiniband/core/ib_services.o: insmod 
ib_core failed

>I don't see how this is possible... drivers/infiniband/ulp/ipoib/Makefile
>define "-DIN_TREE_BUILD", which should turn these includes into an
>include of <linux/modversions.h>.  It's an ugly hack to graft to deal
>with warts dating back to our internal build system, but I'm not sure
>how it's breaking for you.  Can you post the gcc command line that is
>actually failing?
>
>  
>
EXTRA_FLAGS does include -DIN_TREE_BUILD...  but don't seem to make it 
into the compile line since I don't see how they would ever be 
included.  Here's the Makefile in ulp/ipoib:

EXTRA_CFLAGS += \
    -I$(TOPDIR)/drivers/infiniband/include \
    #-DRHEL_ROUTE_FLOW_API \
    -DIN_TREE_BUILD \
    -DTS_HOST_DRIVER -D_NO_DATA_PATH_TRACE
 
list-multi := ib_ipoib.o ib_ip2pr.o
obj-$(CONFIG_INFINIBAND_IPOIB) += ib_ipoib.o ib_ip2pr.o
export-objs := ipoib_export.o ip2pr_link.o
 
ib_ipoib-objs := \
    ipoib_main.o \
    ipoib_ib.o \
    ipoib_multicast.o \
    ipoib_arp.o \
    ipoib_proc.o \
    ipoib_export.o \
    ipoib_verbs.o \
    ipoib_vlan.o
 
ib_ip2pr-objs := \
    ip2pr_mod.o \
    ip2pr_link.o \
    ip2pr_proc.o
 
include $(TOPDIR)/Rules.make
 
ib_ipoib.o: $(ib_ipoib-objs)
        $(LD) $(LDFLAGS) -r -o $@ $(ib_ipoib-objs)
 
ib_ip2pr.o: $(ib_ip2pr-objs)
        $(LD) $(LDFLAGS) -r -o $@ $(ib_ip2pr-objs)
 

Here is the compile line:
make[4]: Entering directory 
`/usr/src/linux-2.4.25/drivers/infiniband/ulp/ipoib'gcc -D__KERNEL__ 
-I/usr/src/linux-2.4.25/include -Wall -Wstrict-prototypes -Wno-trigraphs 
-O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe 
-mpreferred-stack-boundary=2 -march=i686 -DMODULE -DMODVERSIONS -include 
/usr/src/linux-2.4.25/include/linux/modversions.h 
-I/usr/src/linux-2.4.25/drivers/infiniband/include  -nostdinc 
-iwithprefix include -DKBUILD_BASENAME=ipoib_main  -c -o ipoib_main.o 
ipoib_main.c
In file included from ipoib.h:45,
                 from ipoib_main.c:24:
ipoib_proto.h:34:43: ./TS_OBJ_DIR/ipoib_export.ver: No such file or 
directory
In file included from ipoib.h:47,
                 from ipoib_main.c:24:
/usr/src/linux-2.4.25/drivers/infiniband/include/ts_ib_core.h:29:48: 
../core/TS_OBJ_DIR/core_export.ver: No such file or directory
In file included from ipoib.h:50,
                 from ipoib_main.c:24:
/usr/src/linux-2.4.25/drivers/infiniband/include/ts_ib_sa_client.h:29:58: 
../sa_client/TS_OBJ_DIR/sa_client_export.ver: No such file or directory
In file included from 
/usr/src/linux-2.4.25/drivers/infiniband/include/ts_ib_sa_client.h:37,
                 from ipoib.h:50,
                 from ipoib_main.c:24:
/usr/src/linux-2.4.25/drivers/infiniband/include/ts_ib_client_query.h:29:64: 
../client_query/TS_OBJ_DIR/client_query_export.ver: No such file or 
directory
In file included from ipoib.h:52,
                 from ipoib_main.c:24:
/usr/src/linux-2.4.25/drivers/infiniband/include/ts_kernel_services.h:115:47: 
../TS_OBJ_DIR/services_export.ver: No such file or directory
In file included from ipoib.h:53,
                 from ipoib_main.c:24:
/usr/src/linux-2.4.25/drivers/infiniband/include/ts_kernel_thread.h:38:47: 
../TS_OBJ_DIR/services_export.ver: No such file or directory
In file included from ipoib_main.c:28:
/usr/src/linux-2.4.25/drivers/infiniband/include/ts_kernel_trace.h:260:47: 
../TS_OBJ_DIR/services_export.ver: No such file or directory
make[4]: *** [ipoib_main.o] Error 1
make[4]: Leaving directory 
`/usr/src/linux-2.4.25/drivers/infiniband/ulp/ipoib'
make[3]: *** [_modsubdir_ipoib] Error 2
make[3]: Leaving directory `/usr/src/linux-2.4.25/drivers/infiniband/ulp'
make[2]: *** [_modsubdir_ulp] Error 2
make[2]: Leaving directory `/usr/src/linux-2.4.25/drivers/infiniband'
make[1]: *** [_modsubdir_infiniband] Error 2
make[1]: Leaving directory `/usr/src/linux-2.4.25/drivers'
make: *** [_mod_drivers] Error 2

-Mike

-- 
To unsubscribe send an email with subject unsubscribe to openib-general at openib.org.
Please contact moderator at openib.org for questions.




More information about the openib-general mailing list