Docker: Synchronization Problems because /usr/share/perl5/vendor_perl/ExtUtils/xsubpp
Hi, I have this problem with docker (for example clicking on Tools -> Perl -> Refresh Interpreter Information):
15:55 Synchronization Problems: 5 of 7 directories synchronized, 2 problems occurs. See IDE log for details.
investigating, that problem seems to be related to the presence of the file /usr/share/perl5/vendor_perl/ExtUtils/xsubpp. Deleting this file (RUN rm /usr/share/perl5/vendor_perl/ExtUtils/xsubpp) solves the problem!
Best regards, Emanuele
Docker images sometimes has kinda tricky setups looking like optimizations of some kind. Previously seen this in the centos images. And had problems syncing files. Would be nice to see the Dockerfile to investigate an issue and look for workarounds and/or fixes. Removing file may help, but not the best solution in my opinion.
Yes, deleting the file is not a good solution! The simplest Dockerfile you can use is:
FROM rockylinux:8
RUN dnf install -y \
perl \
&& dnf clean all
Thank you in advance, Emanuele
This is what PyCharm print:
2022-05-19 23:51:43,690 [ 73357] WARN - lang.perl.idea.sdk.PerlSdkType - Error copying /usr/share/perl5 to /home/user/.cache/JetBrains/PyCharm2021.3/perl5/remote/docker_image_latest//usr/share/perl5 for docker[image:latest]
java.io.IOException: Error copying /usr/share/perl5 to /home/user/.cache/JetBrains/PyCharm2021.3/perl5/remote/docker_image_latest//usr/share/perl5 for docker[image:latest]
at com.perl5.lang.perl.idea.sdk.host.PerlHostFileTransfer.syncFile(PerlHostFileTransfer.java:78)
at com.perl5.lang.perl.idea.sdk.host.PerlHostFileTransfer.syncFile(PerlHostFileTransfer.java:54)
at com.perl5.lang.perl.idea.sdk.PerlSdkType.syncAndCollectException(PerlSdkType.java:183)
at com.perl5.lang.perl.idea.sdk.PerlSdkType.lambda$setupSdkPaths$0(PerlSdkType.java:95)
at com.perl5.lang.perl.idea.sdk.PerlSdkType.setupSdkPaths(PerlSdkType.java:98)
at com.perl5.lang.perl.util.PerlRunUtil$4.run(PerlRunUtil.java:600)
at com.intellij.openapi.progress.impl.CoreProgressManager.startTask(CoreProgressManager.java:436)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.startTask(ProgressManagerImpl.java:120)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcessWithProgressAsync$5(CoreProgressManager.java:496)
at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$3(ProgressRunner.java:244)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:188)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$12(CoreProgressManager.java:624)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:698)
at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:646)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:623)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:66)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:175)
at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$4(ProgressRunner.java:244)
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1700)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:668)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:665)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:665)
at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.io.IOException: com.perl5.lang.perl.idea.sdk.host.PerlExecutionException: Non-zero exit code: 1; stderr: invalid symlink "/home/user/.cache/JetBrains/PyCharm2021.3/perl5/remote/docker_image_latest/usr/share/perl5/ExtUtils/xsubpp" -> "../../../bin/xsubpp"
: stdout:
at com.perl5.lang.perl.idea.sdk.host.docker.PerlDockerFileTransfer.doSyncPath(PerlDockerFileTransfer.java:66)
at com.perl5.lang.perl.idea.sdk.host.PerlHostFileTransfer.syncFile(PerlHostFileTransfer.java:75)
... 25 more
Caused by: com.perl5.lang.perl.idea.sdk.host.PerlExecutionException: Non-zero exit code: 1; stderr: invalid symlink "/home/user/.cache/JetBrains/PyCharm2021.3/perl5/remote/docker_image_latest/usr/share/perl5/ExtUtils/xsubpp" -> "../../../bin/xsubpp"
: stdout:
at com.perl5.lang.perl.idea.sdk.host.docker.PerlDockerAdapter.checkOutput(PerlDockerAdapter.java:138)
at com.perl5.lang.perl.idea.sdk.host.docker.PerlDockerAdapter.runCommand(PerlDockerAdapter.java:183)
at com.perl5.lang.perl.idea.sdk.host.docker.PerlDockerAdapter.copyRemote(PerlDockerAdapter.java:115)
at com.perl5.lang.perl.idea.sdk.host.docker.PerlDockerFileTransfer.doSyncPath(PerlDockerFileTransfer.java:63)
... 26 more
Best regards, Emanuele