reproduce-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug #58351] Host system CFLAGS and LDFLAGS should normally be avoided


From: Boud Roukema
Subject: [bug #58351] Host system CFLAGS and LDFLAGS should normally be avoided
Date: Mon, 11 May 2020 11:17:28 -0400 (EDT)
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0

URL:
  <https://savannah.nongnu.org/bugs/?58351>

                 Summary: Host system CFLAGS and LDFLAGS should normally be
avoided
                 Project: Reproducible paper template
            Submitted by: boud
            Submitted on: Mon 11 May 2020 03:17:27 PM UTC
                Category: None
                Severity: 3 - Normal
              Item Group: None
                  Status: None
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any

    _______________________________________________________

Details:

Commit b1e1522 introduced the line `export CFLAGS="$$CFLAGS` in
`reproduce/software/make/basic.mk`. This line picks up the host system
value of CFLAGS, if it is non-empty. CFLAGS typically has -I includes
of the user's choice of header files that are an alternative to the
system-level files, together with LDFLAGS having -L library links.
This is risky for reproducibility within a self-contained system.  In
my case I got some lines in my configure log that suggested that
maneage was using my non-maneage CFLAGS directory.
    
With commit:
https://codeberg.org/boud/maneage_dev/src/branch/avoid_user_CFLAGS_LDFLAGS

CFLAGS is removed from the `bash` section of
`reproduce/software/make/basic.mk`. I correctly see logs with compile
lines without my non-maneage directories.
    
There are still several places in `reproduce/software/make/basic.mk`
where LDFLAGS is extended from the environment value rather than
replaces the environment value.  Some of these may be needed in the
pre-autonomous stage of maneage configuration. I would suggest that
the autonomous stage phases avoid using the environment value of
LDFLAGS.

I think this qualifies as a bug rather than a task, because it could
quite likely cause the initial build to fail by a new user who 
has his/her own version of a library set up with CFLAGS and LDFLAGS
values pointing to it.





    _______________________________________________________

Reply to this item at:

  <https://savannah.nongnu.org/bugs/?58351>

_______________________________________________
  Message sent via Savannah
  https://savannah.nongnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]