This has been bugging me for quite some time now: Every time I tried to import the ctypes module into Python 2.7, all I would get was the famous “Aborted” message. With some time to spare I could trace the problem down to the file closures.c of the libffi submodule. Most likely due to a compiler/optimization bug in older versions of gcc a double-free is happening there in line 151.
Since the surrounding function only checks for the presence of SELinux on the host and since the box I need to run Python 2.7 on doesn’t have SELinux installed, I opted for simply removing the whole thing:
--- a/Modules/_ctypes/libffi/src/closures.c 2012-04-10 01:07:33.000000000 +0200
+++ b/Modules/_ctpyes/libffi/src/closures.c 2012-06-20 17:35:40.277850045 +0200
@@ -119,52 +119,7 @@
#define LACKS_SYS_MMAN_H 1
-static int selinux_enabled = -1;
- struct statfs sfs;
- FILE *f;
- char *buf = NULL;
- size_t len = 0;
- if (statfs ("/selinux", &sfs) >= 0
- && (unsigned int) sfs.f_type == 0xf97cff8cU)
- return 1;
- f = fopen ("/proc/mounts", "r");
- if (f == NULL)
- return 0;
- while (getline (&buf, &len, f) >= 0)
- char *p = strchr (buf, ' ');
- if (p == NULL)
- p = strchr (p + 1, ' ');
- if (p == NULL)
- if (strncmp (p + 1, "selinuxfs ", 10) != 0)
- free (buf);
- fclose (f);
- return 1;
- free (buf);
- fclose (f);
- return 0;
-#define is_selinux_enabled() (selinux_enabled >= 0 ? selinux_enabled \
- : (selinux_enabled = selinux_enabled_check ()))
#define is_selinux_enabled() 0
#endif /* !FFI_MMAP_EXEC_SELINUX */
#elif defined (__CYGWIN__)
Compile, install – works. Now on to some other stuff that needs Python 2.7 to run properly ;)
This has been a very hectic couple of weeks. Not only the beta testing for the (now not so) new Netgear ReadyNAS boxes with ARM architecture: the Duo v2 and the NV+ v2. But also building add-ons for the new interface. Currently available are:
Especially the new web interface was a major obstacle there for in some situations it behaves quite different than the old and trusty Frontview. But now that I’ve got the hang of it I’m quite confident that more stuff is going to follow soon. And of course updates to the ReadyNAS Sparc stuff that has been put on hold for doing the ARM thing ;) Since I’ve just upgraded this site to WordPress 3.3, I might do an add-on for that as well – we’ll see.
For now it’s relaxing time – at least until the end of the week.
Today an interesting request came up in the ReadyNAS forums: Would it be possible to build an add-on that could send Wake-on-LAN (WoL) packets to any host on your local network? You bet it is ;) Took me a bit time to fiddle in the password protection but here you go:
Version for the x86 ReadyNAS line: ReadyWOL_0.1-readypro-0.1.3.bin
Version for the Sparc ReadyNAS line: ReadyWOL_0.1-readynas-0.1.3.bin
After installation you can wake any machine on your LAN by requesting a special URL from your ReadyNAS. And once you’ve properly configured your router, you can even wake up machines while you’re on the road.
Using SSH to connect to the ReadyNAS has many advantages for the experienced user. However, OpenSSH is kind of a resource hog which is especially true when being used together with rsync. To make rsync over SSH run a bit smoother I decided to replace OpenSSH with Dropbear on my Sparc line of ReadyNAS boxes. So here’s the latest addition to my add-on collection:
Since many ReadyNAS users seemed to have problems getting SABnzbd to run on their ReadyNAS, I decided to give it a try. The result:
To make those work, Python must be installed on the ReadyNAS as well. As usual, there’s Python for ReadyNAS (Intel) and Python for ReadyNAS (Sparc). Setup instructions:
Two things I’ve always missed on the ReadyNAS were a DNS server to serve my local network and a fully fledged DHCP server allowing me to assign IP addresses to my machines based on their MAC address. Dnsmasq can do both and more. It even integrates a TFTP/BOOTP/PXE server to boot diskless machines off the network. So I dived into the realms of add-on programming again and baked some add-ons ;)
And yet another update: Took me some fixing of the sources but I finally was able to build a new release of the iSCSI Add-On for ReadyNAS. This release adds a lot of stability fixes of which mainly Solaris and Windows users will profit.
Get it here: iSCSItarget_22.214.171.124-readynas-1.0.3.bin (ReadyNAS Sparc only!)
Since I was already updating the SVN stuff for the ReadyNAS line I thought I might as well upgrade the WebSVN add-on. So here we go:
ReadyNAS NV(+)/Duo/1100/X6: WebSVN_2.3.1-readynas-1.0.0.bin
ReadyNAS Pro/NVX/2100/3200: WebSVN_2.3.1-readypro-1.0.0.bin
Since I had some spare time I decided to upgrade my Subversion add-on for the ReadyNAS line. For a complete list of changes since the last version (1.6.6) see the official changelog.
For ReadyNAS NV(+)/Duo/1100/X6: subversion_1.6.11-readynas-1.0.0.bin
For ReadyNAS Pro/NVX/2100/3200: subversion_1.6.11-reaypro-1.0.0.bin
Just a few days after I released Bacula 3.0.2 for ReadyNAS it’s time for an update. With Bacula 3.0.3, the developers included another bunch of bug fixes and enhancements. Update on the ReadyNAS should pose no problems since I also renamed the sample configuration files.
Today, after some intensive initial beta testing by Jan-Piet I decided to release Bacula 3.0.2 for ReadyNAS NV/NV+/Duo/1100/X6.
For those of you who don’t know Bacula and what it does: The headline says it all. Or to quote the website:
Bacula is a set of Open Source, enterprise ready, computer programs that permit you to manage backup, recovery, and verification of computer data across a network of computers of different kinds. In technical terms, it is an Open Source, enterprise ready, network based backup program.
That said, you should know that’s it’s not a snap to configure, so be sure to read the documentation or at least have a look at the quick walk-through provided by Jan-Piet.
Today I released the iSCSI Target Addon 1.4.18 for the Sparc based ReadyNAS series. There’s not only the dramatic change in the version number. In addition a lot of changes happened behind the scenes:
Since it wasn’t that much work I decided to honor the request and build the server component of the NTP protocol suite for the ReadyNAS Duo/NV/NV+/1100/X6.
There are two archives available:
After installation the server will start immediately. However, it will take some time for the server to actually sync time and date with the official time sources. So it takes about 15 to 20 minutes until any client on your network can actually sync its time with the time source on the ReadyNAS.
Have fun with the tool and remember: Works for me, ymmv.
For reasons unknown to me, I get a lot of hits from searches for “readynas uninstall togglessh”. Obviously a lot of people who tried the ToggleSSH addon for their ReadyNAS found that it didn’t suit their needs and now want to uninstall it. Ok, so I’m going to tell you how to fix your problems ;)
Finally being bothered enough by always having to connect my USB scanner to yet another computer, I decided to bring the SANE backends to the ReadyNAS. As a result, I proudly presend sane-backends_1.0.20-readynas-0.1.0. Using this addon will add support for a vast variety of USB scanners to your ReadyNAS.
To use the scanner attached to your ReadyNAS, you’ll also need a compatible SANE frontend. Those are available for Linux and Windows (XSane) as well as for Mac OS/X (TWAIN SANE, even already with a version for Snow Leopard).
Some screenshots (taken on Linux):
I just released a small update to WebSVN for ReadyNAS / WebSVN for ReadyNAS Pro which by now is available for both, the Sparc- and the Intel-based systems (as if you hadn’t guessed that already ;)). With version 0.9.3 you will now be able to run WebSVN even if you haven’t created an SVN repository already. Before 0.9.3 this would result in a somewhat meaningless error message about a missing configuration directive which just wasn’t true.
Also new in this version is the ability to add BDB-type repositories. While this is the “old” repository style I’m told that using BDB as storage engine will give you a performance boost on larger repositories. So I decided to add that function as well.
I just finished creating two Addons for the ReadyNAS Duo, NV, NV+, 1100 and X6 that allow you to host SVN repositories. The first obviously is Subversion itself. This addon includes all the subversion command line tools and also adds support for accessing the repositories on your ReadyNAS through the browser interface.
The second addon is WebSVN. In addition to browsing the repositories in a much nicer interface than SVN itself provides, this modified version also allows the creation of new repositories for authenticated users. To use WebSVN, PHP support has to be installed on the ReadyNAS which can be achieved by using the PHP_1.1.bin from Readynas.com.
As always: Works for me, ymmv. If these addons break your ReadyNAS you own the parts.
Ah, and before you ask: Yes, versions for the Intel based ReadyNAS products are to come shortly. Don’t hold your breath, though.
I just upgraded the iSCSI support for the older ReadyNAS line to version 0.4.17svn 220. Most notably this version includes a fix for some memory leaks in the previous versions.
For more information see the details or if you aren’t that patient go and get the file ;)
As it happens I just released the latest beta version of the iSCSI support for ReadyNAS. We’re now at 0.4.17svn214. This version adds support for Linux kernels 2.6.29 and newer, thus an upgrade for ReadyNAS users isn’t really neccessary.
Netgear today released the ReadyNAS 2100 for 19″ racks. As with the ReadyNAS Pro and the ReadyNAS NVX, the ReadyNAS 2100 uses an Intel CPU to power the Linux kernel inside. For the moment, the ReadyNAS 2100 comes in two flavors: