Re: CEPTCL: Doesn't RX multicast, has anyone seen it work before?
- From: dkushner99@xxxxxxxxx
- Date: Mon, 27 Aug 2007 15:38:32 -0700
On Aug 26, 2:46 am, Uwe Klein <uwe_klein_habertw...@xxxxxxxxxxx>
wrote:
dkushne...@xxxxxxxxx wrote:
On Aug 26, 12:58 am, dkushne...@xxxxxxxxx wrote:
Alex, My peer is 26.0.0.1, I am 26.0.0.2. This means that the RX
handler is being called. tcludp works but ceptcl does not.
Kinda long trace ... NOTICE:
Also notice that I RX two packets with the udptcl for each one sent. I
havn't figured out that one yet! The developer sent me the new version
the other day. This will support multiple interfaces. I got the .dll
for Windows and some lib for Unix. and an .obj file but I need the .so
for Linux. He also sent the source code but I'm not set up to complie
on my Linux. I don't think the Fedora came with all that. I may load
the RPMs if possible but again, I'm not a C programmer so I don't know
how sucessful I would be at compiling it. I'll look into it though.
- Daniel
I would be surprised if your Fedora came without gcc/make/.. installed.
You may need to install the tcl[-_]devel rpm for your system first
though.
unpack (gunzip/tar -xvf ...)
cd tcludp-<versio>
./configure --prefix /usr
( not sure could be /usr/local/
if your tclsh is in /usr/bin "/usr" is OK
)
make
make install
done.
uwe- Hide quoted text -
- Show quoted text -
Uwe,
I just installed gcc on my Linux, cool! The files that the developer
(of tcludp) gave me are set up to compile for windows. It doesn't look
like it's set up for Linux as an option at all. He gave me the
compiled .dll (for win) and the lib for Unix but not the .so for Linux
so I need to compile it to get that.
I have the last udptcl package that was the last release (1.0.8), this
has all of the files and the makefile is set up for Linux too. The
notes in the new patch that the developer gave me says that the source
is compatible with 1.0.8 and later so I think I can use all the old
files (makefile) to compile the new lib for Linux. I've never done
this before so I'm not really sure what to do if I have problems. The
configure.in file specifies some TEA files that I need:
The README has instructions for compilation:
3. How to build and test
----------------------------------------------------------------------
This extension is to add UDP support for Tcl.
This extension is for Tcl8.0 or later.
Before compiling, please modify the Makefile for proper Tcl path.
..........................................
To compile under Linux,
make -f makefile.linux
libudp.so will be in the ../linux directory
............................................
## Makefile.vc included w/path)
########################################################################
The Makefile.vc (included w/the patch) is not set up for Linux at all:
include ..\..\makefile.vc.include
SRC_DIR = .
WIN_DIR = ..\win
OBJ_DIR = ..\obj
CP = copy
RM = del
INCLUDES = -I$(TOOLS32)\include -I$(WIN_DIR) -I$(TCL_GENERIC_DIR) -I$
(TK_GENERIC_DIR) -I$(MFC_DIR)\include
#DEFINES = -nologo -D_$(TCLVERSION) -DWIN32 -DDEBUG
#use -DDEBUG to enable debug output. The debug output will be sent to
udp.dbg file
DEFINES = -nologo -D_$(TCLVERSION) -DWIN32
OBJS = $(OBJ_DIR)\udp_tcl.obj
UDPDLL = udp.dll
UDPLIB = udp_s.lib
all: $(UDPDLL) $(UDPLIB)
$(UDPDLL): $(OBJ_DIR) $(OBJS) $(WIN_DIR)
@set LIB=$(TOOLS32)\lib
cl $(OBJS) /LD -o $(WIN_DIR)\$(UDPDLL) /link Wsock32.lib winmm.lib
user32.lib $(MFC_DIR)\lib\nafxcw.lib $(TCL_LIB)
$(UDPLIB): $(OBJ_DIR) $(OBJS) $(WIN_DIR)
@set LIB=$(TOOLS32)\lib
lib /OUT:$(WIN_DIR)\$(UDPLIB) $(OBJS)
$(OBJ_DIR):
-@if not exist $(OBJ_DIR)\nul mkdir $(OBJ_DIR)
$(WIN_DIR):
-@if not exist $(WIN_DIR)\nul mkdir $(WIN_DIR)
$(OBJ_DIR)\udp_tcl.obj : $(SRC_DIR)\udp_tcl.c
$(cc32) $(cdebug) -c $(cvarsdll) $(INCLUDES) \
$(DEFINES) /Fo$(OBJ_DIR)\udp_tcl.obj $(SRC_DIR)\udp_tcl.c
clean:
-@if exist $(OBJ_DIR)\*.obj $(RM) $(OBJ_DIR)\*.obj
-@if exist $(WIN_DIR)\$(UDPDLL) $(RM) $(WIN_DIR)\$(UDPDLL)
-@if exist $(WIN_DIR)\udp.lib $(RM) $(WIN_DIR)\*.lib
-@if exist $(WIN_DIR)\udp.exp $(RM) $(WIN_DIR)\udp.exp
-@if exist pkgIndex.tcl $(RM) pkgIndex.tcl
## makefile.vc.include (from the patch)
########################################################################
There is also a makefile.vc.include (this is for visual c for windows,
I'm using gcc). This is all probably pretty painless for the
developers out there but I'm a TCL guy and a networking guy, not a C
programmer, though I do know a little C). I think I just need to
change the dirs to fit my system, and put this files text in the
single makefile (does that sound okay?):
# The directory holding sipc files (the current directory)
SIPCDIR = c:\wxt\irt\IIDS_Voip
#MFC definitions
MFC_DIR = c:\progra~1\micros~4\vc98\mfc
TOOLS32 = c:\progra~1\micros~4\vc98
PATH = $(TOOLS32)\bin;$(PATH)
cc32 = $(TOOLS32)\bin\cl
#Tcl/Tk definitions
TCL_ROOT_DIR = c:\wxt\tools\tcl8.4.11
TK_ROOT_DIR = c:\wxt\tools\tk8.4.11
TCL_INSTALL_DIR = c:\Progra~1\Tcl
TCL_GENERIC_DIR = $(TCL_ROOT_DIR)\generic
TK_GENERIC_DIR = $(TK_ROOT_DIR)\generic
TCL_WIN_DIR = $(TCL_ROOT_DIR)\win
TK_WIN_DIR = $(TK_ROOT_DIR)\win
TCL_LIB = $(TCL_ROOT_DIR)\win\Release\tcl84.lib
STATIC_TCL_LIB = $(TCL_ROOT_DIR)\win\Release\tcl84s.lib
TCL_STUB_LIB = $(TCL_ROOT_DIR)\win\Release\tclstub84.lib
TCL_DDE_LIB = $(TCL_ROOT_DIR)\win\Release\tcldde12s.lib
TCL_REG_LIB = $(TCL_ROOT_DIR)\win\Release\tclreg11s.lib
TK_LIB = $(TK_ROOT_DIR)\win\Release\tk84.lib
STATIC_TK_LIB = $(TK_ROOT_DIR)\win\Release\tk84s.lib
TK_STUB_LIB = $(TK_ROOT_DIR)\win\Release\tkstub84.lib
TK_RES = $(TK_ROOT_DIR)\win\Release\tk_ThreadedStatic
\wish.res
TK_XLIB_DIR = $(TK_ROOT_DIR)\xlib
TCLSH = $(TCL_ROOT_DIR)\win\Release\tclsh84s.exe
TCLVERSION = TCL84
#Other definitions
SSL_DIR = c:\wxt\tools\openssl-0.9.7a
ZLIB_DIR = c:\wxt\tools\zlib-1.1.4
Problems/Questions:
1) I think that I need to use the 1.0.8 makefile not the makefile.vc
(above) included with the patch - right?
2) The 1.0.8 makefile includes references to TEA, so I need to get the
TEA source as well - right?
3) Do I need TCL source files to compile this .so? Maybe just the
header files referred to in the makefile? - Please help.
## UDP Extension for Tcl 8.4)
########################################################################
Here is the beginning of the source:
/
******************************************************************************
* UDP Extension for Tcl 8.4
*
* Copyright 1999-2000 by Columbia University; all rights reserved
*
* Written by Xiaotao Wu
* Last modified: 11/03/2000
******************************************************************************/
#include "udp_tcl.h"
#ifdef WIN32
#include <stdlib.h>
#include <tcl.h>
#include <winsock.h>
#include <stdio.h>
#else
#ifdef LINUX
#include <sys/ioctl.h>
#else
#include <sys/filio.h>
#endif
#endif
## UDP Extension for Tcl 8.4 (.h file)
##############################################
#ifndef UDP_TCL_H
#define UDP_TCL_H
/*
*----------------------------------------------------------------------
* UDP Extension for Tcl 8.4
*
* Copyright 1999-2000 by Columbia University; all rights reserved
*
* Written by Xiaotao Wu
* Last modified: 11/03/2000
*----------------------------------------------------------------------
*/
#ifdef WIN32
#include <winsock.h>
#else
#include <unistd.h>
#include <sys/socket.h>
#include <sys/time.h>
#include <netinet/in.h>
#include <netdb.h>
#endif
#include <stdio.h>
#include <string.h>
#include <limits.h>
#include <errno.h>
#include <sys/types.h>
#include "tcl.h"
I just need these header files (and put them somewhere gcc can find
them).
Any help/feedback would be appreciated.
Thanks,
- Daniel
.
- References:
- CEPTCL: Doesn't RX multicast, has anyone seen it work before?
- From: dkushner99
- Re: CEPTCL: Doesn't RX multicast, has anyone seen it work before?
- From: Alexandre Ferrieux
- Re: CEPTCL: Doesn't RX multicast, has anyone seen it work before?
- From: dkushner99
- Re: CEPTCL: Doesn't RX multicast, has anyone seen it work before?
- From: Alexandre Ferrieux
- Re: CEPTCL: Doesn't RX multicast, has anyone seen it work before?
- From: dkushner99
- Re: CEPTCL: Doesn't RX multicast, has anyone seen it work before?
- From: Alexandre Ferrieux
- Re: CEPTCL: Doesn't RX multicast, has anyone seen it work before?
- From: dkushner99
- Re: CEPTCL: Doesn't RX multicast, has anyone seen it work before?
- From: dkushner99
- Re: CEPTCL: Doesn't RX multicast, has anyone seen it work before?
- From: Uwe Klein
- CEPTCL: Doesn't RX multicast, has anyone seen it work before?
- Prev by Date: Re: "booster-label" - why does it work such way? (8.4.12 on Debian Etch)
- Next by Date: Re: Can Teacup resolve Tcl version?
- Previous by thread: Re: CEPTCL: Doesn't RX multicast, has anyone seen it work before?
- Next by thread: Re: CEPTCL: Doesn't RX multicast, has anyone seen it work before?
- Index(es):
Relevant Pages
|