My personal webspace

A webspace for innovation, free thinking, and procrastination

My goal is simply; compile and run the opentracker software on an empty OpenBSD box. I ran into one particularly cryptic problem, and came up with a short-term fix (short term because it wouldn’t be accepted into their source tree, but it’s simple and gets the job done.

If you see the error message…

<span>opentracker.o(.text+0xeae): In function `main':
: warning: srandom() seed choices are invariably poor
trackerlogic.o(.text+0x123): In function `trackerlogic_init':
: warning: random() isn't random; consider using arc4random()
trackerlogic.o(.text+0x305): In function `remove_peer_from_torrent':
: warning: sprintf() is often misused, please use snprintf()
../libowfat/libowfat.a(iob_send.o)(.text+0x2c7): In function `iob_send':
: undefined reference to `io_eagain_write'
../libowfat/libowfat.a(iob_send.o)(.text+0x3b7): In function `iob_send':
: undefined reference to `io_eagain_write'
collect2: ld returned 1 exit status
*** Error 1 in /root/opentracker (Makefile:68 'opentracker')</span>

Then you need to….

Append “io_eagain_write.o” to line 664 of libowfat/Makefile and run…

cd ../libowfat

make clean && make

cd ../opentracker


And it should be good to go :)

For the more long term though, I should (I’ll post updates if I do) get in contact with the guys in charge of libowfat and let them know about the compile issue (ideally submit a patch, too!). Anyhow, good luck!

Content © 2022 Charles Hathaway