vmware-archive / safekeeping

Safekeeping is proof of concept backup application specifically designed to be used as reference during the development of a backup solution.
BSD 2-Clause "Simplified" License
25 stars 20 forks source link

Some *.sh files and lib errors #13

Open resul-tufekcigil opened 2 years ago

resul-tufekcigil commented 2 years ago

Describe the bug

hello, we tried to install the safekeeping files, but we could not install because the steps and file paths are different from the readme.md file and we had problems running some *.sh files. Do you have a cleaner explanation or installation guide for installation? Thank you in advance for helping

Reproduction steps

1. install safekeeping 
2. unzip safekeeping
3. install vddk files
4. copy vddk /safekeepingGit/native-libraries/jdisk/linux/vddk/
5. start ./buildVddkLibraries.sh

Expected behavior

Ekran Resmi 2022-08-12 15 37 43

Additional context

again hello, we tried to install the safekeeping files, but we could not install because the steps and file paths are different from the readme.md file and we had problems running some *.sh files. Do you have a cleaner explanation or installation guide for installation? Thank you in advance for helping

mdaneri commented 2 years ago

What version of Linux are you using? All scripts has been tested for Centos

resul-tufekcigil commented 2 years ago

Centos 7

mdaneri commented 2 years ago

When you say install VDDk what do you mean? The requirement is to download the VDDK library from VMware and copy the tar file as is inside the vddk folder Nothing else is required

resul-tufekcigil commented 2 years ago

yes, in fact ı use version 7.0.3 tar.gz file

mdaneri commented 2 years ago

Can you please translate the compilation error?

resul-tufekcigil commented 2 years ago

Fatal error the Red charters does not exist jni.h library And not found tar in jvix Can ı ask a questions? Which centos versions tested?

mdaneri commented 2 years ago

Sorry for the silly question have you downloaded the right VDDK library?

resul-tufekcigil commented 2 years ago

Yes if u want ı give URLs

mdaneri commented 2 years ago

The file name is enough

resul-tufekcigil commented 2 years ago

VMware-vix-disklib-7.0.3-19513565.x86_64.tar but we again compress tar.gz

mdaneri commented 2 years ago

https://customerconnect.vmware.com/downloads/get-download?downloadGroup=VDDK70U3 doesn't have a build 19513565 in any case, the file should have a file name ending in tar.gz example: VMware-vix-disklib-7.0.3-18705163.x86_64.tar.gz

The last VDDK version available is VMware-vix-disklib-7.0.3-20134304.x86_64.tar.gz

resul-tufekcigil commented 2 years ago

I downloaded the file named VMware-vix-disklib-7.0.3-18705163.x86_64.tar.gz

