cscrj / netmap

Automatically exported from code.google.com/p/netmap
0 stars 0 forks source link

make file is saying patches directory does not exist #15

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. I am following following Fred Klassens instructions on his Youtube video at 
https://www.youtube.com/watch?v=hswh90iIw9s&list=PLFjjcN5EvTP0Hsxq1AEh7FhvaFH__V
d83&index=2 
2. I am using Ubuntu 14 with Netmap 3ccdadad7d80
3. I extract the tar in my home directory (~).
4. I cd to the netmap directory that is created.
5. I cd to the LINUX directory and run make.
6. I receive a bunch of errors stating that there is no "patch" folder under 
the LINUX directory.
7. When I do the ll command in the LINUX folder I also do not see a "patch" 
folder

What is the expected output? 
As per the youtube, I expected to see the folders created under the LINUX 
folder that contain the patched netmap compatible ethernet drivers.

What do you see instead?
Instead I receive errors that the patch folder does not exist under the LINUX 
folder.

What version of the product are you using? On what operating system?
I am using Ubuntu 14 with Netmap 3ccdadad7d80

Please provide any additional information below.

Original issue reported on code.google.com by rfede...@gmail.com on 14 Aug 2014 at 9:09

GoogleCodeExporter commented 9 years ago
I saw a folder called final-patches so I tried renaming that to patches and I 
got a little bit further however after the script ran  the folders were created 
with under the LINUX folder with the various drivers however the only file that 
was in them was a Makefile. I did not see for example the ixgbe.ko file.

Original comment by rfede...@gmail.com on 15 Aug 2014 at 5:28

GoogleCodeExporter commented 9 years ago
I have pushed a workaround for this in the next branch. I you want to use the 
master branch, instead, please apply the attached patch.

Please note, however, that you already correctly fixed this issue by creating 
the patches->final-patches link. For the other issue you facing, please run a 
'make clean' and then retry, since the previous error may have left the 
directory in an inconsistent state.

Original comment by giuseppe.lettieri73 on 16 Aug 2014 at 10:24

Attachments:

GoogleCodeExporter commented 9 years ago
Hi thanks for the update. I have not tried the patch just yet as I will be out 
of the office for the next 2 weeks but just wanted to give you some feedback 
since you mentioned that I was on the right track with my attempted fix. 

I did the make clean commands and the tried to troubleshoot as well with make 
-n. 
WHen I ran the make after changing the directory name, it went a little farther 
but I noticed the output was saying "nothing to compare" for each of different 
NIC model types. (Sorry my test system is not connected to the network so I 
cannot get screen shots)

One of the things I concluded is that the script is trying to copy the original 
driver file from (/usr/src/.../ethernet/intel...) paths. When I went into those 
paths I saw that the only file that was in each of the folders for the 
different NIC models such as the ixgbe folder, was the Makefile. I did not see 
any other files in the folder. As a test I created a text file called ROG.txt 
in the ixgbe folder. I then ran the netmap makefile again to see what would 
happen. Sure enough after the script ran it created the different subfolders 
under the \LINUX folder and in the \LINUX\ixgbe folder was my Rog.txt file. 

My next step was to try to find where the driver files were and I found them in 
the /lib/modules.../ethernet/intel... paths and as a test I copied the ixgbe.ko 
file from there to the ixgbe folder under /usr/src/.../ethernet/intel...

I ran the make clean for netmap and ran the make again however I still got the 
messages saying that there was nothing to compare. The ixgbe.ko did make it 
into the /LINUX/ixgbe folder but I assumed the file wasn't modified and simply 
just copied.

That is where I am right now. As I mentioned I am using Ubuntu 14. Could you 
recommend a version of Ubuntu that you have used? 

Thanks!

Original comment by rfede...@gmail.com on 16 Aug 2014 at 12:26

GoogleCodeExporter commented 9 years ago
Hi, thank you for the additional details. Your conclusions about the file 
copying are correct. It looks like you don't have the full kernel sources 
installed, or at least they are not in the standard place. Please note that we 
need the *source files* since we have to patch them: the compiled binary that 
you have found in /lib/modules/... doesn't help.

Ubuntu 14 is fine, that is what I am using. You can get the sources for your 
running kernel with

apt-get source linux-image-$(uname -r)

('apt-get source linux' may suffice) 

Note that this will put the sources in the current directory, whatever that is. 
Then, you can move to .../netmap/LINUX and issue:

make SRC=/path/to/your/kernel/sources

Original comment by giuseppe.lettieri73 on 16 Aug 2014 at 1:31

GoogleCodeExporter commented 9 years ago
Thanks the apt-get source Linux worked and was able to get all the source code 
and then use the make SRC=.../sources  command and it created the directories 
with the drivers in them. 

However when I run my tcpreplay app with the --netmap option I am getting 
--Fatal Error: --netmap feature was not compiled in. See INSTALL. I will post 
to the tcpreplay list to see if I can find anything and post back here.

Original comment by rfede...@gmail.com on 3 Sep 2014 at 2:43

GoogleCodeExporter commented 9 years ago
Thanks for the update. The additional problem you mention mostly likely depends 
on tcpreplay configuration and compilation and it should be unrelated to the 
present issue. Therefore, I am closing it. Feel free to open another issue if 
you find out that the problem is caused by netmap.

Original comment by giuseppe.lettieri73 on 3 Sep 2014 at 2:56