NOTE: Most of these tips are for the Linux client version 1.6 and below. Version 2.0 of the Linux client does support FreeBSD,Solaris, Mac OSX, and other platforms.
We have had users convert the No-IP Linux source code to work for other unix platforms. Below are links to changes submited by users to get the client working. We do not offer support on these modifications.
- OpenBSD
- Mac OS X
- Solaris
From: "Shaun"
To: <webmaster@no-ip.com>
Sent: Tuesday, December 05, 2000 4:23 PM
Subject: Re: FreeBSD Version
To get it to compile for OpenBSD you just need to replace
#include <linux/if.h>
with
#include <net/if.h>
I assume this change should allow it to work under the other BSDs (FreeBSD, NetBSD etc) as well.
From: "Shaun L"
To: <webmaster@no-ip.com>
Sent: Sunday, October 28, 2001 9:28 PM
Subject: update client for unix client on OSX
Hi, I have sucessfully compiled and ran the no-ip client on OSX, 10.1 (retail boxed non-server version).
One line I had to change in Makefile was CC=gcc, which I changed to CC=cc. Apparently there isn't a gcc on OSX.
Btw, I installed the developer tools CD. That may or may not be important, I'm not sure.
Sean
From: "Rob"
To: <webmaster@no-ip.com>
Sent: Friday, November 03, 2000 8:26 AM
Subject: Re: FreeBSD Version
I made some simple modifications so the Linux client will work on
Solaris also. Here's a set of patches with the modifications.
Rob
Output from Diff file.
--------------------------------------------------------------------------------*** Makefile.orig Fri Oct 6 00:56:22 2000 --- Makefile Fri Nov 3 10:15:12 2000 *************** *** 1,7 **** TGT=noip ${TGT}: noip.c ! cc -O2 -g noip.c -o noip install: ${TGT} no-ip.conf cp ${TGT} /usr/local/bin/${TGT} --- 1,9 ---- TGT=noip + CC=gcc + LIBS=-lsocket -lnsl ${TGT}: noip.c ! ${CC} -O2 -g noip.c -o noip ${LIBS} install: ${TGT} no-ip.conf cp ${TGT} /usr/local/bin/${TGT} *** noip.c.orig Fri Oct 6 00:47:49 2000 --- noip.c Fri Nov 3 10:13:58 2000 *************** *** 47,57 **** --- 47,62 ---- #include#include #include + #ifndef sun #include #ifndef SIOCGIFADDR #include #endif + #else + #include + #include + #endif file://#define DEBUG *************** *** 361,372 **** --- 366,381 ---- x = fork(); switch (x) { case -1: // error + #ifndef sun if ((errno >= 0) && (errno < sys_nerr)) err_string = (char *)sys_errlist[errno]; else { sprintf(buffer, "Unknown error %d", errno); err_string = buffer; } + #else + err_string = strerror(errno); + #endif ErrMsg( "Can't fork!! (%s) Ending!\n", err_string); return -1; default: // parent *************** *** 704,715 **** --- 713,728 ---- syslog(LOG_INFO, "%s set to %s", ourname, IPaddress); return SUCCESS; } + #ifndef sun if ((errno >= 0) && (errno < sys_nerr)) err_string = (char *)sys_errlist[errno]; else { sprintf(buffer, "Unknown error, errno=%d", errno); err_string = buffer; } + #else + err_string = strerror(errno); + #endif switch (error_code) { case ALREADYSET: syslog(LOG_INFO, "%s was already set to %s.",

