Open VDS issueshttps://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues2021-06-16T22:19:44Zhttps://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/38API to constrain the library by provided CPU and Memory resources2021-06-16T22:19:44ZCamille PerinAPI to constrain the library by provided CPU and Memory resourcesCommercial VDS solution provides global memory and thread management methods :
```
ConfigMemoryManagement.getInstance().setProcessingCPUCacheMax(cacheSize);
ConfigMemoryManagement.getInstance().setEnableProcessingThreadX(true);
```
Cou...Commercial VDS solution provides global memory and thread management methods :
```
ConfigMemoryManagement.getInstance().setProcessingCPUCacheMax(cacheSize);
ConfigMemoryManagement.getInstance().setEnableProcessingThreadX(true);
```
Could similar helper methods be implemented in OpenVDS?https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/86API to get container size2023-08-14T15:54:50ZAnatoly YanchevskyAPI to get container sizeIt will be really useful to get API for size of OpenVDS container.
Right now we can store only size for input file from with container was created.It will be really useful to get API for size of OpenVDS container.
Right now we can store only size for input file from with container was created.https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/31AWS authentication fails with assumed roles2020-03-10T14:40:43ZMorten OfstadAWS authentication fails with assumed rolesThis is actually caused by an issue in the AWS C++ SDK where configurations with assumed roles are ignored by the DefaultCredentialsProviderChain: https://github.com/aws/aws-sdk-cpp/issues/150
However, we need to find a workaround as th...This is actually caused by an issue in the AWS C++ SDK where configurations with assumed roles are ignored by the DefaultCredentialsProviderChain: https://github.com/aws/aws-sdk-cpp/issues/150
However, we need to find a workaround as this was promised to be fixed "incredibly soon" back in 2016 and still isn't fixed.https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/56AWS Connection without sessionToken2020-08-20T11:35:07ZAaronAWS Connection without sessionTokenError received opening vds in python in the following manner.
there is not valid SessionToken because these are the bucket owners credentials
```python
connectionString = "AccessKeyId="+store['credentials']['key']
connec...Error received opening vds in python in the following manner.
there is not valid SessionToken because these are the bucket owners credentials
```python
connectionString = "AccessKeyId="+store['credentials']['key']
connectionString += ";SecretAccessKey=" + store['credentials']['secret']
connectionString += ";SessionToken=" + ""
connectionString += ";Region=" + "us-east-1"
uri = "s3://" + os.path.join(store['bucket'],key)
vds = openvds.open(uri,connectionString)
```
gives the following error.
```
vds = openvds.open(uri,connectionString)
RuntimeError: Invalid connection string. Name SessionToken has no value.
``Jørgen Lindjorgen.lind@3lc.aiJørgen Lindjorgen.lind@3lc.aihttps://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/240AWS Directory Bucket access2024-03-24T22:23:58ZKlaas KosterAWS Directory Bucket accessOpenVDS 3.4.0 does not connect to the new AWS Directory Bucket.
url = 's3://vds--use1-az4--x-s3/rline1601'
connection = "Region = us-east-1"
vds = openvds.open(url, connection)
Generates the error:
RuntimeError: Error on downloading...OpenVDS 3.4.0 does not connect to the new AWS Directory Bucket.
url = 's3://vds--use1-az4--x-s3/rline1601'
connection = "Region = us-east-1"
vds = openvds.open(url, connection)
Generates the error:
RuntimeError: Error on downloading VolumeDataLayout object: Http error response: 404 -\> vds--use1-az4--x-s3.s3.us-east-1.amazonaws.com/rline1601/VolumeDataLayout: The specified bucket does not exist.
The error makes sense, because the correct address for the file is:
vds--use1-az4--x-s3.s3express-use1-az4.us-east-1.amazonaws.com/rline1601/VolumeDataLayout
So, currently OpenVDS forms the address by inserting 's3' between the bucket and the region, but for a Directory Bucket this is incorrect and should be 's3express-use1-az4'.
I would assume that the 's3express' part is universal, but that '-use1-az4' needs to be coming from the specified url.
I don't mind tinkering with the code and seeing how this can be fixed. But, it would be great is someone (Morten?) can point me to the part of the code where these addresses are formed. I have an example Python script that correctly reads a file from a Directory bucket, see below.https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/229AWS Directory Buckets2024-02-17T18:40:52ZKlaas KosterAWS Directory BucketsAWS has recently introduced something called Directory Buckets in addition to their General Purpose Buckets:
https://opsinsights.dev/exploring-the-newest-s3-bucket
Supposedly these come with lower cost and lower latency. Is there a rec...AWS has recently introduced something called Directory Buckets in addition to their General Purpose Buckets:
https://opsinsights.dev/exploring-the-newest-s3-bucket
Supposedly these come with lower cost and lower latency. Is there a recommendation to use these new Directory Buckets for VDS?Morten OfstadMorten Ofstadhttps://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/130AWS: segy to oVDS Job is not executing in Platform Validation, showing only S...2023-04-03T08:37:17ZAnkit GoyalAWS: segy to oVDS Job is not executing in Platform Validation, showing only Submitted status, not updating in Airflow DAG.@fhoueto.amz , please find the job details below.
{
"workflowId": "osdu:Segy_vds_conversion_test_999515179012",
"runId": "59c4d924-8f1d-427f-9108-0bdb7aa63c36",
"startTimeStamp": 1657302545031,
"status": "submitted",
...@fhoueto.amz , please find the job details below.
{
"workflowId": "osdu:Segy_vds_conversion_test_999515179012",
"runId": "59c4d924-8f1d-427f-9108-0bdb7aa63c36",
"startTimeStamp": 1657302545031,
"status": "submitted",
"submittedBy": "admin@testing.com"
}https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/39Azure make sure id uses the blob key2020-05-28T07:30:40ZJørgen Lindjorgen.lind@3lc.aiAzure make sure id uses the blob keyVersion 1.0https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/152Broken Win ErrorToString implementation for non-english system lang2023-04-04T19:09:53ZArtem ВBroken Win ErrorToString implementation for non-english system langLet's explain minimum code sample:
```
OpenVDS::Error error;
OpenVDS::SetIoError(8,error );
```
We want to get description with system lang on Windows.
```
error {code=8 string="???????????? ???????? ?????? ??? ????????? ???? ??...Let's explain minimum code sample:
```
OpenVDS::Error error;
OpenVDS::SetIoError(8,error );
```
We want to get description with system lang on Windows.
```
error {code=8 string="???????????? ???????? ?????? ??? ????????? ???? ???????.\r\n" } OpenVDS::VDSError
```
*Non-english system lang* will return unreadable description. For example - I use Kazakh lang.
Solution:
```
std::string ws2s(const std::wstring& s)
{
int len;
int slength = (int)s.length() + 1;
len = WideCharToMultiByte(CP_UTF8, 0, s.c_str(), slength, 0, 0, 0, 0);
std::string r(len, '\0');
WideCharToMultiByte(CP_UTF8, 0, s.c_str(), slength, &r[0], len, 0, 0);
return r;
}
std::string ErrorToString(DWORD error)
{
wchar_t buf[256];
FormatMessageW(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
NULL, error, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
buf, (sizeof(buf) / sizeof(wchar_t)), NULL);
std::wstring ws(&buf[0]);
return ws2s(ws);
}
```
Or any equivalent of wchar usage in FormatMessage WinAPI call.https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/237Buffer over-read2024-03-07T10:00:39ZSveinung RundhovdeBuffer over-readThere is a buffer over-read in src/OpenVDS/VDS/ConvertValues.h:
template <typename T>
static void CopyFrom1Bit(void * __restrict voiddst, const void* __restrict voidsrc, int32_t count)
{
T* target = (T*)voiddst;
uint8_t* source = (u...There is a buffer over-read in src/OpenVDS/VDS/ConvertValues.h:
template <typename T>
static void CopyFrom1Bit(void * __restrict voiddst, const void* __restrict voidsrc, int32_t count)
{
T* target = (T*)voiddst;
uint8_t* source = (uint8_t*)voidsrc;
uint8_t bits = *source;
int32_t mask = 1;
for (int i = 0; i < count; i++)
{
*target = (bits & mask)? T(1) : T(0);
target++;
mask <<= 1;
if (mask == 0x100)
{
source++;
bits = *source; <-- Read one past end of buffer on this line.
mask = 1;
}
}
}
I assume this happens on last iteration of the loop so the value is never used. It is highly unlikely that this will cause any issues, but I guess there is a theoretical possibility that this can cause a segmentation fault.https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/88[Bug]I have found a bug about minmax of channel,how can i contribute to commu...2021-07-26T07:30:41ZChenjian Qiu[Bug]I have found a bug about minmax of channel,how can i contribute to communityI have found a bug about minmax of channel,how can i contribute to community.
I want fix this bug myselfI have found a bug about minmax of channel,how can i contribute to community.
I want fix this bug myselfhttps://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/37Bug when using WaitForCompletion(request, 1000)2020-04-23T11:43:08ZCamille PerinBug when using WaitForCompletion(request, 1000)The bug occurs when I try to display some progress information while requesting data.
I use :
```
while (!accessManager->WaitForCompletion(request, 1000)) {
if (accessManager->IsCanceled(request)) {
fmt::pri...The bug occurs when I try to display some progress information while requesting data.
I use :
```
while (!accessManager->WaitForCompletion(request, 1000)) {
if (accessManager->IsCanceled(request)) {
fmt::print(stdout, "Request canceled\n");
break;
}
fmt::print(stdout, "Progress : {} %\n", accessManager->GetCompletionFactor(request) * 100.);
}
```
instead of
```
bool finished = accessManager->WaitForCompletion(request);
```
I get this error :
```
/data/openSDU/openVDS/open-vds/cmake-build-debug/examples/SliceDump/slicedump --bucket openvds-test-int --region eu-west-3 --object vds/alwynDepth_w_IL_XL_IEEEFloat /tmp/slice.bmp --axis 2,1,0 --position 500 --progress
Using axis mapping [2, 1, 0]
Found data set with sample count [1163, 849, 1101]
Launch request ... OK
slicedump: /data/openSDU/openVDS/open-vds/src/OpenVDS/VDS/VolumeDataRequestProcessor.cpp:161: void OpenVDS::SetErrorForJob(OpenVDS::Job*): Assertion `job->cancelled' failed.
Process finished with exit code 6
```Jørgen Lindjorgen.lind@3lc.aiJørgen Lindjorgen.lind@3lc.aihttps://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/82Build error for Ubuntu 20.04 Docker container2021-12-06T14:20:20ZPhilipp WitteBuild error for Ubuntu 20.04 Docker containerBuilding a Docker image for the latest OpenVDS version using the [Ubuntu Dockerfile](https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/blob/master/docker/ubuntu-20.04.Dockerfile) results in the fo...Building a Docker image for the latest OpenVDS version using the [Ubuntu Dockerfile](https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/blob/master/docker/ubuntu-20.04.Dockerfile) results in the following compilation errors:
/usr/bin/ld: tools/VDSCopy/CMakeFiles/VDSCopy.dir/VDSCopy.cpp.o: undefined reference to symbol 'pthread_create@@GLIBC_2.2.5'
/usr/bin/ld: /lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line
I also tried a manual build resulting in the same error (during make -j8).https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/164Build fails for OpenSSL v3 due to strict warnings in Azure dependency2022-12-22T08:54:27ZAlexander JaustBuild fails for OpenSSL v3 due to strict warnings in Azure dependencyWhen I want to install OpenVDS in a Docker container using Alpine 3.17 the build fails. This seems to be due to the fact that Alpine has updated their default OpenSSL installation to OpenSSL v3. This triggers warnings in the Azure depend...When I want to install OpenVDS in a Docker container using Alpine 3.17 the build fails. This seems to be due to the fact that Alpine has updated their default OpenSSL installation to OpenSSL v3. This triggers warnings in the Azure dependencies. The dependencies are, by default, compiled with "Warnings as errors".
I am not sure what the best way would be to fix the problem. In general, it would be nice to be able to preinstall the dependency myself and avoid building it during the OpenVDS build process (this applies to all 3rd party dependencies). In that case one could install dependencies beforehand with suitable options and or from the system's package manager. Moreover, one also could reuse the dependencies when upgrading to new OpenVDS versions making the upgrade process faster more and much lighter.
## Further Observations
- On Alpine 3.16 installed OpenSSL v1 so it was no issue back then.
- Setting `DISABLE_STRICT_WARNINGS=OFF` in OpenVDS is not forwarded to the dependency.
## Steps to reproduce
Create a Docker container based on alpine 3.17 and install OpenVDS dependencies
```bash
apk --no-cache add \
curl \
git \
g++ \
gcc \
make \
cmake \
curl-dev \
boost-dev \
libxml2-dev \
libuv-dev \
util-linux-dev
```
Afterwards, download, configure, and build OpenVDS with the following options
```bash
cmake -S . \
-B build \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_JAVA=OFF \
-DBUILD_PYTHON=OFF \
-DBUILD_EXAMPLES=OFF \
-DBUILD_TESTS=OFF \
-DBUILD_DOCS=OFF \
-DDISABLE_AWS_IOMANAGER=ON \
-DDISABLE_AZURESDKFORCPP_IOMANAGER=OFF \
-DDISABLE_GCP_IOMANAGER=ON \
-DDISABLE_DMS_IOMANAGER=OFF \
-DDISABLE_STRICT_WARNINGS=OFF
cmake --build build --config Release --target install --verbose
```
## Error
```text
#11 21.29 -- stderr output is:
[1433](https://github.com/equinor/vds-slice/actions/runs/3675967242/jobs/6216036291#step:3:1434)
#11 21.29 /open-vds/3rdparty/azure-sdk-for-cpp-12.3.0/sdk/core/azure-core/src/cryptography/md5.cpp: In member function 'virtual void {anonymous}::Md5OpenSSL::OnAppend(const uint8_t*, size_t)':
[1434](https://github.com/equinor/vds-slice/actions/runs/3675967242/jobs/6216036291#step:3:1435)
#11 21.29 /open-vds/3rdparty/azure-sdk-for-cpp-12.3.0/sdk/core/azure-core/src/cryptography/md5.cpp:166:65: error: 'int MD5_Update(MD5_CTX*, const void*, size_t)' is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
[1435](https://github.com/equinor/vds-slice/actions/runs/3675967242/jobs/6216036291#step:3:1436)
#11 21.29 166 | void OnAppend(const uint8_t* data, size_t length) { MD5_Update(m_context.get(), data, length); }
[1436](https://github.com/equinor/vds-slice/actions/runs/3675967242/jobs/6216036291#step:3:1437)
#11 21.29 | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[1437](https://github.com/equinor/vds-slice/actions/runs/3675967242/jobs/6216036291#step:3:1438)
#11 21.29 In file included from /open-vds/3rdparty/azure-sdk-for-cpp-12.3.0/sdk/core/azure-core/src/cryptography/md5.cpp:13:
[1438](https://github.com/equinor/vds-slice/actions/runs/3675967242/jobs/6216036291#step:3:1439)
#11 21.29 /usr/include/openssl/md5.h:50:27: note: declared here
[1439](https://github.com/equinor/vds-slice/actions/runs/3675967242/jobs/6216036291#step:3:1440)
#11 21.29 50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len);
[1440](https://github.com/equinor/vds-slice/actions/runs/3675967242/jobs/6216036291#step:3:1441)
#11 21.29 | ^~~~~~~~~~
[1441](https://github.com/equinor/vds-slice/actions/runs/3675967242/jobs/6216036291#step:3:1442)
#11 21.29 /open-vds/3rdparty/azure-sdk-for-cpp-12.3.0/sdk/core/azure-core/src/cryptography/md5.cpp: In member function 'virtual std::vector<unsigned char> {anonymous}::Md5OpenSSL::OnFinal(const uint8_t*, size_t)':
[1442](https://github.com/equinor/vds-slice/actions/runs/3675967242/jobs/6216036291#step:3:1443)
#11 21.29 /open-vds/3rdparty/azure-sdk-for-cpp-12.3.0/sdk/core/azure-core/src/cryptography/md5.cpp:172:14: error: 'int MD5_Final(unsigned char*, MD5_CTX*)' is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
[1443](https://github.com/equinor/vds-slice/actions/runs/3675967242/jobs/6216036291#step:3:1444)
#11 21.29 172 | MD5_Final(hash, m_context.get());
[1444](https://github.com/equinor/vds-slice/actions/runs/3675967242/jobs/6216036291#step:3:1445)
#11 21.29 | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
[1445](https://github.com/equinor/vds-slice/actions/runs/3675967242/jobs/6216036291#step:3:1446)
#11 21.29 /usr/include/openssl/md5.h:51:27: note: declared here
[1446](https://github.com/equinor/vds-slice/actions/runs/3675967242/jobs/6216036291#step:3:1447)
#11 21.29 51 | OSSL_DEPRECATEDIN_3_0 int MD5_Final(unsigned char *md, MD5_CTX *c);
[1447](https://github.com/equinor/vds-slice/actions/runs/3675967242/jobs/6216036291#step:3:1448)
#11 21.29 | ^~~~~~~~~
[1448](https://github.com/equinor/vds-slice/actions/runs/3675967242/jobs/6216036291#step:3:1449)
#11 21.29 /open-vds/3rdparty/azure-sdk-for-cpp-12.3.0/sdk/core/azure-core/src/cryptography/md5.cpp: In constructor '{anonymous}::Md5OpenSSL::Md5OpenSSL()':
[1449](https://github.com/equinor/vds-slice/actions/runs/3675967242/jobs/6216036291#step:3:1450)
#11 21.29 /open-vds/3rdparty/azure-sdk-for-cpp-12.3.0/sdk/core/azure-core/src/cryptography/md5.cpp:180:13: error: 'int MD5_Init(MD5_CTX*)' is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
[1450](https://github.com/equinor/vds-slice/actions/runs/3675967242/jobs/6216036291#step:3:1451)
#11 21.29 180 | MD5_Init(m_context.get());
[1451](https://github.com/equinor/vds-slice/actions/runs/3675967242/jobs/6216036291#step:3:1452)
#11 21.29 | ~~~~~~~~^~~~~~~~~~~~~~~~~
[1452](https://github.com/equinor/vds-slice/actions/runs/3675967242/jobs/6216036291#step:3:1453)
#11 21.29 /usr/include/openssl/md5.h:49:27: note: declared here
[1453](https://github.com/equinor/vds-slice/actions/runs/3675967242/jobs/6216036291#step:3:1454)
#11 21.29 49 | OSSL_DEPRECATEDIN_3_0 int MD5_Init(MD5_CTX *c);
[1454](https://github.com/equinor/vds-slice/actions/runs/3675967242/jobs/6216036291#step:3:1455)
#11 21.29 |
```https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/232Build fails if curl is preinstalled (Alpine Linux)2024-02-29T07:29:59ZAlexander JaustBuild fails if curl is preinstalled (Alpine Linux)The linking step of OpenVDS and its executables fails if cURL is preinstalled on the system and OpenVDS builds its own cURL as well. I have attached a [Dockerfile](/uploads/3caea214874b12856dc12bfc7755bb7e/broken-openvds-build.dockerfile...The linking step of OpenVDS and its executables fails if cURL is preinstalled on the system and OpenVDS builds its own cURL as well. I have attached a [Dockerfile](/uploads/3caea214874b12856dc12bfc7755bb7e/broken-openvds-build.dockerfile) to reproduce the error. It seems that CMake picks up a different cURL or some other dependency which pulls in `libidn2`.
Do you have any idea what causes this?
```text
[...]
[ 96%] Linking CXX executable VDSCopy
cd /open-vds/build/tools/VDSCopy && /usr/bin/cmake -E cmake_link_script CMakeFiles/VDSCopy.dir/link.txt --verbose=1
/usr/bin/c++ -O3 -DNDEBUG -s -Wl,--exclude-libs=ALL -Wl,--no-export-dynamic CMakeFiles/VDSCopy.dir/VDSCopy.cpp.o ../Shared/CMakeFiles/tools_shared.dir/HelpConnection.cpp.o -o VDSCopy -Wl,-rpath,/open-vds/build/src/OpenVDS: ../../src/OpenVDS/libopenvds.so.3.4.255 ../../fmt_9.1.0/lib
fmt.a ../../jsoncpp_1.8.4/src/lib_json/libjsoncpp_static.a ../../docs/libhelp_connection.a
/usr/lib/gcc/x86_64-alpine-linux-musl/12.2.1/../../../../x86_64-alpine-linux-musl/bin/ld: ../../src/OpenVDS/libopenvds.so.3.4.255: undefined reference to `idn2_lookup_ul'
/usr/lib/gcc/x86_64-alpine-linux-musl/12.2.1/../../../../x86_64-alpine-linux-musl/bin/ld: ../../src/OpenVDS/libopenvds.so.3.4.255: undefined reference to `idn2_check_version'
/usr/lib/gcc/x86_64-alpine-linux-musl/12.2.1/../../../../x86_64-alpine-linux-musl/bin/ld: ../../src/OpenVDS/libopenvds.so.3.4.255: undefined reference to `idn2_strerror'
/usr/lib/gcc/x86_64-alpine-linux-musl/12.2.1/../../../../x86_64-alpine-linux-musl/bin/ld: ../../src/OpenVDS/libopenvds.so.3.4.255: undefined reference to `idn2_free'
collect2: error: ld returned 1 exit status
```
## Operating system
Alpine Linux (latest), but problem seems to appear starting from Alpine Linux 3.18. It builds fine in Alpine Linux 3.17.
I tested in Docker on an M1 Mac with and without x86_64 emulation. The error shows up in both cases.
## What did I try
### Without success
- Enabled/disabled different I/O managers.
- Had a look into the CMake files, but I must admit that I do not know how to properly debug this.
- Installing `libidn2-dev` , but it seems to be present already if one installs `curl-dev`.
- Switching between Make and Ninja as build system
### Successfully
- Setting `-DBUILD_CURL=OFF` seems to fix the problem. However, I am not sure if this has implications for features or performance.https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/2Build Fixes for Fedora 312019-12-20T08:46:37ZAndrew KBuild Fixes for Fedora 31Add this as an issue since I don't appear to have access to submit a merge request.
I ran into a few problem when trying to build OpenVDS in Fedora 31. I've fixed the issues locally and have submitted my patch file for the master branch...Add this as an issue since I don't appear to have access to submit a merge request.
I ran into a few problem when trying to build OpenVDS in Fedora 31. I've fixed the issues locally and have submitted my patch file for the master branch get rid of the problems. These should still be ok for other distributions as well
[openvds_build.diff](/uploads/46da01da49937d8912060330583602de/openvds_build.diff)
- Set CMAKE_INSTALL_LIBDIR to lib${LIBSUFFIX} for Azure Storage SDK
* Azure Storage SDK does not use GNUInstallDir cmake include to
set the CMAKE_INSTALL_<dir> variables resulting in invalid LIBDIR
paths for distributions that use lib64. However, they provide a way
to override it which is what this change uses to set the correct path
- Add WERROR=OFF for cpprestsdk
* Warning about deprecated-copy when building with gcc 9. Causes
the build to fail if werror is enabled
- Remove const from dimensionDistribution
* uniform_real_distribution<float> call operator is not const which
causes an error when building with gcc 9https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/226Building from source2024-01-29T08:38:09ZVasilii SinkevichBuilding from sourceHi,
I am trying to build the static library from the source code and as a first step I did compile dynamically as instructed and noticed that Wavelet compression is not supported in the resulting library - just checked with OpenVDS::Is...Hi,
I am trying to build the static library from the source code and as a first step I did compile dynamically as instructed and noticed that Wavelet compression is not supported in the resulting library - just checked with OpenVDS::IsCompressionMethodSupported(OpenVDS::CompressionMethod::Wavelet).
Is it how it is supposed to be or I did something wrong?
Does it mean that both compression/decompression is not supported or decompression will still be working?
Thanks you,
Vasiliihttps://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/96Building out of the box2021-12-09T02:37:33ZPaal KvammeBuilding out of the boxBuilding using docker/*.Dockerfile doesn't work out of the box. Not for me at least. Here is a list of some bugs and some annoyances. I am using the dockerfiles in the baseline but not the actual build scripts.
docker/centos8.Dockerfile...Building using docker/*.Dockerfile doesn't work out of the box. Not for me at least. Here is a list of some bugs and some annoyances. I am using the dockerfiles in the baseline but not the actual build scripts.
docker/centos8.Dockerfile:
- Need to rename PowerTools -> powertools (upstream change in CentOS 8)
- Building C++ "Release" causes several unit tests to crash. Need to use RelWithDebug, and copy the results to where a Release build would have put them.
- Note that boost 1.6.9 is installed in the docker image but not used, unless BOOST_INCLUDEDIR and BOOST_LIBRARYDIR is manually set.
- Note that Release libraries are installed to lib/ while Debug libraries are below lib64. Long live consistency.
- Need to edit the dockerfile to also install python3-devel to get the wheel built. I used "python3 setup.py --build-type RelWithDebug bdist_wheel" to do the actual build. Later attempts also disabled AWS, AZURE, etc.
- The Python wheel still didn't work for CentOS 8, even after fixing things so Python was found. Reason: Since I had to use "RelWithDebug" for the C++ API I assumed the same applied to Python. Not so. In fact, "RelWithDebug" silently fails in that case. The wheel, while created, is still incomplete.
docker/centos7.Dockerfile:
- The dockerfile installs devtoolset-8 while the build script tries to use devtoolset-7.
docker/ubuntu-20.04.Dockerfile:
- dlopen() and dlclose missing. Add the following to src/OpenVDS/CMakeLists.txt. Only needed for Ubuntu, but it appears to be harmless to do it for all. ```target_link_libraries(openvds_objects PRIVATE ${CMAKE_DL_LIBS})```
- Python is not found, need to edit CMakeLists.txt look for Python3 and replace Development.Module with just Development. Note, I applied this to CentOS as well but I have not verified that it was needed there.
All:
- When building sdapi (dms) on Linux, the library ends up as libsdapi.so.0.0 instead of the version (3.14 currently) found in src/src/core/SDVersion.h. Either the OpenVDS build is not using the devops/scripts/build-linux64.sh script (which does sound likely) or there is some problem with some of the other rules. The "0.0" version causes problems if an application uses both OpenVDS and some other module using sdapi.
- When something goes wrong building the Python wheel it is not obvious that there is a problem. I use "python3 setup.py bdist_wheel". Later attempts also disabled AWS, AZURE, etc. The wheel gets created but it is missing key files. Trying to install the wheel and import it gives an error about openvds core not available. Buried somewhere in the build logs I see a message about "Cannot find Python3, found version 3.6.8. Which is itself pretty confusing. It sounds like, "I found it, but I didn't find it". What to do with such errors is not obvious.https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/144Build OpenVDS+ with the latest msvc 20222022-09-26T09:44:53ZArtem ВBuild OpenVDS+ with the latest msvc 2022Can you provide information about msvc complier version of openvds+ (2.4.3) build?
`msvc_140` - it is actual msvc toolset, isn't it?
Do you have any plans to migrate to newly msvc (2022) and update dlls?Can you provide information about msvc complier version of openvds+ (2.4.3) build?
`msvc_140` - it is actual msvc toolset, isn't it?
Do you have any plans to migrate to newly msvc (2022) and update dlls?https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/139Build Open VDS with the new version of seismic-cpp-lib2022-09-08T12:14:19ZYan Sushchynski (EPAM)Build Open VDS with the new version of seismic-cpp-libCould I ask you to build Open VDS convertor with using the latest sdapi version with Anthos support?
SDAPI Anthos MR:
https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/seismic-dms-suite/seismic-store-cpp-li...Could I ask you to build Open VDS convertor with using the latest sdapi version with Anthos support?
SDAPI Anthos MR:
https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/seismic-dms-suite/seismic-store-cpp-lib/-/merge_requests/147M14 - Release 0.17Morten OfstadJørgen Lindjorgen.lind@3lc.aiMorten Ofstad