[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