Linux on Sparc

Used for this build was a ReadyNAS Duo Box running an old Linux on Sparc v8 Architecture.
For this to work on that NAS box you need to get ssh root access and the apt-Tool installed.

1. Get the prerequisites with apt-get install as root:

  • gcc (should be Version 3.3.5)
  • the libraries for libzmq: uuid-dev… as listed on this page elsewhere.
  • autotools, autoconf, autolib, make
  • coreutils for sed and friends

2. Get the sources for libzmq (I used apt to fetch wget and then wget to get the package)

3. untar/unzip them and you will get a folder zeromq-2.1.10

4. cd into that directory

5. run

./configure --build=sparc-linux

If you need debug info add —enable-debug to the configure command line.

6. get configure to run installing everything configure is complaining about to be missing.

For gcc 3.3.5 a Warning about a private constructor used in ctx.cpp thus stopping the build because of -Werror. Additionally the ReadyNAS is using a v8 architecture sparc. The following step takes care of it:

7. edit the generated config.status file

* find -Werror and remove it
* in the same line change -mv9 to -mv8 to tell g++ to emit SPARC code. -mv9 will emit SPARC32PLUS code not runnable on the ReadyNAS. If your sparc is a v9 architecture you may leave that as it is. It's a pitty but the auto* toolset available for the ReadyNAS is not supported by the auto* files in the package. So you need to modify their output directly.

8. If you changed config.status in the last step you need to recreate all makefiles by executing config.status using sh.

sh config.status

9. The build should work now.

make; make install; make check

On my ReadyNAS box the build takes ~20 minutes to complete. If you run into linking errors concerning a char_traits template, you need to find a header file on your system which contains this template or you can get one from id3lib on google code (id3lib_strings.h).

Replace every

#include <strings>


#include "your-header-that-has-char_traits-and-itself-includes-<string>-.hpp"

That should fix that problem too. Good luck! If you have problems consult the mailing list. I'm lurking it steadily!