[SailfishDevel] Building/Deploying app fails with 1312 SDK
Juha Kallioinen
juha.kallioinen at jolla.com
Fri Dec 13 19:09:26 UTC 2013
On 13.12.2013 20:02, superpelican wrote:
>
> Hello,
>
> I just completely removed my old SDK with the SDK Maintenance tool
> (and also removed $HOME/.scratchbox2 as the installer of the new SDK
> version suggested, I also removed the Mer SDK VM and Emulator VM of
> the old SDK version in the Virtualbox Manager) and installed the new
> 1312 SDK. When I tried to build my simple, little multiplication
> tables practising application Quick Clamshell
> <https://bitbucket.org/Superpelican/quick_clamshell> it failed with
> the following messages in the Compile Output pane:
Hi, did this build in the previous "1310" release of the SDK?
The application seems to use the "old way" of specifying a
sailfishapplication, since it doesn't use libsailfishapp, which is the
new (since 1310 installer) and recommended way of creating applications
for Sailfish OS.
Before trying to build your project with "1312" be sure to clean all
previous build results from the project directory. Your bitbucket
repository has lots of build generated files (like the application
binary) that should not be there.
....
> + QT_SELECT=5
> + make install INSTALL_ROOT=/home/deploy/installroot
>
>
> install -m 755 -p "Quick2Clamshell"
> "/home/deploy/installroot/usr/bin/Quick2Clamshell"
> : "/home/deploy/installroot/usr/bin/Quick2Clamshell"
> install -m 755 -p
> /home/mersdk/Coding/ClamshellSailfish/Quick2Clamshell/main.qml
> /home/deploy/installroot/usr/share/Quick2Clamshell/
> : /home/deploy/installroot/usr/share/Quick2Clamshell/main.qml
> cp -f -R /home/mersdk/Coding/ClamshellSailfish/Quick2Clamshell/pages
> /home/deploy/installroot/usr/share/Quick2Clamshell/
> cp -f -R /home/mersdk/Coding/ClamshellSailfish/Quick2Clamshell/cover
> /home/deploy/installroot/usr/share/Quick2Clamshell/
> install -m 755 -p
> /home/mersdk/Coding/ClamshellSailfish/Quick2Clamshell/main.qml
> /home/deploy/installroot/usr/share/Quick2Clamshell/
> : /home/deploy/installroot/usr/share/Quick2Clamshell/main.qml
> install -m 755 -p
> /home/mersdk/Coding/ClamshellSailfish/Quick2Clamshell/Quick2Clamshell.desktop
> /home/deploy/installroot/usr/share/applications/
> : /home/deploy/installroot/usr/share/applications/Quick2Clamshell.desktop
> + /usr/lib/rpm/find-debuginfo.sh --strict-build-id
> /home/mersdk/Coding/ClamshellSailfish/build-Quick2Clamshell-MerSDK_SailfishOS_i486_x86-Release/
...
>
> Processing files: Quick2Clamshell-0.1-1.i586
> error:
> File not found: /home/deploy/installroot/icons
That "File not found" is the initial problem.
>
>
>
> RPM build errors:
> error:
> File not found: /home/deploy/installroot/images
>
> error:
> File not found: /home/deploy/installroot/usr/share/Quick2Clamshell/images
>
> File not found: /home/deploy/installroot/icons
>
> File not found: /home/deploy/installroot/images
> File not found:
> /home/deploy/installroot/usr/share/Quick2Clamshell/images
>
>
Looking at the make install output from earlier in the log, we can see
that the /icons and /images directories are not installed, leading to
the initial problem.
The output below comes just because the build engine tries to copy files
to the emulator, but there are no files it can find because the build
failed already. The build/deploy process should have ended to the RPM
build errors and seems like something to fix in future SDK releases.
> receiving incremental file list
>
> sent 8 bytes received 87 bytes 190.00 bytes/sec
> total size is 0 speedup is 0.00
> rsync: change_dir "/home/nemo/RPMS" failed: No such file or directory (2)
>
>
> rsync error: some files/attrs were not transferred (see previous
> errors) (code 23) at main.c(1637) [Receiver=3.1.0]
>
>
> rsync: [Receiver] write error: Broken pipe (32)
>
>
> Command failed: A filename to install is required
> 18:41:38: The process
> "$HOME/.config/SailfishAlpha3/mer-sdk-tools/MerSDK/SailfishOS-i486-x86/deploy"
> exited with code 3.
> Error while building/deploying project Quick2Clamshell (kit:
> MerSDK-SailfishOS-i486-x86)
> When executing step 'Rpm'
> 18:41:38: Elapsed time: 00:06.
> "
....
> I believe this isn't related to my app, but rather a problem with the
> new SDK, so I thought I'd post it on the ML ;)
>
There is something incorrect in the way you have specified the RPM
packaging for your application. Looking at your .yaml file, its files
section specifies that /images and /icons should be added to the RPM
package. That means images and icons directories in the root of the
filesystem. I'm sure you don't really want them to be there, but
somewhere under /usr/share/applicationname instead.
Please take a look at the following links, which [1] describe what kind
of requirements there are for an application you might want to ship to
the Harbour one day and [2] in detail describe creating an installation
package (RPM) for your application.
[1] https://harbour.jolla.com/faq
[2] https://sailfishos.org/develop-packaging-apps.html
Also, take a while to study the latest application template "File->New
Project" and the example and tutorial applications that come with the
"1312" SDK to see how to use libsailfishapp in your application.
> Kind Regards,
>
> Superpelican
>
> P.S.:Someone I know already received her Jolla today, so I had the
> opportunity to try it out already before my phone arrives soon :)
> It is absolutely awesome! Congratulations on this great product!
> Within 20 minutes the swipe-based UI felt like a second nature, while
> I have never used a N9 or BB10 device!
> I have only watched a lot of videos ;)
>
Glad to hear that! :-) I hope you can figure out the packaging issues
with your app.
For a more real-time discussion with other developers, feel free to join
#sailfishos irc channel in Freenode.
Best regards,
Juha
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.sailfishos.org/pipermail/devel/attachments/20131213/ff1c9692/attachment.html>
More information about the Devel
mailing list