isce2
isce2 copied to clipboard
Problems installing ISCE on Google Colaboratory
Hello, I am having trouble installing ISCE2 on the Google Colaboratory. I tried to execute the following commands.
!apt update
!apt install -y gfortran libmotif-dev libhdf5-dev libfftw3-dev libgdal-dev scons python3 cython3 python3-scipy python3-matplotlib python3-h5py python3-gdal python3-pip libopencv-dev
!git clone https://github.com/isce-framework/isce2.git -b v2.4.2
%cd isce2
from google.colab import files
with open('SConfigISCE', 'w') as f:
f.write("""
PRJ_SCONS_BUILD=/content/isce2/build
PRJ_SCONS_INSTALL=/content/isce2/install/isce
LIBPATH=/usr/lib/x86_64-linux-gnu /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial
CPPPATH=/usr/include/x86_64-linux-gnu /usr/include /usr/include/python3.7m /usr/include/gdal /usr/include/hdf5/serial
FORTRANPATH=/usr/include /usr/lib/gcc/x86_64-linux-gnu/7/finclude
FORTRAN=/usr/bin/gfortran
CC=/usr/bin/gcc
CXX=/usr/bin/g++
ENABLE_CUDA=False
""")
import os, sys
os.environ['SCONS_CONFIG_DIR'] = "/content/isce2"
os.environ['PYTHONPATH'] = "/content/isce2/configuration"
!scons install --warn=no-all --setupfile=SConfigISCE
Then, I got the below error message.
/usr/bin/g++ -o build/components/contrib/geo_autoRIFT/geogrid/src/geogrid.o -c -std=c++11 -fopenmp -O2 -Wall -fPIC -m64 -DNEEDS_F77_TRANSLATION -DF77EXTERNS_LOWERCASE_TRAILINGBAR -I/usr/include/x86_64-linux-gnu -I/usr/include -I/usr/include/python3.7m -I/usr/include/gdal -I/usr/include/hdf5/serial -Ibuild/components/iscesys/ImageApi/include -Ibuild/components/iscesys/ImageApi/DataCaster/include -Ibuild/components/isceobj/LineAccessor/include -Ibuild/components/iscesys/StdOE/include -Ibuild/components/isceobj/Util/include -Ibuild/components/isceobj/Util/Library/include -Ibuild/components/contrib/geo_autoRIFT/geogrid/include build/components/contrib/geo_autoRIFT/geogrid/src/geogrid.cpp
build/components/contrib/geo_autoRIFT/geogrid/src/geogrid.cpp: In member function ‘void geoGrid::geogrid()’:
build/components/contrib/geo_autoRIFT/geogrid/src/geogrid.cpp:307:31: error: variable ‘OGRSpatialReference demSRS’ has initializer but incomplete type
OGRSpatialReference demSRS(nullptr);
^
build/components/contrib/geo_autoRIFT/geogrid/src/geogrid.cpp:316:31: error: variable ‘OGRSpatialReference llhSRS’ has initializer but incomplete type
OGRSpatialReference llhSRS(nullptr);
^
build/components/contrib/geo_autoRIFT/geogrid/src/geogrid.cpp:325:5: error: ‘OGRCoordinateTransformation’ was not declared in this scope
OGRCoordinateTransformation *fwdTrans = OGRCreateCoordinateTransformation( &demSRS, &llhSRS);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
build/components/contrib/geo_autoRIFT/geogrid/src/geogrid.cpp:325:5: note: suggested alternative: ‘OGRCoordinateTransformationH’
OGRCoordinateTransformation *fwdTrans = OGRCreateCoordinateTransformation( &demSRS, &llhSRS);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
OGRCoordinateTransformationH
build/components/contrib/geo_autoRIFT/geogrid/src/geogrid.cpp:325:34: error: ‘fwdTrans’ was not declared in this scope
OGRCoordinateTransformation *fwdTrans = OGRCreateCoordinateTransformation( &demSRS, &llhSRS);
^~~~~~~~
build/components/contrib/geo_autoRIFT/geogrid/src/geogrid.cpp:325:34: note: suggested alternative: ‘wctrans’
OGRCoordinateTransformation *fwdTrans = OGRCreateCoordinateTransformation( &demSRS, &llhSRS);
^~~~~~~~
wctrans
build/components/contrib/geo_autoRIFT/geogrid/src/geogrid.cpp:325:45: error: ‘OGRCreateCoordinateTransformation’ was not declared in this scope
OGRCoordinateTransformation *fwdTrans = OGRCreateCoordinateTransformation( &demSRS, &llhSRS);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
build/components/contrib/geo_autoRIFT/geogrid/src/geogrid.cpp:325:45: note: suggested alternative: ‘OGRCoordinateTransformationH’
OGRCoordinateTransformation *fwdTrans = OGRCreateCoordinateTransformation( &demSRS, &llhSRS);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
OGRCoordinateTransformationH
build/components/contrib/geo_autoRIFT/geogrid/src/geogrid.cpp:326:34: error: ‘invTrans’ was not declared in this scope
OGRCoordinateTransformation *invTrans = OGRCreateCoordinateTransformation( &llhSRS, &demSRS);
^~~~~~~~
build/components/contrib/geo_autoRIFT/geogrid/src/geogrid.cpp:326:34: note: suggested alternative: ‘geoTrans’
OGRCoordinateTransformation *invTrans = OGRCreateCoordinateTransformation( &llhSRS, &demSRS);
^~~~~~~~
geoTrans
build/components/contrib/geo_autoRIFT/geogrid/src/geogrid.cpp:421:25: error: aggregate ‘OGRSpatialReference oSRS’ has incomplete type and cannot be defined
OGRSpatialReference oSRS;
^~~~
build/components/contrib/geo_autoRIFT/geogrid/src/geogrid.cpp:970:111: warning: unused variable ‘satvc’ [-Wunused-variable]
3], nhat[3], delta[3], targVec[3], targXYZ[3], diffvec[3], temp[3], satvc[3], altc[3];
^~~~~
build/components/contrib/geo_autoRIFT/geogrid/src/geogrid.cpp:970:121: warning: unused variable ‘altc’ [-Wunused-variable]
t[3], delta[3], targVec[3], targXYZ[3], diffvec[3], temp[3], satvc[3], altc[3];
^~~~
build/components/contrib/geo_autoRIFT/geogrid/src/geogrid.cpp:1328:26: warning: ignoring return value of ‘CPLErr GDALRasterBand::RasterIO(GDALRWFlag, int, int, int, int, void*, int, int, GDALDataType, GSpacing, GSpacing, GDALRasterIOExtraArg*)’, declared with attribute warn_unused_result [-Wunused-result]
poBand1->RasterIO( GF_Write, 0, ii, pCount, 1,
~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
raster1, pCount, 1, GDT_Int32, 0, 0 );
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
build/components/contrib/geo_autoRIFT/geogrid/src/geogrid.cpp:1330:26: warning: ignoring return value of ‘CPLErr GDALRasterBand::RasterIO(GDALRWFlag, int, int, int, int, void*, int, int, GDALDataType, GSpacing, GSpacing, GDALRasterIOExtraArg*)’, declared with attribute warn_unused_result [-Wunused-result]
poBand2->RasterIO( GF_Write, 0, ii, pCount, 1,
~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
raster2, pCount, 1, GDT_Int32, 0, 0 );
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
build/components/contrib/geo_autoRIFT/geogrid/src/geogrid.cpp:1335:33: warning: ignoring return value of ‘CPLErr GDALRasterBand::RasterIO(GDALRWFlag, int, int, int, int, void*, int, int, GDALDataType, GSpacing, GSpacing, GDALRasterIOExtraArg*)’, declared with attribute warn_unused_result [-Wunused-result]
poBand1Off->RasterIO( GF_Write, 0, ii, pCount, 1,
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
raster11, pCount, 1, GDT_Int32, 0, 0 );
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
build/components/contrib/geo_autoRIFT/geogrid/src/geogrid.cpp:1337:33: warning: ignoring return value of ‘CPLErr GDALRasterBand::RasterIO(GDALRWFlag, int, int, int, int, void*, int, int, GDALDataType, GSpacing, GSpacing, GDALRasterIOExtraArg*)’, declared with attribute warn_unused_result [-Wunused-result]
poBand2Off->RasterIO( GF_Write, 0, ii, pCount, 1,
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
raster22, pCount, 1, GDT_Int32, 0, 0 );
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
build/components/contrib/geo_autoRIFT/geogrid/src/geogrid.cpp:1343:33: warning: ignoring return value of ‘CPLErr GDALRasterBand::RasterIO(GDALRWFlag, int, int, int, int, void*, int, int, GDALDataType, GSpacing, GSpacing, GDALRasterIOExtraArg*)’, declared with attribute warn_unused_result [-Wunused-result]
poBand1Sch->RasterIO( GF_Write, 0, ii, pCount, 1,
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sr_raster11, pCount, 1, GDT_Int32, 0, 0 );
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
build/components/contrib/geo_autoRIFT/geogrid/src/geogrid.cpp:1345:33: warning: ignoring return value of ‘CPLErr GDALRasterBand::RasterIO(GDALRWFlag, int, int, int, int, void*, int, int, GDALDataType, GSpacing, GSpacing, GDALRasterIOExtraArg*)’, declared with attribute warn_unused_result [-Wunused-result]
poBand2Sch->RasterIO( GF_Write, 0, ii, pCount, 1,
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sr_raster22, pCount, 1, GDT_Int32, 0, 0 );
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
build/components/contrib/geo_autoRIFT/geogrid/src/geogrid.cpp:1351:33: warning: ignoring return value of ‘CPLErr GDALRasterBand::RasterIO(GDALRWFlag, int, int, int, int, void*, int, int, GDALDataType, GSpacing, GSpacing, GDALRasterIOExtraArg*)’, declared with attribute warn_unused_result [-Wunused-result]
poBand1Min->RasterIO( GF_Write, 0, ii, pCount, 1,
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
csmin_raster11, pCount, 1, GDT_Int32, 0, 0 );
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
build/components/contrib/geo_autoRIFT/geogrid/src/geogrid.cpp:1353:33: warning: ignoring return value of ‘CPLErr GDALRasterBand::RasterIO(GDALRWFlag, int, int, int, int, void*, int, int, GDALDataType, GSpacing, GSpacing, GDALRasterIOExtraArg*)’, declared with attribute warn_unused_result [-Wunused-result]
poBand2Min->RasterIO( GF_Write, 0, ii, pCount, 1,
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
csmin_raster22, pCount, 1, GDT_Int32, 0, 0 );
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
build/components/contrib/geo_autoRIFT/geogrid/src/geogrid.cpp:1359:33: warning: ignoring return value of ‘CPLErr GDALRasterBand::RasterIO(GDALRWFlag, int, int, int, int, void*, int, int, GDALDataType, GSpacing, GSpacing, GDALRasterIOExtraArg*)’, declared with attribute warn_unused_result [-Wunused-result]
poBand1Max->RasterIO( GF_Write, 0, ii, pCount, 1,
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
csmax_raster11, pCount, 1, GDT_Int32, 0, 0 );
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
build/components/contrib/geo_autoRIFT/geogrid/src/geogrid.cpp:1361:33: warning: ignoring return value of ‘CPLErr GDALRasterBand::RasterIO(GDALRWFlag, int, int, int, int, void*, int, int, GDALDataType, GSpacing, GSpacing, GDALRasterIOExtraArg*)’, declared with attribute warn_unused_result [-Wunused-result]
poBand2Max->RasterIO( GF_Write, 0, ii, pCount, 1,
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
csmax_raster22, pCount, 1, GDT_Int32, 0, 0 );
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
build/components/contrib/geo_autoRIFT/geogrid/src/geogrid.cpp:1367:33: warning: ignoring return value of ‘CPLErr GDALRasterBand::RasterIO(GDALRWFlag, int, int, int, int, void*, int, int, GDALDataType, GSpacing, GSpacing, GDALRasterIOExtraArg*)’, declared with attribute warn_unused_result [-Wunused-result]
poBand1Msk->RasterIO( GF_Write, 0, ii, pCount, 1,
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ssm_raster, pCount, 1, GDT_Int32, 0, 0 );
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
build/components/contrib/geo_autoRIFT/geogrid/src/geogrid.cpp:1373:35: warning: ignoring return value of ‘CPLErr GDALRasterBand::RasterIO(GDALRWFlag, int, int, int, int, void*, int, int, GDALDataType, GSpacing, GSpacing, GDALRasterIOExtraArg*)’, declared with attribute warn_unused_result [-Wunused-result]
poBand1RO2VX->RasterIO( GF_Write, 0, ii, pCount, 1,
~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
raster1a, pCount, 1, GDT_Float64, 0, 0 );
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
build/components/contrib/geo_autoRIFT/geogrid/src/geogrid.cpp:1375:35: warning: ignoring return value of ‘CPLErr GDALRasterBand::RasterIO(GDALRWFlag, int, int, int, int, void*, int, int, GDALDataType, GSpacing, GSpacing, GDALRasterIOExtraArg*)’, declared with attribute warn_unused_result [-Wunused-result]
poBand2RO2VX->RasterIO( GF_Write, 0, ii, pCount, 1,
~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
raster1b, pCount, 1, GDT_Float64, 0, 0 );
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
build/components/contrib/geo_autoRIFT/geogrid/src/geogrid.cpp:1379:35: warning: ignoring return value of ‘CPLErr GDALRasterBand::RasterIO(GDALRWFlag, int, int, int, int, void*, int, int, GDALDataType, GSpacing, GSpacing, GDALRasterIOExtraArg*)’, declared with attribute warn_unused_result [-Wunused-result]
poBand1RO2VY->RasterIO( GF_Write, 0, ii, pCount, 1,
~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
raster2a, pCount, 1, GDT_Float64, 0, 0 );
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
build/components/contrib/geo_autoRIFT/geogrid/src/geogrid.cpp:1381:35: warning: ignoring return value of ‘CPLErr GDALRasterBand::RasterIO(GDALRWFlag, int, int, int, int, void*, int, int, GDALDataType, GSpacing, GSpacing, GDALRasterIOExtraArg*)’, declared with attribute warn_unused_result [-Wunused-result]
poBand2RO2VY->RasterIO( GF_Write, 0, ii, pCount, 1,
~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
raster2b, pCount, 1, GDT_Float64, 0, 0 );
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
scons: *** [build/components/contrib/geo_autoRIFT/geogrid/src/geogrid.o] Error 1
scons: done reading SConscript files.
scons: Building targets ...
scons: `install' is up to date.
scons: done building targets.
How can I fix this error? Any guidance would be very much appreciated.
It looks like you are specifying the v2.4.2
branch of ISCE2. That is almost two years old, so it may not work with recent versions of GDAL.
@EJFielding Thank you for your quick reply. Unfortunately, I got the same error even with the latest commit (i.e. 307485b Merge pull request #546 from bjmarfito/patch-1
)
I see you're using apt
for dependencies, so I assume the Colab environment is using debian or ubuntu - what OS version are you on, and what's the version of GDAL it installed? Maybe that GDAL is too old to work with isce2.
Hello Everybody, I tried to Install ISCE on Google Colaboratory following the steps mentioned at https://colab.research.google.com/github/SERVIR/ForestStandHeight/blob/master/Section_2/Install_ISCE.ipynb, But I find it difficult to execute the step at 2.2. I am not able to perform the step and produce folder ISCE-2.2.0. Could you please help me to sort out the problem.
I don't know when those instructions about installing ISCE2 were written by the SERVIR team, but the first ISCE2 version on GitHub was v2.3.1. It is surprising to see that it would call the installation directory ISCE-2.2.0
. The SCons installation method they describe is an older method that is more difficult to configure as you need to know what versions of Python and other libraries are installed on the system. I would suggest trying the "cmake" installation method describe on the ISCE2 installation page.
To install isce2
with conda
, you need to add -c conda-forge
Get Outlook for iOShttps://aka.ms/o0ukef
From: Diwakar Khadka @.> Sent: Thursday, October 5, 2023 12:13:14 AM To: isce-framework/isce2 @.> Cc: Fielding, Eric J (US 329A) @.>; Mention @.> Subject: [EXTERNAL] Re: [isce-framework/isce2] Problems installing ISCE on Google Colaboratory (Issue #587)
@EJFieldinghttps://urldefense.us/v3/__https://github.com/EJFielding__;!!PvBDto6Hs4WbVuu7!NCSUmoFz0gr_f1WAZVaVARgA61hTbaRYT-J93OwlSMkDgH2Kv4tnSFQKz_WkheEQEsWZD8Nfy_Bxb3jBVoUQViSO0ZmckVB0D1I$ I tried to install ISCE2 using command prompt and here are the command prompt display. [1]https://urldefense.us/v3/__https://user-images.githubusercontent.com/101582355/272811735-a47f9601-54d5-4f06-9e1a-59d97f143af1.jpg__;!!PvBDto6Hs4WbVuu7!NCSUmoFz0gr_f1WAZVaVARgA61hTbaRYT-J93OwlSMkDgH2Kv4tnSFQKz_WkheEQEsWZD8Nfy_Bxb3jBVoUQViSO0ZmcA4XmNU8$ [2]https://urldefense.us/v3/__https://user-images.githubusercontent.com/101582355/272811755-7b22433a-35fb-404d-9733-3ce774a0cb7b.jpg__;!!PvBDto6Hs4WbVuu7!NCSUmoFz0gr_f1WAZVaVARgA61hTbaRYT-J93OwlSMkDgH2Kv4tnSFQKz_WkheEQEsWZD8Nfy_Bxb3jBVoUQViSO0ZmcOIPYXCA$ [3]https://urldefense.us/v3/__https://user-images.githubusercontent.com/101582355/272811788-11275fd8-36e9-43d3-99b8-90fc040503d1.jpg__;!!PvBDto6Hs4WbVuu7!NCSUmoFz0gr_f1WAZVaVARgA61hTbaRYT-J93OwlSMkDgH2Kv4tnSFQKz_WkheEQEsWZD8Nfy_Bxb3jBVoUQViSO0ZmcpEBMWRk$ [4]https://urldefense.us/v3/__https://user-images.githubusercontent.com/101582355/272811811-498a15de-fc9d-4a73-b20a-b1274e32717d.jpg__;!!PvBDto6Hs4WbVuu7!NCSUmoFz0gr_f1WAZVaVARgA61hTbaRYT-J93OwlSMkDgH2Kv4tnSFQKz_WkheEQEsWZD8Nfy_Bxb3jBVoUQViSO0Zmcl2hnj8Y$ [5]https://urldefense.us/v3/__https://user-images.githubusercontent.com/101582355/272811853-80440139-4329-4174-abbd-017bf78f2f58.jpg__;!!PvBDto6Hs4WbVuu7!NCSUmoFz0gr_f1WAZVaVARgA61hTbaRYT-J93OwlSMkDgH2Kv4tnSFQKz_WkheEQEsWZD8Nfy_Bxb3jBVoUQViSO0ZmcfhOafAw$ [6]https://urldefense.us/v3/__https://user-images.githubusercontent.com/101582355/272811898-8240a413-6548-4b7e-9ca1-c59ac4d2094f.jpg__;!!PvBDto6Hs4WbVuu7!NCSUmoFz0gr_f1WAZVaVARgA61hTbaRYT-J93OwlSMkDgH2Kv4tnSFQKz_WkheEQEsWZD8Nfy_Bxb3jBVoUQViSO0ZmcirEWqPM$ [7]https://urldefense.us/v3/__https://user-images.githubusercontent.com/101582355/272811936-3126c40d-6e9c-4ee2-9b4b-92af77bbacb1.jpg__;!!PvBDto6Hs4WbVuu7!NCSUmoFz0gr_f1WAZVaVARgA61hTbaRYT-J93OwlSMkDgH2Kv4tnSFQKz_WkheEQEsWZD8Nfy_Bxb3jBVoUQViSO0ZmcN0QvWYg$ [8]https://urldefense.us/v3/__https://user-images.githubusercontent.com/101582355/272811957-c469667d-6e4e-4ac2-8834-e67c0b198808.jpg__;!!PvBDto6Hs4WbVuu7!NCSUmoFz0gr_f1WAZVaVARgA61hTbaRYT-J93OwlSMkDgH2Kv4tnSFQKz_WkheEQEsWZD8Nfy_Bxb3jBVoUQViSO0ZmcNs9DrmI$ Still not being able to install ISCE2. I am hoping for yours suggestion.
— Reply to this email directly, view it on GitHubhttps://urldefense.us/v3/__https://github.com/isce-framework/isce2/issues/587*issuecomment-1748223052__;Iw!!PvBDto6Hs4WbVuu7!NCSUmoFz0gr_f1WAZVaVARgA61hTbaRYT-J93OwlSMkDgH2Kv4tnSFQKz_WkheEQEsWZD8Nfy_Bxb3jBVoUQViSO0ZmcLXgRBvg$, or unsubscribehttps://urldefense.us/v3/__https://github.com/notifications/unsubscribe-auth/ABXK4SAA2AZ6DMVCKSHBXTDX5ZMYVAVCNFSM6AAAAAAQPKRX6SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONBYGIZDGMBVGI__;!!PvBDto6Hs4WbVuu7!NCSUmoFz0gr_f1WAZVaVARgA61hTbaRYT-J93OwlSMkDgH2Kv4tnSFQKz_WkheEQEsWZD8Nfy_Bxb3jBVoUQViSO0ZmcxAFugYk$. You are receiving this because you were mentioned.Message ID: @.***>