Trickle bandwidth shaper

Ryan Schmidt ryandesign at macports.org
Tue Jul 19 15:43:42 PDT 2011


On Jul 19, 2011, at 15:30, Ralph Seichter wrote:

> as I could not find a MacPorts version of Marius Eriksen's "trickle"
> (see http://monkey.org/~marius/pages/?page=trickle),

Based on that page, it looks like trickle was created in 2003, updated for three months, then never updated again. This says to me the software is dead and obsolete.

The page also says "trickle works by taking advantage of the unix loader preloading". I don't know what "the unix loader preloading" is but I wouldn't be surprised if Mac OS X uses a different mechanism which trickle would not be compatible with.


> I tried to build
> Trickle 1.06 on OS X 10.6.8 myself. After installing the libevent 2.0.10
> port and running configure, the build fails with the following messages:
> 
> $ make
> /bin/sh ./libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.    -Wall -Icompat -I/opt/local/include -g -O2 -c trickle-overload.c
> gcc -DHAVE_CONFIG_H -I. -I. -I. -Wall -Icompat -I/opt/local/include -g -O2 -c trickle-overload.c -o trickle-overload.o
> trickle-overload.c:486: error: conflicting types for ‘poll’
> /usr/include/sys/poll.h:114: error: previous declaration of ‘poll’ was here

This error can be overcome by changing line 484 of trickle-overload.c so that nfds is defined to be not of type int but of type nfds_t, matching line 114 of poll.h. However the next error I then encounter is:

creating libtmptrickle-overload.so.la
(cd .libs && rm -f libtmptrickle-overload.so.la && ln -s ../libtmptrickle-overload.so.la libtmptrickle-overload.so.la)
cp: .libs/libtmptrickle-overload.so.so: No such file or directory

".so" is a library extension used on other UNIX-like operating systems but not Mac OS X. The fact that the software doesn't know this indicates that this software was never designed to compile on Mac OS X, or at least was never tested on Mac OS X.


> I was wondering if you could either give me hint on how to circumvent
> this problem, or, even better, if there is a MacPorts port of trickle
> wich I have so far missed? The ports search returned zip, though...

We cannot create ports for software that does not work or compile on Mac OS X. If you want to see trickle on Mac OS X, work with the developer of the software to make that happen. Once they release a new version of the software that works on Mac OS X, we can certainly look into creating a portfile for it to ease installation.


I'll attach the portfile and patch I used to get this far.




-------------- next part --------------
A non-text attachment was scrubbed...
Name: Portfile
Type: application/octet-stream
Size: 400 bytes
Desc: not available
URL: <http://lists.macosforge.org/pipermail/macports-users/attachments/20110719/f811c5b8/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch-trickle-overload.c.diff
Type: application/octet-stream
Size: 369 bytes
Desc: not available
URL: <http://lists.macosforge.org/pipermail/macports-users/attachments/20110719/f811c5b8/attachment-0001.obj>


More information about the macports-users mailing list