Hi,

I've never created a port before this but I believe I've created a proper port 
for monero
(https://github.com/monero-project/monero/).
I say believe because while it's working for me, I've not yet tested it on a 
completely fresh install of OpenBSD. Every OpenBSD computer I have has some 
software installed so it's possible I may have made some mistakes with omitting 
or including extraneous dependencies. Nonetheless it has worked to compile 
Monero. I will attach the port as it is so far for feedback.

Also, I want to know what the standard is for creating service files. The 
Monero project themselves do not package for OpenBSD so they don't provide any 
rc script. In that case is it standard to omit providing one at all? Or should 
a default one be written?

Regards,
Andrew Kloet

Hi Andrew,

I appreciate that there is so much interest in porting Monero to
OpenBSD. I have also been interested in this, and am not the first.
Unfortunately, you have probably duplicated some prior work on this.

https://marc.info/?l=openbsd-ports&w=2&r=1&s=monero&q=b

I have been testing Lucas Gabriel Vuot's port updated to the latest
version. His port includes an RC script and a new user specific to
Monero.

There are some errors in Lucas Gabriel Vuotto's version of the net/monero port.

1. It does not detect the GNU Readline library during compilation.
2. It uses libtinfo for terminfo routines, which does not exist in OpenBSD. These routines are included in libcurses.

An error occurs when building the port with the command "make port-lib-depends-check": it reports that ereadline is not reachable through the dependencies and that curses is unnecessary. However, this is incorrect because listing the dynamic dependencies of the binaries with ldd(1) shows that they have been linked correctly.

/usr/local/lib/libereadline.so → ereadline

/usr/lib/libcurses.so → curses

I have attached my version of the net/monero port to this email. You can also find it in this GitHub repository:

https://github.com/daviduhden/wip-openbsd-ports


The port will require a notice that you'll need 300GB+ on whatever
partition this is mounted to. I guess 100GB+ might be okay with pruning
enabled.

The amount of space required will continue to grow as the blockchain grows larger over time.


Have you run the daemon with much success?

When stopping the daemon, the whole system hangs for about 30-60 seonds.

If you don't limit the number of peers, you'll get frequent core dumps.

I've been using flags like this. --p2p-use-ipv6 doesn't do anything
without manually adding IPv6 peers.

monerod_flags=--no-zmq --no-igd --db-sync-mode=fast:async:10000 --p2p-use-ipv6 
--non-interactive --in-peers=20 --out-peers=20

If your --db-sync-mode isn't right, the system will stall (and still
kind of stalls) while syncing the blockchain.

But with a fast DB mode, if the system crashes, LMDB gets corrupt and
you have to start over. The "fix corruption" flag did not work for me.

And even with a synced blockchain, the Monero node, even without mining,
will crash 7.8. Not 7.7. This takes maybe 12-36 hours.

So this port, unless you've addressed these things, probably isn't ready
for prime time. Or maybe you've had more luck than I have had?

-Henrich

PS: Here's a relevant thread on Monero's Github:
https://github.com/monero-project/monero/issues/7027

I think some of these bugs are OpenBSD bugs and some may be specific to
Monero. Monero brings out the worst in OpenBSD's kernel!

Attachment: monero.tgz
Description: Binary data

Reply via email to