Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[bug] No such file or directory when porting a project from windows to linux. #750

Closed
sanzoghenzo opened this issue Mar 5, 2020 · 2 comments

Comments

@sanzoghenzo
Copy link

Problem

NOTE: I've previously opened an issue on meshroom repo, but then I found this is an AliceVision bug.

If I move a meshroom project from windows to linux and then try to run aliceVision_prepareDenseScene, the program throws an error. Here is the log from meshroom:

Program called with the following parameters:
 * evCorrection = 0
 * input = "/home/sanzo/Documents/RifugioAntiaereo/MeshroomCache/StructureFromMotion/8b1eb208dabd66f6b8217585101d147bc86f12b1/sfm.abc"
 * output = "/home/sanzo/Documents/RifugioAntiaereo/MeshroomCache/PrepareDenseScene/d7b6378f935b072434ba6022e5180768b280caf5"
 * outputFileType = "exr"
 * rangeSize = 40
 * rangeStart = 0
 * saveMatricesTxtFiles = 0
 * saveMetadata = 1
 * verboseLevel = "info"

terminate called after throwing an instance of 'boost::filesystem::filesystem_error'
  what():  boost::filesystem::canonical: No such file or directory: "/home/sanzo/Documents/RifugioAntiaereo/MeshroomCache/StructureFromMotion/8b1eb208dabd66f6b8217585101d147bc86f12b1/..\..\FeatureExtraction\41b423ea1e1291f89ca3ee8715f74deb3c81885a"
Aborted

The relative path for FeatureExtraction is stored in the binary file sfm.abc.

I traced the line of code that raises the error, an I suspect that folders.at(i) at the first argument should be changed to fs::path(folders.at(i)) in order to parse it correctly before appending it to the base path.

Expected behavior:
Paths should be parsed correctly

Actual behavior:
base path and relative path are not parsed prior to the contatenation.

Steps to Reproduce

NOTE: I did this in meshroom, so I can't give you the exact steps. Anyway:

  1. run a workflow that includes surfaceFromMotion on windows
  2. move the files to linux
  3. run aliceVision_prepareDenseScene using the files

Versions

  • AliceVision branch/version: included in meshroom 2019.2.0 binary
  • OS: windows 10 to elementary OS (ubuntu based)
@fabiencastan
Copy link
Member

Yes, we should check if the path exist before calling the canonical function.

@github-actions
Copy link

github-actions bot commented Jul 1, 2021

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@github-actions github-actions bot added the stale label Jul 1, 2021
@github-actions github-actions bot closed this as completed Jul 9, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants