Git fails on FreeBSD

Hello fellow MineOS’ers.
I’m a Windows baby, and have learned enough command line to be dangerous. Thanks to the simplicity of MineOS, I too can have a nice, clean, responsive Minecraft host from my own hardware. It has been running stable and hosting multiple servers beautifully for more months than I can remember. Excellent job, Will et al.

I’ve noticed in my WebUI that the version no longer appears which I take to mean I’m out of date. With that I tried to follow the commands listed for FreeBSD in the MineOS wiki, but I’ve had an issue which I don’t understand.

From my /usr/local/games/minecraft directory, with the following files in the directory:

root@MineOS:/usr/local/games/minecraft # ls
.git                    html                        init                         mineos.conf             procfs_reader.pyc                 server.old                 mineos.pyc    
auth.pyc                mineos_console.old       stock_profiles.pyc
conf_reader.pyc               tests     mounts.pyc

The following are the commands and responses:

root@MineOS:/usr/local/games/minecraft # git fetch
/usr/local/bin/git: Undefined symbol "locale_charset"
root@MineOS:/usr/local/games/minecraft # git merge origin/master
/usr/local/bin/git: Undefined symbol "locale_charset"
root@MineOS:/usr/local/games/minecraft # git reset --hard origin/master
/usr/local/bin/git: Undefined symbol "locale_charset"

So, I put my Googles on, and went looking for an answer. Seemed like references for the locale_charset were few, and what I did find was a little over my head.
I feel like this is an issue with my git, but perhaps I’m just out to lunch. Anyone have any ideas?

Your suspicion that this is a git issue seems likely. This is easily verifiable by simply running git on its own.

root@core ~# git --version
git version

If the error still comes up, you know its specifically git, and it’s time to update it.

In googling this error, I came upon this StackOverflow post which suggests updating your git build (likely via portsnap or building it from source). Did you recently make system-wide updates?

For future reference, the web-ui will continue to operate no matter how old the commit is; there’s no upgrading requirement or built-in timebomb. You could use your current commit forever (provided you never needed any of the updates).

Well, I feel validated in spite of my FreeBSD noob status. I also had read this statckoverflow post, Will, however, I think the execution of a .git rebuild is the part which is over my head.

I searched for some instruction on rebuilding my .git, but the responses are so cluttered with applications which use .git for their rebuilds that I couldn’t find any clear .git rebuild instructions.

If you know of a set of instructions (which even a fool could follow), that’d be helpful.

BTW, I did execute the code you asked for, and got the response below:

root@MineOS:~ # git --version
/usr/local/bin/git: Undefined symbol "locale_charset"

So, next question was did I change something. That’s a little harder to say for sure. I’ve been using this hardware not only to host my Minecraft, but also to learn a little about FreeBSD. So, it’s very possible, though, I can’t name anything specifically.

I’ve been trying to use it to host a Kaltura video server as well (Open Source personal YouTube style server). So, it’s quite possible I’ve nicked a critical piece of .git without realizing the impact I was having.

The reason I was hoping to upgrade the WebUI, in case you were wondering was to see if you’d included some scripts to deal with the EULA in 1.8.

Yes, the EULA can be accepted through the webui from this commit on July 9. Of course, you’d get this and all commits since and before July 9 with the instructions you attempted from the wiki.

As far as how to update software in FreeBSD–how have you been doing it so far? While methods of installing things can be mix-and-match, there’s no good reason to use multiple, different methods when one already suffices.

The binary package installer has a help page: pkg
Alternatively, there’s portsnap (build from source): portsnap

I’m providing both to be complete, but if you’re feeling a bit novice, then the recommended one is pkg (at least until you start feeling like you can be more adventurous later).

So… Finally got upgraded, and the issue ultimately was with git. Though, the fix took some effort. Unfortunately I accomplished it late in the night last night, and wasn’t following very good documentation techniques, but I think it goes something like this:

pkg_* was updated on FreeBSD to pkg2ng(?). Due to this my, my git wouldn’t upgrade properly (I believe I attempted to upgrade git for reasons not related to MineOS). In order to overcome this I went through the portsnap process you linked above, Hex. Only to bet met by an error referring to (and this is where I get a little fuzzy on what I did) a .conf file. It having a reference to the old version of git that was installed. I had to delete the line from the .conf file and then portsnap worked. With portsnap extracted and updated I was able to got to pkg2ng. With pkg2ng I was able to upgrade git. With git I was able to update MineOS.

I write this last post not so much as a helper for anyone else, because it’s really not that helpful (my apologies). Instead I wear it as a badge of honor that I’m learning. Thanks again for such a great Minecraft OS, Hexparrot. More importantly for a platform to touch; a place to learn for myself. Without it, I would not have ventured into the realm of linux, and certainly not a pure text version of it.

Something to keep in mind, we learn far better through our resolved failures than our natural successes. Don’t be too quick to make it easy for us, especially if your main goal is to teach some linux along the way. If people want the easy route, then they’d just take the performance hit and run their servers on windows, wouldn’t they?

1 Like

hey hexparot,
if you check my github I have a FreeBSD port and written for mineos. one change I have in mine compared to your freebsd init script is I start the MC servers as part of starting the mineos webui.

I may submit this to the ports tree, but I’d need to base it on your release tags cause freebsd wants to be in control of updates =\

just tell me if this is something you think I should do?