I copied the safekeeping/native-libraries/jdisk/linux/vddk folder I ran the buildVddkLibraries.sh file in the safekeeping/native-libraries/jdisk/linux/ folder but I get the same error :(

mdaneri commented 2 years ago

I'm going to deploy a centos 7 and I’ll back to you

mdaneri commented 2 years ago

I just finished to test Centos 7

[root@localhost linux]# uname -r
3.10.0-1160.el7.x86_64
[root@localhost linux]# cat /etc/centos-release
CentOS Linux release 7.9.2009 (Core)

There was an issue with ./prepare.sh . The Java versions was trying to download are not available anymore. I fix them and now ./prepare.sh works again.

Regarding the native-libraries build I tried, and everything work fine. These are my steps: sudo yum install open-vm-tools wget java-1.8.0-openjdk gcc zip gcc-c++ make unzip git git clone https://github.com/vmware/safekeeping.git cd safekeeping ./prepare.sh -jdk8 cd native-libraries/jdisk/linux

I copied all my VDDK libraries inside the vddk directory

[root@localhost linux]# cd vddk/
[root@localhost vddk]# ls
COPY_HERE_ANY_VMware-vix-disklib-x.y.z-build_LINUX_VERSIONS.txt
VMware-vix-disklib-6.5.2-6195444.x86_64.tar.gz
VMware-vix-disklib-6.5.3-8315684.x86_64.tar.gz
VMware-vix-disklib-6.5.4-13861102.x86_64.tar.gz
VMware-vix-disklib-6.7.0-8173251.x86_64.tar.gz
VMware-vix-disklib-6.7.0-8535999.x86_64.tar.gz
VMware-vix-disklib-6.7.1-10362358.x86_64.tar.gz
VMware-vix-disklib-6.7.2-13015725.x86_64.tar.gz
VMware-vix-disklib-6.7.3-14389676.x86_64.tar.gz
VMware-vix-disklib-7.0.0-15832853.x86_64.tar.gz
VMware-vix-disklib-7.0.1-16860560.x86_64.tar.gz
VMware-vix-disklib-7.0.2-17696664.x86_64.tar.gz
VMware-vix-disklib-7.0.3-18705163.x86_64.tar.gz
VMware-vix-disklib-7.0.3-19513565.x86_64.tar.gz
cd ..
./buildVddkLibraries.sh

After that

cd ..
./gradlew installDist
resul-tufekcigil commented 2 years ago

Thank you vixlib worked but when I run ./gradlew installDist I get the following errors. The version I'm trying to run is 2.0.2

$ ./gradlew installDist

`Watching the file system is not supported on this operating system.

Task :safekeeping-common:compileJava /home/kai/safekeeping/safekeeping-common/src/main/java/com/vmware/safekeeping/common/JavaWarning.java:46: warning: sun.misc.Unsafe is internal proprietary API and may be removed in a future release final Field theUnsafe = sun.misc.Unsafe.class.getDeclaredField("theUnsafe"); ^ /home/kai/safekeeping/safekeeping-common/src/main/java/com/vmware/safekeeping/common/JavaWarning.java:48: warning: sun.misc.Unsafe is internal proprietary API and may be removed in a future release final sun.misc.Unsafe u = (sun.misc.Unsafe) theUnsafe.get(null); ^ /home/kai/safekeeping/safekeeping-common/src/main/java/com/vmware/safekeeping/common/JavaWarning.java:48: warning: sun.misc.Unsafe is internal proprietary API and may be removed in a future release final sun.misc.Unsafe u = (sun.misc.Unsafe) theUnsafe.get(null); ^ 3 warnings

Task :jvix:compileJava Note: /home/kai/safekeeping/jvix/src/main/java/com/vmware/jvix/JDisk.java uses or overrides a deprecated API. Note: Recompile with -Xlint:deprecation for details.

Task :safekeeping-core:compileJava Note: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details. Note: /home/kai/safekeeping/safekeeping-core/src/main/java/com/vmware/safekeeping/core/soap/ArachneConnection.java uses unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details.

Task :safekeeping-cmd:generatePomFileForMavenPublication Maven publication 'maven' pom metadata warnings (silence with 'suppressPomMetadataWarningsFor(variant)'):

  • Variant runtimeElements:
  • contains dependencies that will produce a pom file that cannot be consumed by a Maven client.
  • org.fusesource.jansi:jansi:2.0.+ declared with a Maven incompatible version notation
  • net.java.dev.jna:jna:5.3.+ declared with a Maven incompatible version notation
  • org.jline:jline:3.+ declared with a Maven incompatible version notation These issues indicate information that is lost in the published 'pom' metadata file, which may be an issue if the published library is consumed by an old Gradle version or Apache Maven. The 'module' metadata file, which is used by Gradle 6+ is not affected.

Task :safekeeping-common:generatePomFileForMavenPublication Maven publication 'maven' pom metadata warnings (silence with 'suppressPomMetadataWarningsFor(variant)'):

  • Variant apiElements:
  • contains dependencies that will produce a pom file that cannot be consumed by a Maven client.
  • org.apache.commons:commons-compress:1.+ declared with a Maven incompatible version notation
  • commons-lang:commons-lang:2.+ declared with a Maven incompatible version notation These issues indicate information that is lost in the published 'pom' metadata file, which may be an issue if the published library is consumed by an old Gradle version or Apache Maven. The 'module' metadata file, which is used by Gradle 6+ is not affected.

Task :safekeeping-core:generatePomFileForMavenPublication Maven publication 'maven' pom metadata warnings (silence with 'suppressPomMetadataWarningsFor(variant)'):

  • Variant apiElements:
  • contains dependencies that will produce a pom file that cannot be consumed by a Maven client.
  • com.fasterxml.jackson.core:jackson-databind:2.11.+ declared with a Maven incompatible version notation
  • commons-codec:commons-codec:1.+ declared with a Maven incompatible version notation
  • org.apache.commons:commons-math3:3.6.+ declared with a Maven incompatible version notation
  • Variant runtimeElements:
  • contains dependencies that will produce a pom file that cannot be consumed by a Maven client.
  • com.linkedin.migz:migz:1.+ declared with a Maven incompatible version notation
  • org.slf4j:slf4j-jdk14:1.7.+ declared with a Maven incompatible version notation
  • com.amazonaws:aws-java-sdk-s3:1.11.+ declared with a Maven incompatible version notation These issues indicate information that is lost in the published 'pom' metadata file, which may be an issue if the published library is consumed by an old Gradle version or Apache Maven. The 'module' metadata file, which is used by Gradle 6+ is not affected.

Task :safekeeping-cxf:compileJava Note: /home/kai/safekeeping/safekeeping-cxf/src/main/java/com/vmware/safekeeping/cxf/support/JettyRequestLog.java uses or overrides a deprecated API. Note: Recompile with -Xlint:deprecation for details.

Task :safekeeping-cxf:generatePomFileForMavenPublication Maven publication 'maven' pom metadata warnings (silence with 'suppressPomMetadataWarningsFor(variant)'):

  • Variant runtimeElements:
  • contains dependencies that will produce a pom file that cannot be consumed by a Maven client.
  • org.eclipse.jetty:jetty-http-spi:9.4.+ declared with a Maven incompatible version notation
  • org.eclipse.jetty:jetty-servlet:9.4.+ declared with a Maven incompatible version notation
  • org.eclipse.jetty:jetty-server:9.4.+ declared with a Maven incompatible version notation These issues indicate information that is lost in the published 'pom' metadata file, which may be an issue if the published library is consumed by an old Gradle version or Apache Maven. The 'module' metadata file, which is used by Gradle 6+ is not affected. `
mdaneri commented 2 years ago

It's normal, these are warnings, not errors. The unsafe is a requirement to run safekeeping with JRE 11. Without that SOAP call doesn't work