Closed Mikolaj closed 1 year ago
Your compiler version is fine. We still have GCC 4.8 in our build matrix. We also haven't gotten those errors before, so I'm not sure why you are. Did you customize your GCC installation at all (assuming /usr/bin/c++
is in fact GCC)?
Did you customize your GCC installation at all
No, I don't think so. It's a standard Ubuntu 16.04/backports/security updates install.
However, the compilation parameters may be somehow customized, because it's compiled via lnp-forge. Let me try to compile directly from a checkout of your repo, the same tag that lnp-forge uses.
assuming /usr/bin/c++ is in fact GCC
It is. It's a link to
~/r/lnp-forge$ dpkg -s g++
Package: g++
Status: install ok installed
Priority: optional
Section: devel
Installed-Size: 16
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: amd64
Source: gcc-defaults (1.150ubuntu1)
Version: 4:5.3.1-1ubuntu1
Provides: c++-compiler
Depends: cpp (>= 4:5.3.1-1ubuntu1), gcc (>= 4:5.3.1-1ubuntu1), g++-5 (>= 5.3.1-3~), gcc-5 (>= 5.3.1-3~)
Suggests: g++-multilib
Description: GNU C++ compiler
This is the GNU C++ compiler, a fairly portable optimizing compiler for C++.
.
This is a dependency package providing the default GNU C++ compiler.
Original-Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org>
~/r/horde-ad$ less /usr/share/doc/g++/changelog.Debian.gz
gcc-defaults (1.150ubuntu1) xenial; urgency=medium
* Merge with Debian; remaining changes:
- Build -multilib packages on armel and armhf (except for gccgo).
- Adjust off-by-one offset for 4.6.x and 4.7.x release numbers.
- Include the fsf-funding.7, gfdl.7 and gpl.7 man pages.
- Provide i686-linux-gnu prefixed symlinks on i386.
* Default gccgo to GCC 6.
-- Matthias Klose <doko@ubuntu.com> Thu, 11 Feb 2016 10:21:11 +0100
gcc-defaults (1.150) unstable; urgency=medium
* Bump GCC 5 version to 5.3.1.
* Fix package descriptions (Daniele Forsi). Closes: #807276.
* Update gcc-multilib's conflict list.
-- Matthias Klose <doko@debian.org> Sun, 13 Dec 2015 16:14:05 +0100
[...]
Thanks. I was looking for unexpected warning flags, but I only see -Wall -Werror
, which we set here: https://github.com/DFHack/dfhack/blob/888288212bd998c281532cac5141ed35244f9c39/CMakeLists.txt#L245
If you had added -Wextra
or something, I wouldn't be surprised to see new warnings, but you don't appear to have added any flags. That led me to wonder if your compiler had some unusual defaults built in somehow, but that seems unlikely if you're using something from an Ubuntu repo.
We currently build in CI with GCC 4.8, 7, and 12, for reference. It might be worth trying one of those versions - at least 4.8 should be available on 16.04.
I've switched to GCC 4.8 and restarted the lnp-forge compilation (it's much easier to do, no need to download DF manually, etc.) and it seems it passed through (despite the ERROR below)
[INFO ] Building dfhack-0.47.05-r6
[ERROR] ../plugins/twbt/png++/error.hpp: In static member function 'static std::string png::std_error::thread_safe_strerror(int)':
[INFO ] Building dfhack-0.47.05-r6: done in 153.37s (at 02:38)
So I guess something is wrong with 5.4.0 or my installation of it was corrupted. Shall we close or can I give back by running any more experiments?
Edit: the full log for dfhack is
[ERROR] ../plugins/twbt/png++/error.hpp: In static member function 'static std::string png::std_error::thread_safe_strerror(int)':
FWIW, I do not believe this is an error. It's the parser seeing the word "error" in the line and incorrectly giving it an [ERROR]
prefix.
For good measure, I tried a GCC 5 build in CI, and it built successfully with all plugins enabled: https://github.com/lethosor/dfhack/actions/runs/3091102801/jobs/5000763757
(there was a test failure, but that is at a later stage)
In that case, probably my installation is/was corrupted somehow. Thank you for letting me know. GCC 4.8 works like a charm, though. :)
Feel free to let us know if it comes up again and/or you find a way to prevent it
Thank you again. Take care!
I've reported this at https://github.com/McArcady/lnp-forge/issues/82, but probably wrong address.
Is the error below caused by my ancient gcc or is it something fixable?