On 2020-05-13 23:46 -0500, Bruce Dubbs via lfs-dev wrote:
> On 5/13/20 11:33 PM, Ken Moffat via lfs-dev wrote:
> > I notice that in some places people have overridden any existing
> > CFLAGS when adding -fcommon. In most places, for those of us who
> > care the fix is obvious (CFLAGS="$CFLAGS -fcommon"). One or two
> > packages will turn out to be more painful.
> >
> > The first I've found is freeglut, where the book uses
> > -DCMAKE_C_FLAGS=-fcommon
> >
> > For people without any existing CFLAGS, that does the right thing
> > and respects the -O3 etc from specifying a Release build (seen by
> > using 'make VERBOSE=1') but for people who have extra flags such as
> > "-march=native -D_FORTIFY_SOURCE=2" those just get thrown away.
> >
> > I'd assumed I could add
> > -DCMAKE_CFLAGS="$CFLAGS -fcommon"
> >
> > but if I do that, cmake tells me that CFLAGS was not referenced.
> >
> > In this case, I am getting the right results (testing on a gcc-9
> > system) with:
> >
> > CFLAGS="${CFLAGS} -fcommon" \
> > cmake -DCMAKE_INSTALL_PREFIX=/usr \
> > -DCMAKE_BUILD_TYPE=Release \
> > -DFREEGLUT_BUILD_DEMOS=OFF \
> > -DFREEGLUT_BUILD_STATIC_LIBS=OFF \
> > -Wno-dev ..
> >
> > Can I ask people to at least *consider* not trashing a user's
> > specified CFLAGS ?
>
> Yes, we can do that, but right now we are trying to just get everything
> to build with gcc10. When that is done, we can probably review and do
> 'grep -r CFLAGS; in the book's xml top and do the right thing where we
> have had to make changes.
>
> Also as new package releases address gcc10, we can probably remove a lot
> of the CFLAGS entries that we've been making.
I don't like -fcommon. It's actually changing C semantics. The correct thing
to do is to fix the code (like what we do for gdbm in LFS).
Though we can simply add this workaround for now...
--
Xi Ruoyao <[email protected]>
School of Aerospace Science and Technology, Xidian University
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page