Accessing a symbolically-linked class in r2007b
4 views (last 30 days)
Show older comments
Hey all,
I'm running into a problem while trying to instantiate some classes, running r2007b. I have a central location where I store most of my completed projects and utilities. When I need to access one of these in a new project, rather than adding the central location to my path, I create a symbolic link to the needed application somewhere in the directory structure of the project I'm working on. This is intended to allow me to make bug-fixes in one location, which propagate to all instances where the application is used. This worked well for me until I tried to link to a class directory.
Using the standard 'ln -s' syntax in terminal, I created a link to the directory '@foo' in my central storage directory. I then verified that the link was valid by navigating to the directory of my current project, checking that '@foo' existed and was a symbolic link, and then double-clicking it to find myself back in the central storage directory. However, when I tried to instantiate the class with the command 'bar = foo', Matlab was unable to locate the class. I ensured that the root directory 'example_proj' was on the path, and 'example_proj/@foo' was not, with no change in the results. I then removed the symbolic link, and copied the class directly to the root directory. Matlab was then able to find the class. Does Matlab not allow the use of symbolically-linked classes in 2007b?
4 Comments
Accepted Answer
Daniel Shub
on 25 Oct 2012
Issues with symbolic links have been discussed before. In that question, Walter pointed out that MATLAB handles links in a POSIX compliant way, but that the POSIX behavior is not obvious.
3 Comments
Daniel Shub
on 25 Oct 2012
I am not sure that it is really what is going on here, but it might be a start.
More Answers (0)
See Also
Categories
Find more on Software Development Tools in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!