Comments (9)
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.
from mb-system.
To help with cross referencing: 5364dd4
from mb-system.
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.
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.
https://bugzilla.redhat.com/show_bug.cgi?id=1741567 - Request to package gdal for EPEL 8
from mb-system.
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.
@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.
@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)
- Unit test failures for Ubuntu Xenial build on Travis-CI HOT 5
- OSRExportToProj4 should not allocate a GMT variable and let GMT free it. That's a Boom on Windows. HOT 3
- mblevitus is broken HOT 3
- mblist command doesn't like filenames with spaces
- Problem compiling Pre-release 5.7.6beta38 HOT 3
- Data corruption while reading Kmall data with version 0 #MWC datagrams HOT 4
- Format of gridded data
- MB System installation on Mac OS Big Sur HOT 3
- configure and build mb-stystem on headless server with no X dependencies HOT 3
- mb_rt raytrace trajectory HOT 3
- Time conversion issue
- Raytracing integrated range
- s7k datafile with 1024 beams HOT 2
- Problem compiling MB-System: fatal error: gmt_common_byteswap.h: No such file or directory HOT 8
- Add mbgrd2gltf standalone program HOT 5
- configuere error on linux (ubuntu) can't find tirpc/rpc/types.h HOT 22
- Unable to apply time latency to kmall/mb261 survey data with mbpreprocess HOT 6
- 5.7.9 (beta) and Debian 11 HOT 1
- MB-System PDAL - mbio (ro) driver update
- Cannot install MB-System using home-brew HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mb-system.