Follow-up Comment #17, bug #66143 (group groff): [comment #16 comment #16:] > Thank you for your long answer and background information on C and C++! > > > To be honest, I didn't try, > > I am a bit sad - but I fully understand your hesitancy.
Sorry, I'm the kind of guy whose first instinct is to offer a graduate seminar in the history of fishing before teaching someone to fish, let alone to think to feed myself or others from the bucket full of slowly putrefying fish next to me. ;-) > I will try and channel my emotional energy into trying to find out, why and how the homebrew build of groff works. I have a suspicion it is related to setting the prefix explicitly [1]. > [1]: https://github.com/Homebrew/homebrew-core/blob/ece78c067d1462730eb0602077316f5ce76d15ab/Formula/g/groff.rb#L39 I see nothing amiss there. The `--prefix` flag determines whither components of _groff_ will be installed. It has little or no influence on where dependencies _of_ the build are sought. > I am hard pressed of guessing, what that variable is set tot during build, so I will have to try it out. If a variable is what you're seeking, that I can offer. I just did the following. (I build in a subdirectory, [https://git.savannah.gnu.org/cgit/groff.git/tree/INSTALL.REPO#n92 as documented in our "INSTALL.REPO" file].) You might do the same. Try this. $ rm -r build $ mkdir build $ cd build $ ./bootstrap $ UCHARDET_CFLAGS=-I/hi/sven/here/is/an/example ../configure $ make -j $ rm preconv ./src/preproc/preconv/*.o $ make V=1 preconv The build succeeded for me in spite of the mischief I got up to, so I deleted _preconv_'s executable and object file, and rebuilt verbosely ("V=1") to prove that the overridden `UCHARDET_CFLAGS` was being used. And indeed it was. > Honestly, I do not fully understand, what you mean by this. But maybe my investigation of homebrews own build process will further my understanding. Libraries that support _pkg-config_ for themselves tell the _pkg-config_ command what to say by means of a ".pc" file. Example: $ cat /usr/lib/x86_64-linux-gnu/pkgconfig/libsasl2.pc prefix=/usr exec_prefix=/usr libdir=/usr/lib/x86_64-linux-gnu includedir=/usr/include Name: Cyrus SASL Description: Cyrus SASL implementation URL: http://www.cyrussasl.org/ Version: 2.1.27 Cflags: -I${includedir} Libs: -L${libdir} -lsasl2 Libs.private: -ldl -lresolv My hypothesis is that the "Cflags:" line in Homebrew _uchardet_'s ".pc" file is incorrect. > My goal is simply to be able to build groff from source on macos with homebrew without needing to patch the groff sources. Let me know if the foregoing "UCHARDET_CFLAGS" environment variable trick works. > If it is homebrew, which is at fault, I will certainly open a ticket there. :) I firmly believe that it should not be *necessary* to specify "UCHARDET_FLAGS" to get _groff_ to build on macOS, even if that tactic *works*. I'm prepared, with my barrels of ink tapped and ready to flow like draft beer, to argue the point with Homebrew developers, if necessary. A guy on the _groff_ list named John Gardner has long experience with building _groff_ on Homebrew. That is one reason I suggested subscribing to the list. There are doubtless others lurking. _______________________________________________________ Reply to this item at: <https://savannah.gnu.org/bugs/?66143> _______________________________________________ Message sent via Savannah https://savannah.gnu.org/
signature.asc
Description: PGP signature