reproduce-devel
[Top][All Lists]
Advanced

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

[bug #58263] Openssl/libgit2 compile bug


From: Mohammad Akhlaghi
Subject: [bug #58263] Openssl/libgit2 compile bug
Date: Tue, 28 Apr 2020 23:46:58 -0400 (EDT)
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:75.0) Gecko/20100101 Firefox/75.0

Follow-up Comment #4, bug #58263 (project reproduce):

Thanks Boud, I am just restored --host-cc
<http://git.maneage.org/project.git/commit/?id=b953465d8d34>. Infact while
doing this, as you see in the commit message I also added a note if GCC fails
on the system so the users use `--host-cc' and continue their build, while
posting a bug report here :-).

If you want to manually re-build a software, it is easy: delete the
corresponding file under `.local/version-info/proglib' (for standard programs
and libraries) or `.local/version-info/python' (for Python packages). Note
that both must be called from the top project directory.

I agree with your point on modularity. As you say the problem is the system's
complexity! Sometimes we do something (usually as a test) before and forget to
re-fix it, then it suddenly pops up somewhere else! Given how many times we
have come up with such cases during development of Maneage, we just re-do a
clean build to confirm if it is real. For example see bug #58265 that was just
reported yesterday and fixed with a clean build.

About the error messages: I noticed that even though we see "error"s while
installing OpenSSL, it doesn't actually stop the build process! OpenSSL
successfully builds and is used by some of the software that depend on it (for
example Coreutils depends on it). Some software do this, and have internal
checks so if there is an error they do something else. This is a very bad
practice, they should do tests in the `./configure' step! If OpenSSL's build
had crashed, Maneage would never reach libgit2.

However! Looking into the errors of libgit2, I see that they are due to
OpenSSL libraries (in particular `include/openssl/ec.h', complaining about
`DEPRECATEDIN_1_2_0'. So I searched this and found this recent mailing list
archive
<https://www.mail-archive.com/search?l=address@hidden&q=subject:%22errors...%22&o=newest&f=1>.


They had added the `no-deprecated' configuration option, but we haven't!
However, when I searched your full log, I noticed that in a few cases you have
`no-deprecated-declarations' in the compilation commands, like this:


cc -c   -D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe
-fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -Wno-deprecated-declarations -Wall
-Werror=declaration-after-statement -Werror=pointer-arith -Wextra -Wc++-compat
-Wwrite-strings -O2   -DVERSION=\"1.00\" -DXS_VERSION=\"1.00\" -fPIC "-I../.."
  core.c


So I re-built my OpenSSL and searched, but didn't have it anywhere in the
printed compilation commands. Its strange, on my system, it didn't even built
the `core.c' file (and all other files that have this option).

I thought of sharing these results while thinking on the solution.

But what bugs me a lot is that you had already built Maneage before in the
last few days and didn't have this problem, right? 

    _______________________________________________________

Reply to this item at:

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

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




reply via email to

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