Coder Social home page Coder Social logo

Comments (9)

carueda avatar carueda commented on July 29, 2024

Just to comment that 5.7.6beta22 was failing for me in the couple of super quick attempts I recently did as part of resuming work on #807 (which is based on a centos:7 docker hub image); I didn't put much attention on the errors themselves as that was just part of basic preparations. However, the build completed fine today with 5.7.6beta23.

EDIT: in case it helps, the gcc version in the MB-System image:

$ docker run -it --rm mbari/mbsystem:5.7.6beta23 gcc --version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39)

from mb-system.

dwcaress avatar dwcaress commented on July 29, 2024

from mb-system.

schwehr avatar schwehr commented on July 29, 2024

To help with cross referencing: 5364dd4

from mb-system.

schwehr avatar schwehr commented on July 29, 2024

Oh wow. That's a broken compiler. Is a newer gcc not available as an install on CentOs 7.6? I think if it gets to at least gcc 5, life will be a ton better.

I've not used CentOS in more than a decade, but there has to be a reasonable option.

https://forums.centos.org/viewtopic.php?t=66500

I thought GCC 4.8.1 was good enough, but I guess not:

https://gdal.org/development/rfc/rfc68_cplusplus11.html

from mb-system.

dwcaress avatar dwcaress commented on July 29, 2024

I've had a CentOs 8 VM built for me, and am unable to make much progress towards installing GMT. The packages available for CentOs8 do not include GDAL:
https://bugzilla.redhat.com/show_bug.cgi?id=1741567
It seems that GDAL cannot be built even from source because one or more dependencies aren't available.

No GDAL ==> no GMT ==> no MB-System.

It seems as though it will be easier to require an updated compiler than to move on from CentOs 7.

from mb-system.

schwehr avatar schwehr commented on July 29, 2024

https://bugzilla.redhat.com/show_bug.cgi?id=1741567 - Request to package gdal for EPEL 8

from mb-system.

klheadley avatar klheadley commented on July 29, 2024

FWIW, if I'm doing it right, 5.7.6beta23 (w/o TRN) builds on CentOS7 x86_64 VM using gcc 4.8.5
However, -std=gnu++11 seems to break the TRN build.
Build output and dependency version info attached.

mbsys-5.7.6b23-centos7-build.txt

from mb-system.

schwehr avatar schwehr commented on July 29, 2024

@klheadley Why are you using the gnu specific c++11? It's generally better to stick to -std=c++11 A quick look at TerrainNav.cpp shows trouble:

#include <sys/stat.h>
#include <unistd.h>
#include <libgen.h>

#include "TerrainNav.h"
#include "TNavConfig.h"
#include "TerrainNavLog.h"

It should do #include <cmath> and use std::isnan. My feeling that following Include What You Use (IWYU) is the only way to survive C++. Counting on includes to include other things that the code needs makes maintenance really difficult.

And mbtrnav/terrain-nav/structDefs.h

#include "matrixArrayCalcs.h"
#include "myOutput.h"
#include "trn_log.h"

#include "math.h" // <-- use #include <cmath>x
#include <fstream>
#include "string.h" // Don't do this.  Use #include <cstring>

#include <newmatap.h>
#include <newmatio.h>

And don't use using namespace std; . That road leads to insanity.

grep using * | grep 'std;'
matrixArrayCalcs.h:using namespace std;
OctreeTestCode.h:using namespace std;
TerrainMap.cpp:using namespace std;
TerrainNav.h:using namespace std;

from mb-system.

klheadley avatar klheadley commented on July 29, 2024

@schwehr - I didn't intentionally choose gnu++11; It built previously, and I imagined that MB-System (configure) sets that flag by default.

Really, I'm just noting (for @dwcaress ) that the MB-System changes appear to break the TRN build and we'll need to fix it at some point, which may be trivial, or may not - I just don't know.
If we can keep using trndev branch, we can defer if the rabbit hole turns out to be deep.

And that, on the issue at hand, I can apparently build on CentOS7/gcc4.8.5 if that helps.

The TRN code (which is tangential to MB-System) does need updating; it contains many layers of student work. That's a work in progress; your recommendations are good ones, thanks for those.
Since the TRN code is being actively developed for operations, changes are subject to various schedule and resource constraints, and require testing. Given the nature of operations, we are pretty deliberate (glacial) when it comes to making changes :o)

from mb-system.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.