bug-texinfo
[Top][All Lists]
Advanced

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

Re: [platform-testers] texinfo-6.5.90 pretest on Solaris 10


From: Gavin Smith
Subject: Re: [platform-testers] texinfo-6.5.90 pretest on Solaris 10
Date: Sat, 5 Jan 2019 15:55:34 +0000

On 1/5/19, Bruno Haible <address@hidden> wrote:
> As you can see, it does not use $CC (which I set to a 64-bit compiler)
> but 'cc' (which happens to be a 32-bit compiler - thus causing a mismatch
> with the CPPFLAGS and LDFLAGS that I specified).
>
>> This could be explained by a different compiler and flags being used
>> to build a Perl XS module.
>
> Indeed, this is the problem. The configure script and the Makefile ought to
> use $CC that was provided to the configure script, not something else.
> (I'm speaking from experience: In GNU clisp, for some time, I was passing
> different CFLAGS value down to a specific subdirectory, and this produced
> endless problems. A different CC value is even worse, because it may end
> up creating .o files of a different ABI.)

It uses the output of "perl -V:cc" as $CC because the perl interpreter
may have been built with a different compiler than the one being used
to build the rest of Texinfo (e.g. the info browser). For the best
chance for XS modules to be compatible with the perl interpreter, they
should be built with the same compiler and flags. This of course may
not be possible.

> If libperl is built against a different ABI, your only options are
>   - to ignore it and not build the XS parser module, or
>   - to abort the configuration with an error message such as "libperl
>     found is not compatible with ABI implied by $CC $LDFLAGS".

Using two different compilers has been successful before, for example
on Solaris 10 using gcc at the top-level and the "Sun Studio" compiler
for the extension modules.

It is possible to override the C compiler given by Perl by setting
PERL_EXT_CC when configure is run. There are also PERL_EXT_CFLAGS,
PERL_EXT_CPPFLAGS and PERL_EXT_LDFLAGS.



reply via email to

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