Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

#62 about a useful configure flag

Would_be_nice
open
None
5
2007-02-10
2007-02-06
Anonymous
No

I would like to report a problem I found during
configure phase. Using the command:

/common/src/ATLAS/configure -Ss kern /common/compilers/linux/gcc-3.4.6/bin/gcc-3.4.6

I got the following output:

gcc -I/common/src/ATLAS//CONFIG/include -g -w -c /common/src/ATLAS//CONFIG/src/atlconf_misc.c
gcc -I/common/src/ATLAS//CONFIG/include -g -w -o xconfig /common/src/ATLAS//CONFIG/src/config.c atlconf_misc.o
atlconf_misc.o: In function `CmndResults':
/common/src/ATLAS//CONFIG/src/atlconf_misc.c:306: warning: the use of `tmpnam' is dangerous, better use `mkstemp'
./xconfig -d s /common/src/ATLAS/ -d b /common/lib-linux/atlas/atlas-3.7.26 -Ss kern /common/compilers/linux/gcc-3.4.6/bin/gcc-3.4.6
atlconf_misc.o: In function `CmndResults':
/common/src/ATLAS//CONFIG/src/atlconf_misc.c:306: warning: the use of `tmpnam' is dangerous, better use `mkstemp'
atlconf_misc.o: In function `CmndResults':
/common/src/ATLAS//CONFIG/src/atlconf_misc.c:306: warning: the use of `tmpnam' is dangerous, better use `mkstemp'
atlconf_misc.o: In function `CmndResults':
/common/src/ATLAS//CONFIG/src/atlconf_misc.c:306: warning: the use of `tmpnam' is dangerous, better use `mkstemp'
atlconf_misc.o: In function `CmndResults':
/common/src/ATLAS//CONFIG/src/atlconf_misc.c:306: warning: the use of `tmpnam' is dangerous, better use `mkstemp'
atlconf_misc_BE.o: In function `CmndResults':
/common/src/ATLAS//CONFIG/src/atlconf_misc.c:306: warning: the use of `tmpnam' is dangerous, better use `mkstemp'
atlconf_misc.o: In function `CmndResults':
/common/src/ATLAS//CONFIG/src/atlconf_misc.c:306: warning: the use of `tmpnam' is dangerous, better use `mkstemp'
gcc -I/common/src/ATLAS//CONFIG/include -g -w -c /common/src/ATLAS//CONFIG/src/probe_comp.c
gcc -I/common/src/ATLAS//CONFIG/include -g -w -o xprobe_comp probe_comp.o atlconf_misc.o
atlconf_misc.o: In function `CmndResults':
/common/src/ATLAS//CONFIG/src/atlconf_misc.c:306: warning: the use of `tmpnam' is dangerous, better use `mkstemp'
rm -f config1.out
make atlas_run atldir=/common/lib-linux/atlas/atlas-3.7.26 exe=xprobe_comp args="-v 0 -o atlconf.txt -O 1 -A 20 -Si nof77 0 -C sm '/common/compilers/linux/gcc-3.4.6/bin/gcc-3.4.6' -C dm '/common/compilers/linux/gcc-3.4.6/bin/gcc-3.4.6' -C sk '/common/compilers/linux/gcc-3.4.6/bin/gcc-3.4.6' -C dk '/common/compilers/linux/gcc-3.4.6/bin/gcc-3.4.6' -b 64" \ redir=config1.out
make[1]: Entering directory `/common/lib-linux/atlas/atlas-3.7.26'
cd /common/lib-linux/atlas/atlas-3.7.26 ; ./xprobe_comp -v 0 -o atlconf.txt -O 1 -A 20 -Si nof77 0 -C sm '/common/compilers/linux/gcc-3.4.6/bin/gcc-3.4.6' -C dm '/common/compilers/linux/gcc-3.4.6/bin/gcc-3.4.6' -C sk '/common/compilers/linux/gcc-3.4.6/bin/gcc-3.4.6' -C dk '/common/compilers/linux/gcc-3.4.6/bin/gcc-3.4.6' -b 64 > config1.out
UNKNOWN COMPILER '/common/compilers/linux/gcc-3.4.6/bin/gcc-3.4.6' for SMC: you must also supply flags!
make[1]: *** [atlas_run] Error 2
make[1]: Leaving directory `/common/lib-linux/atlas/atlas-3.7.26'
make: *** [IRun_comp] Error 2
xconfig: /common/src/ATLAS//CONFIG/src/config.c:125: ProbeComp: Assertion `!system(ln)' failed.

OS configured as Linux (1)

Assembly configured as GAS_x8664 (2)

Vector ISA Extension configured as SSE2 (3,56)

Architecture configured as HAMMER (20)

Clock rate configured as 2004Mhz

Maximum number of threads configured as 4
Parallel make command configured as '$(MAKE) -j 4'
Cannot detect CPU throttling.
/bin/sh: line 1: 31489 Aborted ./xconfig -d s /common/src/ATLAS/ -d b /common/lib-linux/atlas/atlas-3.7.26 -Ss kern /common/compilers/linux/gcc-3.4.6/bin/gcc-3.4.6
xconfig exited with 134

===========================

is there any easy way to define once and for all
the desired compiler (gcc-3.4.6 since I have
performance issues with the native one gcc-4.1.1)
without explicitly specifying the compiler flags.
I understand that one should generally specify the
flags (for instance if he wants to use intels icc
or the pathscale pathcc compiler) since compilers
other than gcc series may not understand gcc's
default flags. In that case is there anyway one
can define flags for all the compilers once and for
all? My only option at the moment is something like:

/pathtoconfigure/configure -C xc pathtoCcompiler
-C ic pathtoCcompiler -C if pathtoFcompiler -C sk
pathtoCcompiler -C dk pathtoCcompiler -C sm
pathtoCcompiler -C dm pathtoCcompiler -F xc Cflags
-F ic Cflags -F if Fflags -F sk Cflags -F dk Cflags
-F sm Cflags -F dm Cflags

of course I can write a bash-script which will take
as arguments the compiler and the flags and will
run the command above, but wouldn't it be better
if the users could define their non-default compiler
in a simpler way?

Discussion

  • Logged In: YES
    user_id=182470
    Originator: NO

    This is a new feature request, moving to the feature request tracker. I have added part of what you want to 3.7.27: you can now specify a gcc compiler without the name "gcc" and configure will use the default gcc flags. However, configure still lacks the brains to recognize that the non-"gcc" name can use the architectural defaults, so if you don't rename the compiler gcc (using a logical link, as I mentioned on the other tracker item), you will probably not get nearly as good as an install.

    I'm not sure when/if I'll be able to add this smarter recognization to the arch defaults.

    Cheers,
    Clint

     
    • labels: 320139 -->
    • assigned_to: nobody --> rwhaley
     
    • milestone: --> Would_be_nice
     
  • Logged In: YES
    user_id=857194
    Originator: NO

    Thank you very much. I am grateful.

    Best,
    Drosos.

     
  • Logged In: YES
    user_id=182470
    Originator: NO

    I just released 3.7.28. It's a bugfix release on 3.7.27, but I also added the ability for having a non-"gcc" named gnu compiler recognized as "gcc" for the arch defaults.

    So, I think I've addressed all your requrests except for an easy way to switch all compiler names at once (which I overlooked, or I'd've added to 3.7.27). My plan is to add similar functionality to -C/-F as we presently have in -Fa. I.e., -C ac gcc-4.1 would switch all C compilers to gcc-4.1 with one statement. This is not implemented yet, but can you confirm that, together with 3.7.28, would finish up this feature request?

    Thanks,
    Clint