oracle / fastr

A high-performance implementation of the R programming language, built on GraalVM.
Other
626 stars 64 forks source link

rc6 release contains both libpcre.so and libpcre.so.1 #24

Closed lucaswerkmeister closed 6 years ago

lucaswerkmeister commented 6 years ago

Hi! I publish the fastr-bin AUR package, and while updating it to rc6, I ran into this error:

ln: failed to create symbolic link '…/pkg/fastr-bin/usr/lib/jvm/java-8-graal/jre/languages/R/lib/libpcre.so': File exists

The problem is that the jar contains both libpcre.so and libpcre.so.1 in jre/languages/R/lib/, but the META-INF/symlinks file also instructs us to install jre/languages/R/lib/libpcre.so as a symlink to libpcre.so.1. According to the file metadata, the .so file dates to August 2nd while the .so.1 file is from August 31st, so perhaps the .so one (which apparently should be a symlink anyways) is an artifact from an older version that accidentally made it into the package?

The two files are identical, so this isn’t a hard problem to solve from my end, but I thought you’d want to know.

(Edit: turns out libgcc_s.so{,.1}, libgfortran.so{,.3}, libquadmath.so{,.0} and libz.so{,.1} have the same problem. All of them are identical copies as well.)

ansalond commented 6 years ago

Hi @lucaswerkmeister, thanks for reporting this issue.

The problem is that the jar contains both libpcre.so and libpcre.so.1 in jre/languages/R/lib/

Which jar are you using? I don't see libpcre.so in r-installable-ce-1.0.0-rc6-linux-amd64.jar:

$ unzip -v r-installable-ce-1.0.0-rc6-linux-amd64.jar | grep libpcre
  636608  Defl:N   214310  66% 2018-08-31 16:44 f972ed4a  jre/languages/R/lib/libpcre.so.1
lucaswerkmeister commented 6 years ago

Hm, this is embarrassing… it looks like rc5 has two files for each library (but doesn’t mention them in META-INF/symlinks, so it’s not a problem except that it wastes a bit of space), and makepkg doesn’t clean the source directory before extracting the new sources by default. So this is actually a problem on my end, not your fault. Sorry!

ansalond commented 6 years ago

No problem, good to know that it works! This is indeed something that we fixed between RC5 and RC6.