Comments (5)
I am following up on these finally ... I tried to build the website on WSL Ubuntu 22 LTS first before dare to try it on Win 10 native, because it need to at the very least run on WSL; and considering most Windows people these days can grab a WSL with ease, so if we can build it on WSL maybe we don't even need to bother with windows native.
This quickly bring my attention to this line:
openexr/website/scripts/test_images.py
Line 395 in 231d0e9
print(f'PATH={os.environ["PATH"]}')
result = run (['which', 'exrheader'],
stdout=PIPE, stderr=PIPE, universal_newlines=True)
print(f'exrheader={result.stdout}')
This won't work -- certainly not on windows native because we have no "which" and probably not even PATH, but also not even on vanilla WSL because one would not have installed exrheader in PATH according to the website instructions. I'm trying to build+install openexr on WSL first (which will generate the exrheader executable commandline tool, then continue with the experiment...
from openexr.
After manually build openexr first and installing exrheader
in PATH
, i was able to build the website successfully in WSL. That gives me at least a workable way to edit the contents.
The specific error Cary posted above is from here:
openexr/website/CMakeLists.txt
Line 46 in 231d0e9
This means the command cmake
is not on PATH
. However on Windows development it is generally anti-pattern for a build to add a bunch of customized app onto PATH such as cmake
and exrheader
. Rather, it should be a self-contained variable in the CMAKE file.
Given that there are so many python subprocess.run()
calls in that scripts\test_images.py
, I don't think it would worth fixing all of them to be turely cross-platform; we'll need to make sure all those subprocess.run()
calls can properly find their apps, for many of which simply doesn't exist on windows. I think there are two paths we can take here:
- Just update the documentation page, telling people to use WSL, and install
exrheader
inpath
before trying to build the website. - Do not include
test_images.py
in the website building process. Rather, pre-transcode the website images from exr into a website format (PNG or JPEG) in the openEXR repo, and the website builder simply retrieve these website-friendly image from the repo.
@cary-ilm what do you think?
from openexr.
Continue to learning how to build this website -- it appears the generated website in my local dir is missing style sheets.
Simply open the index.html
inside $repo\_build\website\sphinx
results in a page that looks like this:
I'm wondering how to supplement the styles, and as so, shall we edit the "how to build website" part (in the website itself!) to capture this?
from openexr.
@lji-ilm, I really wanted to avoid duplicating all the images as jpg's in the images repo, which was the reason to go to the trouble of converting them on the fly. In addition to the extra storage, it just seemed fragile to manage the duplicates. But for something with so little churn, maybe that's not worth the hassle.
from openexr.
@lji-ilm, I really wanted to avoid duplicating all the images as jpg's in the images repo, which was the reason to go to the trouble of converting them on the fly. In addition to the extra storage, it just seemed fragile to manage the duplicates. But for something with so little churn, maybe that's not worth the hassle.
hmm, in my mind it runs backwards; as what people eventually see on the website is the JPEG, some human eyes should QA the JPEG as the ground truth presentation -- it doesn't matter if the exr files was all correct but then imagemagick screwed up, right? The website is the final publication, and the publication need to look correct regardless of the technical tool generate it (and the source exr file is part of the "technical tools")
What i'm trying to say is that we should keep the website jpeg on the repo -- because the website editor (might be a non-technical professional editor) need to proof-read the jpegs and not relying on the supposed correctness of the source exr's data. They can be on a separate repo, tho.
from openexr.
Related Issues (20)
- exrenvmap: observed imprecise conversion of cubemap to lat/lon HOT 11
- Provide an API using numpy arrays in python HOT 11
- An integer overflow in file exrmultipart.cpp HOT 3
- Incorrect Values When Reading DWA Compressed Layer With OpenEXRCore HOT 10
- understanding openEXR's 3D coordinate system HOT 9
- tarball at https://github.com/AcademySoftwareFoundation/openexr/releases/download/v3.2.4/openexr-v3.2.4.tar.gz extracts incorrectly HOT 3
- Python crashes when trying to write an output file HOT 2
- Is there any way to write a bigger image?
- [Need suggestions/recommendations] OpenEXR for high-speed images grabbing application scenario. HOT 7
- update metadata without rewriting the entire file HOT 4
- Bazel install target HOT 10
- fatal clang-format error on macOS can't upgrade/install via Homebrew HOT 13
- Cross-compiler target linking failure HOT 1
- Uninitialized sliceOptimizationData::type HOT 2
- [Usage recommendation request] Decompressing large EXRs in real-time. HOT 4
- OpenEXR.OutputFile Fails to Write to BytesIO Buffer HOT 1
- Install openexr 3.2.4 to macOS Big Sur 11.7.10 HOT 9
- Unit tests fail when building UB2 binaries on Mac. HOT 1
- CMP0107 issue
- OpenEXR static build not creating libIlmImf.a HOT 5
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 openexr.