I actually did get it to compile, but I ran into a couple of minor issues.
The first one is that it needs to explicitly link against -lsocket and -lnsl. I wasn't sure where the right place to add that in was. I believe I added socket and nsl to the CMakeLists.txt file in the src directory, and things started working.
The second one had to do with it expecting our version of msgfmt to support what I think is a GNU extension... msgctext. All that does is act as a comment to distinguish strings for translators and has no functionality at compile time that I can see. I was able to get that to work by going to the two directories that contain *.po files and just using sed -i '/msgctxt/d' * to delete all the lines containing it. After that, it had no trouble putting together what was left.
I don't really know enough about how CMake works to be able to patch it properly, even though I did get it working. I can submit what I did if it helps, though.
What I think it really needs to do is conditionally link against socket and nsl on illumos, but not do so on other operating systems. And possibly include a hack to strip out msgctxt lines on illumos before trying to use msgfmt (like I did), or alternately just disable the international API so msgfmt never gets called.
I actually did get it to compile, but I ran into a couple of minor issues.
The first one is that it needs to explicitly link against -lsocket and -lnsl. I wasn't sure where the right place to add that in was. I believe I added socket and nsl to the CMakeLists.txt file in the src directory, and things started working.
The second one had to do with it expecting our version of msgfmt to support what I think is a GNU extension... msgctext. All that does is act as a comment to distinguish strings for translators and has no functionality at compile time that I can see. I was able to get that to work by going to the two directories that contain *.po files and just using `sed -i '/msgctxt/d' * ` to delete all the lines containing it. After that, it had no trouble putting together what was left.
I don't really know enough about how CMake works to be able to patch it properly, even though I did get it working. I can submit what I did if it helps, though.
What I think it really needs to do is conditionally link against socket and nsl on illumos, but not do so on other operating systems. And possibly include a hack to strip out msgctxt lines on illumos before trying to use msgfmt (like I did), or alternately just disable the international API so msgfmt never gets called.
<!-- github-sync-id:899236648 -->
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
I actually did get it to compile, but I ran into a couple of minor issues.
The first one is that it needs to explicitly link against -lsocket and -lnsl. I wasn't sure where the right place to add that in was. I believe I added socket and nsl to the CMakeLists.txt file in the src directory, and things started working.
The second one had to do with it expecting our version of msgfmt to support what I think is a GNU extension... msgctext. All that does is act as a comment to distinguish strings for translators and has no functionality at compile time that I can see. I was able to get that to work by going to the two directories that contain *.po files and just using
sed -i '/msgctxt/d' *to delete all the lines containing it. After that, it had no trouble putting together what was left.I don't really know enough about how CMake works to be able to patch it properly, even though I did get it working. I can submit what I did if it helps, though.
What I think it really needs to do is conditionally link against socket and nsl on illumos, but not do so on other operating systems. And possibly include a hack to strip out msgctxt lines on illumos before trying to use msgfmt (like I did), or alternately just disable the international API so msgfmt never gets called.