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 <xry...@mengyan1223.wang> 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