artoolkitx / arunityx

artoolkitX for Unity, providing high-performance video acquisition, marker and texture tracking and full Unity Editor support
https://www.artoolkitx.org/
Other
43 stars 22 forks source link

Unable to package ARUnityX #35

Closed megazillia4499 closed 1 year ago

megazillia4499 commented 4 years ago

I attempted to follow the first 6 steps outlined in the quick start read me. ran both ./build.sh and attempted to run ./package.sh (in their respective locations) but when I run ./package.sh I get the following error: sed: can't read s/artoolkitX for Unity Version (([0-9]+.[0-9]+)(.[0-9]+)?(r[0-9]+)?)/artoolkitX for Unity Version 1.0.5/: No such file or directory

I have tried making it 1.0.6 in which build failed and 1.0.2 (which is the default) which gives the same outcome as 1.0.5, any guidance would be appreciated. screenshot below is my console in git-bash. I am attempting to use it for unity on windows.

SharedScreenshot

philip-lamb commented 4 years ago

This may be an oddity in git-bash's line-handling or possibly its sed implementation, since it's treating the zero-length string to the -i as the filename.

Please try editing the packaging script, and change the failing line to this: sed -Ei "" -e "s/artoolkitX for Unity Version (([0-9]+\.[0-9]+)(\.[0-9]+)?(r[0-9]+)?)/artoolkitX for Unity Version $VERSION/" $ARUNITYX_HOME/Source/Package/Assets/ARToolKitX-Unity/Scripts/Editor/ARToolKitMenuEditor.cs

If that works, I'll patch the original.

megazillia4499 commented 4 years ago

I apologize in advanced if i make a mistake following your instructions but i pasted the exact code snippet you sent on line 53 of 'package.sh'. Then ran 'build.sh' and 'package.sh' and received the following.

SharedScreenshot2

philip-lamb commented 4 years ago

Yeah, git-bash is interpreting the empty command-line parameter as the filename. I'll formulate a workaround in git-bash tomorrow.

philip-lamb commented 4 years ago

OK, checked it and the Linux sed doesn't conform to its manpage; there needs to be no space between the -i and "" parts of that line. So try: sed -Ei"" -e "s/artoolkitX for Unity Version (([0-9]+\.[0-9]+)(\.[0-9]+)?(r[0-9]+)?)/artoolkitX for Unity Version $VERSION/" $ARUNITYX_HOME/Source/Package/Assets/ARToolKitX-Unity/Scripts/Editor/ARToolKitMenuEditor.cs

megazillia4499 commented 4 years ago

Ok so the issues appears to have changed, it attempts to locate a file but cant.

/Applications/Unity/Unity.app/Contents/MacOS/Unity: No such file or directory so the console shows the following:

SharedScreenshot

megazillia4499 commented 4 years ago

Is this something that should be installed during build.sh's execution or is it attempting to locate unity on my system? will attempt to run the MacOs build and try again as that's where it is searching.

philip-lamb commented 4 years ago

Ermm, yeah OK yes the script assumes its running on macOS, and is looking for Unity.app in the standard location on macOS. This packaging script was really only intended for running on the CI system, so there could be other gotchas. The same syntax would work provided you replace /Applications/Unity/Unity.app/Contents/MacOS/Unity with the path to unity.exe on your system.

megazillia4499 commented 4 years ago

so if the path was (on windows) C:\Program Files\Unity\Hub\Editor\2019.2.17f1\Editor\Unity.exe

shouldn't the line be:

c/Program_Files/Unity/Hub/Editor/2019.2.17f1/Editor/Unity -quit -batchmode -nographics -stackTraceLogType Full -executeMethod ARToolKitPackager.CreatePackage -projectPath $ARUNITYX_HOME/Source/Package ARUnityX-${VERSION}.unitypackage

as that doesn't seem to be working, it just says that the file or directory isn't found

philip-lamb commented 4 years ago

I think you forgot the initial slash on the pathname; it'll need to be /c/Program\ Files/Unity/Hub/Editor/2019.2.17f1/Editor/Unity.

Haythem-kmal commented 4 years ago

Many thanks for keeping this great SDK alive :) I managed to generate the package on windows 10 following your instructions @philip-lamb

@megazillia4499 Don't forget to add a backslash between "Program" and "Files", as a space in directory names can be mistakenly recognised as something else

So you path should be like so C:/Program\ Files/Unity/Hub/Editor/2019.2.17f1/Editor/unity.exe

This is my package.sh modified file just as a reference package.zip

megazillia4499 commented 4 years ago

Thank you both! I got the package file. Note: when the package is created, it works in the unity project it makes but displays the following error anytime the package is imported into another project:

Package corrupted, deduced GUID exists but at different destination path, refusing import.

philip-lamb commented 4 years ago

This implies that you're trying to import the package into a project where the package's files were previously imported. Try importing into a clean project or completely removing the package's files from the project before re-importing.

jpmdodev commented 4 years ago

Same problems here. Solved following these instructions. Thank you all! :)