txr-users
[Top][All Lists]
Advanced

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

Re: [Txr-users] installing


From: Kaz Kylheku
Subject: Re: [Txr-users] installing
Date: Sat, 07 Apr 2012 13:35:05 -0700
User-agent: Roundcube Webmail/0.4

On Sat, 7 Apr 2012 14:14:34 +0100, Tristan Williams
<address@hidden> wrote: 
> This is what I did.
> 
> 0. Run ./configure as is from the txr-64 directory.
> 1. make clean
> 2. cd mpi-1.8.6 and then make
> 3. cd ..
> 4. edit config.make so that ccname = g++ 
> 5. save config.make
> 6. make
> 7. make tests

Do you see the same name clash problems if you don't have ccname
set to g++? If so, what a mess ...  The choice of dialect shouldn't
have any impact on whether you see "random" in <unistd.h>.

Maybe the headers have some tests for __cplusplus and are more
rigorous. (Because C++ programs use lots of short names and
namespaces?)

(Good thing I maintain C++ compilation! Sometimes I forget to switch
compilers and check, but before Version 64, I built both ways.)

> Mine then passed the tests.
> 
> Sadly, ./configure --cname=g++ didn't work for me as the mpi lib then
> started to complain about not supporting long long. 

By the way, I not recommend doing make under "mpi-1.8.6"! Eek!

Is that a necessary step in the above workaround
recipe?

Luckily, if you do this, and the "mpi-types.h" has already been
generated by the configure script, the compilation of mpi.c
will pick up that header, so that it should be working
with the right types for mpi_digit and so on.

But if you do a make inside mpi-1.8.6, it compiles using the C
compiler; if you then switch to g++ for the rest of
TXR program, how does that even link? There are
no extern "C" declarations in the MPI code, so C++ declarations
are being used to reach C definitions.

MPI doesn't refer to long long anywhere except through the
mpi-types.h header that ./configure generates and that script
tests whether a small program that uses long long will compile.

Can you post the contents of your "config.h" and
"mpi-1.8.6/mpi-types.h"
after doing a clean configure, with and without ccname=g++?
The output of configure wouldn't hurt, either.

Use "make distclean" to blow away everything to do a clean reconfigure.
That also gets rid of the mpi-1.8.6 directory so that it is unpacked
afresh and the patches re-applied.

Cheers ...



reply via email to

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