On May 8, 12:11 pm, Jason <ja...@njkfrudils.plus.com> wrote: > Hi > > I put some code in to reject the buggy GCC-4.3.2 in 64bit mode. So on the gcc > farm eg gcc11 what happens now with -enable-cxx is > gcc 64bit mode is rejected so try gcc in 32bit mode which is OK , try g++ in > 32bit mode which fails(no 32bit c++ libs installed, or path wrong) so try it > without the flags(ie -m32) and is OK and in 64bit mode , compile using these > options and break right at the end with incompatible librarys error. > > The default system is clearly broken , but should we work around it? > 1) We could test that c++ ABI is same as c ABI , in the above this would just > stop in the configure stage with a message saying no suitable compiler found. > > 2) Test and reject g++-4.3.2 in 64bit mode , same message as 1) > > 3) Get rid of the ABI selection mechanism completely. > > I'm all for 3) , the whole selection system seems fragile and flaky , most > systems have only 1 ABI/compiler anyway so we can just use autotools defaults > and just give an error message if the ABI/compiler is no good , and on systems > with more than 1 ABI/compiler autotools will select the default ABI/compiler , > if it work we use it , if it doesn't we give up. Defaults are set for a reason > and we should stick with it(other packages do) , I imagine on most systems the > default is the fastest. > > I think on most systems this will make no difference at all , and only a few > systems will have a different ABI selected , but then I imagine those users > are used to selecting different ABI's for their systems , ie Solaris > > Specifing ABI=xxx will work , and if the specified ABI is no good we give up. > > Any thoughts? > > Jason
The new mpir app's test has caught at least one case of mpir using - m64 to force the compiler in 64 bit mode but mpfr (and I assume mpc etc) just use the default of not using -m64 so that the compiler is in 32 bit mode and we get this error hecking whether to build static libraries... yes checking whether gcc __attribute__ ((mode (XX))) works... yes checking for recent GMP... yes checking for gmp internal files... yes checking for valid GMP_NUMB_BITS... no configure: error: GMP_NUMB_BITS is incorrect. I assume this why sage likes to use it's own flags of -m64 , so that all package are 64 bit , if we just used the default compiler setting it would match all the other packages , simplify our configure system (hooray) and also fix the problem above where the C and C++ compiler can use different ABI's This was on gcc40 with gcc-4.1 on a powerpc64 or powerpc970 Jason -- You received this message because you are subscribed to the Google Groups "mpir-devel" group. To post to this group, send email to mpir-devel@googlegroups.com. To unsubscribe from this group, send email to mpir-devel+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/mpir-devel?hl=en.