Swap out Matlab/Runtime folder tree, tar won't ceate symlink
Mostrar comentarios más antiguos
I am on an Ubuntu VM (VirtualBox). I created the VM with limited disk space. I find myself switching between different versions of Matlab and their associated Runtimes. Because of the small virtual disk, I am uninstalling a version of Matlab or a version of its Runtime in order to install something else. The installation takes place over the internet, and unfortunately, I have modest bandwidth meant for home use.
Instead of uninstalling and re-installing, I tried to save time by temporarily swapping out a Runtime or a Matlab version and storing it in the much larger disk of the host Windows OS. If we assume that the host OS user's home folder is mounted as /media/sf_HostOSusr and the Runtime folder tree is rooted at /usr/local/MATLAB/MATLAB_Runtime/v912:
cd /usr/local/MATLAB/MATLAB_Runtime/
tar czf \
/media/sf_HostOSusr/VendorApp/matlab/20230425.1502%usr%local%MATLAB%MATLAB_Runtime%V912.tgz \
v912
I get several dozen errors:
tar: v912/bin/glnxa64/libmwfftw3f_mpi.so.3: Cannot create symlink to ‘libmwfftw3f_mpi.so.3.5.8’: Operation not permitted
tar: v912/bin/glnxa64/libPDFRes.so.7: Cannot create symlink to ‘libPDFRes.so.7.1’: Operation not permitted
tar: v912/bin/glnxa64/libmwfftw3f.so.3: Cannot create symlink to ‘libmwfftw3f.so.3.5.8’: Operation not permitted
<...snip...>
tar: v912/runtime/glnxa64/libmwmclmcrrt.so: Cannot create symlink to ‘libmwmclmcrrt.so.9.12’: Operation not permitted
tar: v912/sys/java/jre/glnxa64/jre/lib/amd64/server/libjsig.so: Cannot create symlink to ‘../libjsig.so’: Operation not permitted
tar: v912/bin/glnxa64/libMatlabDataArray.so: Cannot create symlink to ‘../../extern/bin/glnxa64/libMatlabDataArray.so’: Operation not permitted
tar: Exiting with failure status due to previous errors
Most of these symbolic links are to files existing in the same directory. I didn't think that it is due to incompatibilities with the host Windows 10 (64-bit) file system, since the tar'd up content is encapsulated within a tar ball. **What are some other reasons for such symlink problems in creating a tar ball?**
I tried archiving one symlink and its target from above, which didn't result in any symlink errors:
cd v912/runtime/glnxa64/
tar czf /media/sf_HostOSusr/tmp/Test.zip libmwmclmcrrt.so libmwmclmcrrt.so.9.12cd v912/runtime/glnxa64/
9 comentarios
Walter Roberson
el 25 de Abr. de 2023
I do not know if it will solve the problem, but in my experience it is more robust and faster than tar.
FM
el 25 de Abr. de 2023
Walter Roberson
el 25 de Abr. de 2023
Yes, and cpio does the same kind of encapsulation.
cpio by default treats symbolic links by noting them in its internal format and saving the name of the file linked to. But the -L option for cpio instead copies in the file linked to.
FM
el 25 de Abr. de 2023
FM
el 25 de Abr. de 2023
Walter Roberson
el 26 de Abr. de 2023
It would, by the way, be common to compress the cpio file afterwards. Some versions of cpio have a built-in compression option.
FM
el 26 de Abr. de 2023
Walter Roberson
el 26 de Abr. de 2023
Respuestas (1)
Nicole Bonfatti
el 8 de Oct. de 2026 a las 14:35
0 votos
This is more of a VM issue than a MATLAB issue. It looks like you're extracting to a shared folder from the host, right? In that case symlinks won't work. Instead of a tar file, create a disk image, store it on the host FS, and mount the disk image in the VM.
1 comentario
FM
el 8 de Oct. de 2026 a las 14:56
Categorías
Más información sobre Introduction to Installation and Licensing en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!