bug-groff
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug #66143] build of current master (c9b3c99) fails on MacOS 14.6.1


From: G. Branden Robinson
Subject: [bug #66143] build of current master (c9b3c99) fails on MacOS 14.6.1
Date: Thu, 5 Sep 2024 03:18:18 -0400 (EDT)

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/

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]