Unable to build for tizen #317
Bug descriptionThe tutorial on building from source is very simple:
However this is failing with: This feels like a bug, however bug reports are only allowed for playback/seer/UI. Not only it tried to find an invalid path, but the string for this path is not even a valid path string. I mean look at the part: Information
|
Replies: 2 comments
|
Hi! Thanks for the write up, this is a real bug and a good catch. Here's what's going on. The build script checks a handful of known spots for Tizen tooling, and yours sits one level deeper than any of them (C:\tizen-studio\sdk..., which lines up with your sdk.info being at C:\tizen-studio\sdk\sdk.info). When it didn't find it, it fell back to just running tizen and letting Windows sort it out from PATH. That's where the weird path comes from. The Tizen launcher figures out where it lives based on the path it was called with, then goes looking for sdk.info a few folders up. Called by bare name, it measures from your current directory instead, which was packages\build-tizen inside your clone. So it went hunting for its own Java libraries in the Moonfin source tree, came up empty, and died with the ClassNotFoundException. That doubled backslash is Tizen's own string joining, not ours. The certificate and profiles.xml warnings were unrelated and harmless, though those paths were wrong for Windows anyway. Fixed on main:
Pull latest and npm run build:tizen:all should just work. If something still trips it up, npm run build:tizen -- --skip-tizen-cli skips the Tizen tooling entirely. One broader thing worth knowing: Samsung has killed off Tizen Studio completely. The download page just bounces you to https://samsungtizenos.com/ and the VS Code extension now, which ships the same CLI and certificate manager. The build script picks up either one, so your existing install is fine, but new contributors can't even get Studio anymore. So the no-tooling path is really the default going forward, and it's already what we ship. The unsigned .wgt you get out of this is the same package that's on the Releases page, and Apps2Samsung does the signing and installing for you. For a normal sideload onto your Q80T you don't need Samsung tooling or a certificate at all. Wiki's been updated with all of this, including a troubleshooting entry for this exact error. |
BuildingNow it builds thank you very much. Signing the widgetRegarding Running: set SDB=C:\tizen-studio\sdk\tools\sdb
Rem Signing profile name (default Moonfin)
set TIZEN_SIGN_PROFILE=Sample3
Rem Full path to your tooling's profiles.xml
set TIZEN_PROFILES_XML=C:\tizen-studio\data\profile\profiles.xml
Rem Full path to tizen / tizen.bat
set TIZEN_CLI=C:\tizen-studio\sdk\tools\ide\bin\tizen
npm install
run build:tizenWhere <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<profiles active="Sample3" version="3.1">
<profile name="Sample2">
<profileitem ca="" distributor="0" key="C:\Users\wrgal\SamsungCertificate\Sample2\author.p12" password="C:\Users\wrgal\SamsungCertificate\Sample2\author.pwd" rootca=""/>
<profileitem ca="" distributor="1" key="C:\Users\wrgal\SamsungCertificate\Sample2\distributor.p12" password="C:\Users\wrgal\SamsungCertificate\Sample2\distributor.pwd" rootca=""/>
<profileitem ca="" distributor="2" key="" password="" rootca=""/>
</profile>
<profile name="DummyCertificate">
<profileitem ca="C:\tizen-studio\sdk\tools\certificate-generator\certificates\developer\tizen-developer-ca.cer" distributor="0" key="C:\Users\wrgal\SamsungCertificate\Sample\author.p12" password="C:\Users\wrgal\SamsungCertificate\Sample\author.pwd" rootca=""/>
<profileitem ca="C:\tizen-studio\sdk\tools\certificate-generator\certificates\distributor\tizen-distributor-ca-new.cer" distributor="1" key="C:\tizen-studio\sdk\tools\certificate-generator\certificates\distributor\tizen-distributor-signer-new.p12" password="C:\tizen-studio\data\tools\certificate-generator\certificates\distributor\tizen-distributor-signer-new.pwd" rootca=""/>
<profileitem ca="" distributor="2" key="" password="" rootca=""/>
</profile>
<profile name="Sample3">
<profileitem ca="" distributor="0" key="C:\Users\wrgal\Documents\github\jellyfin\tyzen_certificate_backup_path\author.p12" password="C:\Users\wrgal\Documents\github\jellyfin\tyzen_certificate_backup_path\author.pwd" rootca=""/>
<profileitem ca="" distributor="1" key="C:\Users\wrgal\SamsungCertificate\Sample3\distributor.p12" password="C:\Users\wrgal\SamsungCertificate\Sample3\distributor.pwd" rootca=""/>
<profileitem ca="" distributor="2" key="" password="" rootca=""/>
</profile>
</profiles>Still results in unsigned widget: |
Hi! Thanks for the write up, this is a real bug and a good catch.
Here's what's going on. The build script checks a handful of known spots for Tizen tooling, and yours sits one level deeper than any of them (C:\tizen-studio\sdk..., which lines up with your sdk.info being at C:\tizen-studio\sdk\sdk.info). When it didn't find it, it fell back to just running tizen and letting Windows sort it out from PATH.
That's where the weird path comes from. The Tizen launcher figures out where it lives based on the path it was called with, then goes looking for sdk.info a few folders up. Called by bare name, it measures from your current directory instead, which was packages\build-tizen inside your clo…