Thread: [mpls-linux-general] make errors: iproute-2.6.9-3mpls1_946
Status: Beta
Brought to you by:
jleu
|
From: Bob B. <bob...@gm...> - 2005-12-02 16:35:15
|
Hi, I am using slackware 10.2, so I don't have an rpm based system. I downloaded the 1.946 tarballs: mpls-linux-1.946.tar.bz2 and iproute-2.6.9-3mpls1_946.src.rpm. I applied the linux-kernel.diff to a vanilla 2.6.9 kernel, set the mpls modules to yes, built and installed the kernel. Now, I expand the iproute src.rpm, apply all the patches to the included iproute2 source directory and fixed the Makefile to point correctly to kernel include and db_185.h, but make fails in the mpls directory: cd /home/bbeers/download/mpls-linux/iproute-2.6.9-3mpls1_946/iproute2-2.6.9= /mpls/ make cc -c -o mpls.o mpls.c mpls.c:28:29: linux/gen_stats.h: No such file or directory mpls.c:29:24: linux/mpls.h: No such file or directory mpls.c:32:22: SNAPSHOT.h: No such file or directory mpls.c: In function `mpls_table_list': mpls.c:89: error: `MPLS_RTM_GETNHLFE' undeclared (first use in this functio= n) mpls.c:89: error: (Each undeclared identifier is reported only once mpls.c:89: error: for each function it appears in.) mpls.c:90: error: `MPLS_RTM_GETILM' undeclared (first use in this function) mpls.c:91: error: `MPLS_RTM_GETXC' undeclared (first use in this function) mpls.c:92: error: `MPLS_RTM_GETLABELSPACE' undeclared (first use in this function) mpls.c: At top level: etc.,etc.,etc. What I find most odd are the complaints about "No such file" gen_stats.h and mpls.h, but not about if_ether.h and socket.h, which are all in the same directory: /usr/src/linux/include/linux, and #included right there together in mpls.c. root@beedril:/usr/src/linux/include/linux# ls -la if_ether.h gen_stats.h mpls.h socket.h -rw-r--r-- 1 bbeers users 949 Oct 18 2004 gen_stats.h -rw-r--r-- 1 bbeers users 4795 Oct 18 2004 if_ether.h -rw-r--r-- 1 bbeers users 7268 Dec 1 06:12 mpls.h -rw-r--r-- 1 bbeers users 9465 Dec 1 06:12 socket.h root@beedril:/usr/src/linux/include/linux# What have I done wrong? Thanks for any hints. -- -Bob |
|
From: Bob B. <bob...@gm...> - 2005-12-02 19:57:01
|
On 12/2/05, Bob Beers <bob...@gm...> wrote: > Hi, > > I am using slackware 10.2, so I don't have an rpm based system. > > I downloaded the 1.946 tarballs: mpls-linux-1.946.tar.bz2 and > iproute-2.6.9-3mpls1_946.src.rpm. > > I applied the linux-kernel.diff to a vanilla 2.6.9 kernel, set the > mpls modules to yes, built and installed the kernel. > > Now, I expand the iproute src.rpm, apply all the patches > to the included iproute2 source directory and fixed the Makefile > to point correctly to kernel include and db_185.h, but > > make fails in the mpls directory: > > cd /home/bbeers/download/mpls-linux/iproute-2.6.9-3mpls1_946/iproute2-2.6= .9/mpls/ > make > cc -c -o mpls.o mpls.c > mpls.c:28:29: linux/gen_stats.h: No such file or directory > mpls.c:29:24: linux/mpls.h: No such file or directory > mpls.c:32:22: SNAPSHOT.h: No such file or directory > mpls.c: In function `mpls_table_list': > mpls.c:89: error: `MPLS_RTM_GETNHLFE' undeclared (first use in this funct= ion) > mpls.c:89: error: (Each undeclared identifier is reported only once > mpls.c:89: error: for each function it appears in.) > mpls.c:90: error: `MPLS_RTM_GETILM' undeclared (first use in this functio= n) > mpls.c:91: error: `MPLS_RTM_GETXC' undeclared (first use in this function= ) > mpls.c:92: error: `MPLS_RTM_GETLABELSPACE' undeclared (first use in > this function) > mpls.c: At top level: > etc.,etc.,etc. > > What I find most odd are the complaints about "No such file" gen_stats.h > and mpls.h, but not about if_ether.h and socket.h, which are all in the > same directory: /usr/src/linux/include/linux, and #included right there > together in mpls.c. > > root@beedril:/usr/src/linux/include/linux# ls -la if_ether.h > gen_stats.h mpls.h socket.h > -rw-r--r-- 1 bbeers users 949 Oct 18 2004 gen_stats.h > -rw-r--r-- 1 bbeers users 4795 Oct 18 2004 if_ether.h > -rw-r--r-- 1 bbeers users 7268 Dec 1 06:12 mpls.h > -rw-r--r-- 1 bbeers users 9465 Dec 1 06:12 socket.h > root@beedril:/usr/src/linux/include/linux# > > What have I done wrong? > some progress to report, I updated the kernel-headers from slackware/testing/linux-2.6.13 and now only mpls.h is not found. I guess that the iproute2 Makefiles are not looking in the specified kernel source directory, /usr/src/linux/include, for include files, but instead in /usr/include. Can someone tell me how to override/fix this behavior? -- -Bob |
|
From: James R. L. <jl...@mi...> - 2005-12-02 21:47:14
|
The include files are the most difficult part of compiling any of the MPLS linux userland utilities. What I have started doing in my develop= ment tree is I utilize the include directory right inside the iproute2 and iptab= les directories. If you look at the include/linux directory for iproute2 you w= ill see it has most of the files you need (excect for mpls.h and gen_stat.h). So what I recomend is to point the iproute2 Makefile at it's own include directory and copy mpls.h, gen_stats.h, and rtnetlink.h into iproute2/include/linux and see if that works, it works with the newer iproute2 which is in my dev tree (BTW if you try compiling iproute2-mpls-1.1 in my dev tree, don't modify the Makefile, it should compile just fine as it is) On Fri, Dec 02, 2005 at 02:56:55PM -0500, Bob Beers wrote: > On 12/2/05, Bob Beers <bob...@gm...> wrote: > > Hi, > > > > I am using slackware 10.2, so I don't have an rpm based system. > > > > I downloaded the 1.946 tarballs: mpls-linux-1.946.tar.bz2 and > > iproute-2.6.9-3mpls1_946.src.rpm. > > > > I applied the linux-kernel.diff to a vanilla 2.6.9 kernel, set the > > mpls modules to yes, built and installed the kernel. > > > > Now, I expand the iproute src.rpm, apply all the patches > > to the included iproute2 source directory and fixed the Makefile > > to point correctly to kernel include and db_185.h, but > > > > make fails in the mpls directory: > > > > cd /home/bbeers/download/mpls-linux/iproute-2.6.9-3mpls1_946/iproute2-2= .6.9/mpls/ > > make > > cc -c -o mpls.o mpls.c > > mpls.c:28:29: linux/gen_stats.h: No such file or directory > > mpls.c:29:24: linux/mpls.h: No such file or directory > > mpls.c:32:22: SNAPSHOT.h: No such file or directory > > mpls.c: In function `mpls_table_list': > > mpls.c:89: error: `MPLS_RTM_GETNHLFE' undeclared (first use in this fun= ction) > > mpls.c:89: error: (Each undeclared identifier is reported only once > > mpls.c:89: error: for each function it appears in.) > > mpls.c:90: error: `MPLS_RTM_GETILM' undeclared (first use in this funct= ion) > > mpls.c:91: error: `MPLS_RTM_GETXC' undeclared (first use in this functi= on) > > mpls.c:92: error: `MPLS_RTM_GETLABELSPACE' undeclared (first use in > > this function) > > mpls.c: At top level: > > etc.,etc.,etc. > > > > What I find most odd are the complaints about "No such file" gen_stats.h > > and mpls.h, but not about if_ether.h and socket.h, which are all in the > > same directory: /usr/src/linux/include/linux, and #included right there > > together in mpls.c. > > > > root@beedril:/usr/src/linux/include/linux# ls -la if_ether.h > > gen_stats.h mpls.h socket.h > > -rw-r--r-- 1 bbeers users 949 Oct 18 2004 gen_stats.h > > -rw-r--r-- 1 bbeers users 4795 Oct 18 2004 if_ether.h > > -rw-r--r-- 1 bbeers users 7268 Dec 1 06:12 mpls.h > > -rw-r--r-- 1 bbeers users 9465 Dec 1 06:12 socket.h > > root@beedril:/usr/src/linux/include/linux# > > > > What have I done wrong? > > >=20 > some progress to report, >=20 > I updated the kernel-headers from slackware/testing/linux-2.6.13 > and now only mpls.h is not found. I guess that the iproute2 > Makefiles are not looking in the specified kernel source directory, > /usr/src/linux/include, for include files, but instead in /usr/include. >=20 > Can someone tell me how to override/fix this behavior? >=20 > -- > -Bob >=20 >=20 > ------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. Do you grep through log fi= les > for problems? Stop! Download the new AJAX search engine that makes > searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! > http://ads.osdn.com/?ad_idv37&alloc_id=16865&op?k > _______________________________________________ > mpls-linux-general mailing list > mpl...@li... > https://lists.sourceforge.net/lists/listinfo/mpls-linux-general --=20 James R. Leu jl...@mi... |
|
From: Bob B. <bob...@gm...> - 2005-12-07 16:41:54
|
On 12/2/05, James R. Leu <jl...@mi...> wrote: > (BTW if you try compiling iproute2-mpls-1.1 > in my dev tree, don't modify the Makefile, it should compile just fine > as it is) Well, almost. On my Slackware10.2 setup I still have to add '/db4' in this part of the Makefile: # Path to db_185.h include DBM_INCLUDE:=3D/usr/include/db4 else the arpd build fails. -- -Bob |
|
From: James R. L. <jl...@mi...> - 2005-12-07 17:06:29
|
This makes sense. On the FC3 machines I develope on I need to have two versions of db4 installed, one for the native FC3 apps and one for my iproute-mpls (which is from FC4). On Wed, Dec 07, 2005 at 11:41:51AM -0500, Bob Beers wrote: > On 12/2/05, James R. Leu <jl...@mi...> wrote: >=20 > > (BTW if you try compiling iproute2-mpls-1.1 > > in my dev tree, don't modify the Makefile, it should compile just fine > > as it is) >=20 > Well, almost. On my Slackware10.2 setup I still have to add '/db4' in > this part of the Makefile: >=20 > # Path to db_185.h include > DBM_INCLUDE:=3D/usr/include/db4 >=20 > else the arpd build fails. >=20 > -- > -Bob --=20 James R. Leu jl...@mi... |