Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 242014 - sys-cluster/openmpi: C(XX)FLAGS are ignored (at src_configure/compile)
Summary: sys-cluster/openmpi: C(XX)FLAGS are ignored (at src_configure/compile)
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Justin Bronder (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-10-14 13:26 UTC by Diego Elio Pettenò (RETIRED)
Modified: 2008-10-19 18:35 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Diego Elio Pettenò (RETIRED) gentoo-dev 2008-10-14 13:26:27 UTC
I don't know the build system for this program (and this is a generic bug template so I cannot tell you which program exactly is), but my tests shows that it's not respecting CFLAGS (or CXXFLAGS) properly.

Please look into it, since it's important to respect user CFLAGS and CXXFLAGS.

Warning: this bug might look like a false positive because you actually have your CFLAGS being used; this happens if the CFLAGS are "set in stone" in the build system during src_unpack/src_prepare. While QA has not as of this moment expressed to me a preference, I'd sincerely suggest to avoid the set-in-stone approach, so that ebuild commands could work to reproduce the actual results.

To avoid the set in stone approach:

- consider just changing CFLAGS= to CFLAGS+= if the build system enables warnings;
- if the buildsystem does not use CFLAGS variable at all, in the sed use '$(CFLAGS)', single quoted, so that the CFLAGS variable is picked up;
- use '$(OPTCFLAGS)' in the sed and then use make OPTCFLAGS=$CFLAGS.

Thanks,
Diego
Comment 1 Justin Bronder (RETIRED) gentoo-dev 2008-10-19 18:35:32 UTC
Thanks for the report Diego, but I'm pretty sure this is a false positive.  After running through the process you posted on your blog, the only files that are being marked are either being compiled from non C, C++ code, or they are basically empty files after being processed by cpp.

Feel free to reopen this if I'm wrong.

For the heck of it, I'll include the list of files that were marked as not respecting c{,xx}flags by your process.

scanelf /var/tmp/portage/sys-cluster/openmpi-1.2.7-r1/work/  \
    -E ET_REL -R -s \
   cflags_test_cflags_respected,cflags_test_cflags_in_cxxflags,cflags_test_cxxflags_respected,cflags_test_cxxflags_in_cflags \
    | grep -v _respected \
    | sed 's:/.*work::'
 TYPE   SYM FILE 
ET_REL  -  /openmpi-1.2.7/ompi/mca/bml/r2/.libs/bml_r2_btl.o 
ET_REL  -  /openmpi-1.2.7/ompi/mca/bml/r2/blah.o 
ET_REL  -  /openmpi-1.2.7/ompi/mca/io/romio/romio/adio/common/.libs/io_romio_status_setb.o 
ET_REL  -  /openmpi-1.2.7/ompi/mca/io/romio/romio/mpi-io/.libs/io_romio_mpich2_fileutil.o 
ET_REL  -  /openmpi-1.2.7/ompi/mpi/f90/.libs/mpi.o 
ET_REL  -  /openmpi-1.2.7/ompi/mpi/f90/.libs/mpi_comm_spawn_multiple_f90.o 
ET_REL  -  /openmpi-1.2.7/ompi/mpi/f90/.libs/mpi_sizeof.o 
ET_REL  -  /openmpi-1.2.7/ompi/mpi/f90/.libs/mpi_testall_f90.o 
ET_REL  -  /openmpi-1.2.7/ompi/mpi/f90/.libs/mpi_testsome_f90.o 
ET_REL  -  /openmpi-1.2.7/ompi/mpi/f90/.libs/mpi_waitall_f90.o 
ET_REL  -  /openmpi-1.2.7/ompi/mpi/f90/.libs/mpi_waitsome_f90.o 
ET_REL  -  /openmpi-1.2.7/ompi/mpi/f90/.libs/mpi_wtick_f90.o 
ET_REL  -  /openmpi-1.2.7/ompi/mpi/f90/.libs/mpi_wtime_f90.o 
ET_REL  -  /openmpi-1.2.7/opal/asm/.libs/asm.o 
ET_REL  -  /openmpi-1.2.7/opal/asm/.libs/atomic-asm.o 
ET_REL  -  /openmpi-1.2.7/opal/util/.libs/qsort.o