Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

openpgm on Ubuntu 12.04 does not work #31

Open
GoogleCodeExporter opened this issue May 4, 2015 · 5 comments
Open

openpgm on Ubuntu 12.04 does not work #31

GoogleCodeExporter opened this issue May 4, 2015 · 5 comments

Comments

@GoogleCodeExporter
Copy link



I've faced a problem using Openpgm library, and I would be grateful if anyone 
could help me on this problem.

I want to use Openpgm on Ubuntu 12.04. according to this link: 
"https://code.google.com/p/openpgm/wiki/OpenPgm5CReferenceBuildLibrary" Openpgm 
was tested on Ubuntu 8.04 to 10.10.

I downloaded latest version of Openpgm(5.2.122) and compiled it with "scons" 
without error. According to the link I should see a compiled example named 
"pgmrecv" and "pgmsend" in path "*./ref/debug/examples/" but there isn't such 
example, Instead there was "purinrecv" and "purinsend". I run receiver first 
like this : "./purinrecv -lp 3065" then sender like this : "./purinsend -lp 
3065 please work" , there was no error message in both , but the receiver 
didn't receive anything. Any help would be appreciated!


Original issue reported on code.google.com by d.evans1...@gmail.com on 13 Oct 2013 at 8:19

@GoogleCodeExporter
Copy link
Author

Turn on debug and trace and try again, its highly likely a non-active interface 
is being chosen due to host configuration.

https://code.google.com/p/openpgm/wiki/OpenPgm5CReferenceErrorHandling

Original comment by fnjo...@gmail.com on 15 Oct 2013 at 12:59

@GoogleCodeExporter
Copy link
Author

With thanks to your response, there is some problems with that. As it said in 
"https://code.google.com/p/openpgm/wiki/OpenPgm5CReferenceErrorHandling" we 
should add "pgm_log_set_handler (log_handler, NULL);" in "purinsend.c" and 
"purinrecv.c" then use "scons" again. We expected that "pgm_log_set_handler" 
function was definded in "log.h", but there isn't such function. So, we can't 
compile this new code. There is two questions:
1. Why "pgmsend" and "pgmrecv" is not created when we make "openpgm" with 
"scons"?
2. Why "pgm_log_set_handler" function is not defined or declared or used in 
anywhere in "openpgm"?
Because of above problems I can't use "openpgm" and can't see traces and logs 
to find out what is the problem. Please say where and what should be added to 
code.

Original comment by d.evans1...@gmail.com on 17 Oct 2013 at 5:47

@GoogleCodeExporter
Copy link
Author

The GLIB examples are not built by default, try:

scons WITH_GLIB=true

pgm_log_set_handler is declared: 

https://code.google.com/p/openpgm/source/browse/trunk/openpgm/pgm/include/pgm/me
ssages.h#63

and is defined:

https://code.google.com/p/openpgm/source/browse/trunk/openpgm/pgm/messages.c#136

Original comment by fnjo...@gmail.com on 17 Oct 2013 at 7:52

@GoogleCodeExporter
Copy link
Author

I have had the same issue, with default building but somehow could overcome 
with some examples.

could you kindly check if the build was successful??

And also, few pointers >>>
once its built, try with 
1. open a terminal and go to the directory where purinsend and purinrecv is 
located
in one of the terminal  use this
./purinrecv -lp 7500 -n "eth2;239.192.0.1"
and in second terminal use this
./purinsend -lp 7500 -n "eth0;239.192.0.1" <"some message">
You should be able to get the output..
Currently this is run over UDP, while I am trying it on IP and facing issues at 
the receiving side.







Original comment by ravi.zom...@gmail.com on 21 Oct 2013 at 9:28

@GoogleCodeExporter
Copy link
Author

Solved:
May be this would work.,..

1. try making changes in file SConscript.autoconf
at location where it checks for fail cases for host order for raw IP sockets.
def CheckIpLengthHostOrder (context):
----
int
main ()
{
#if defined( __APPLE__ ) || defined( __NetBSD__ ) || defined( __FreeBSD__ )
    return 0;   #fail fail fail #RAVI_CHECK_CHANGES
#endif
    fail fail fail #RAVI_CHECK_CHANGES
}

2. build with GLIB flag true
> scons -c   # cleaning at first, for the previous builds
> scons WITH_GLIB=true

3. after building,
the example files would be at location  ./ref/debug..../examples/

4. Open two terminals, in one of the terminal, run pgmsend and in other pgmrecv

for PGM over UDP
> ./pgmsend -lp 7500  -n "eth1;239.192.0.1"

in the other terminal
> ./pgmrecv -lp 7500 -n "eth1;239.192.0.1"

NOTE: check for the interface type (I had eth1 active) thro > ./pgmsend -i 
(this would give list of active interfaces)
for PGM over IP
use sudo  or set permissions for the file
> sudo ./pgmsend -ls 7500  -n "eth1;239.192.0.1"

in the other terminal
> sudo ./pgmrecv -ls 7500 -n "eth1;239.192.0.1"

type 2.
>sudo setcap cap_net_raw=ep <filename>  # in this its pgmsend and pgmrecv

>sudo setcap cap_net_raw=ep pgmsend
>sudo setcap cap_net_raw=ep pgmrecv
(else would face  error for raw IP sockets capability)

Thanks a ton to this post...: - 
http://code.google.com/p/openpgm/issues/detail?id=27

Hope this is useful info.....

Regards,
Ravi

Original comment by ravi.zom...@gmail.com on 23 Oct 2013 at 9:12

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant