文档章节

how to build sailfish-office(cmake && mb2/sb2)

41245110
 41245110
发布于 2015/02/04 22:49
字数 690
阅读 79
收藏 0

http://jollaphone.eu/?p=3125


I would like to contribute some features to sailfish-office (the pdf viewer plugin). So here is how far I progressed on the way, this might apply to eg the sailfish-browser as well

1. Find the source

https://github.com/sailfishos/sailfish-office

2. fork/clone it

3. create a checkout (of your fork)

 git clone git@github.com:sailfishos/sailfish-office.git

4. open some (new/placeholder) project in the sailfish IDE

5. start the SDK

6. ssh into the SDK
    login in to the mer sdk as user “mersdk”:

ssh -p 2222 -i ~/SailfishOS/vmshare/ssh/private_keys/engine/mersdk mersdk@localhost

7. go to the checkout dir (your home dir is mounted in ~/share/)

cd ~/share/path/to/the/code/sailfish-office/

8. try compiling an rpm

For the emulator:

mb2 -t SailfishOS-i486 -s rpm/sailfish-office.spec build

For your device:

mb2 -t SailfishOS-armv7hl -s rpm/sailfish-office.spec build

9. Notice missing dependencies

[mersdk@SailfishSDK sailfish-office]$ mb2 -t SailfishOS-i486 -s rpm/sailfish-office.spec build
Package 'libjollasignonuiservice-qt5-devel' not found.
Building target platforms: i486-meego-linux-gnu
Building for target i486-meego-linux-gnu
error: Failed build dependencies:
        libqt5sparql-devel is needed by sailfish-office-1.1.5-1.i486
        poppler-qt5-devel is needed by sailfish-office-1.1.5-1.i486
        poppler-qt5 is needed by sailfish-office-1.1.5-1.i486
        poppler-devel is needed by sailfish-office-1.1.5-1.i486
        cmake is needed by sailfish-office-1.1.5-1.i486
        libjollasignonuiservice-qt5-devel is needed by sailfish-office-1.1.5-1.i486

**STOP following here**

10. install dependencies

sudo zypper in  libqt5sparql-devel poppler-qt5-devel poppler-devel cmake

11. fail

There is no package providing **libjollasignonuiservice-qt5-devel**

Installing the other packages does not in fact make mb2 happy, ie

[mersdk@SailfishSDK sailfish-office]$ mb2 -t SailfishOS-i486 -s rpm/sailfish-office.spec build
Package 'libjollasignonuiservice-qt5-devel' not found.
Building target platforms: i486-meego-linux-gnu
Building for target i486-meego-linux-gnu
error: Failed build dependencies:
        libqt5sparql-devel is needed by sailfish-office-1.1.5-1.i486
        poppler-qt5-devel is needed by sailfish-office-1.1.5-1.i486
        poppler-qt5 is needed by sailfish-office-1.1.5-1.i486
        poppler-devel is needed by sailfish-office-1.1.5-1.i486
        cmake is needed by sailfish-office-1.1.5-1.i486
        libjollasignonuiservice-qt5-devel is needed by sailfish-office-1.1.5-1.i486

remains as the output.

Manuall compilation:

have a look at rpm/sailfish-office.spec:

BuildRequires: pkgconfig(Qt5Quick)
BuildRequires: pkgconfig(Qt5Widgets)
#BuildRequires: pkgconfig(Qt5WebKit)
BuildRequires: pkgconfig(Qt5DBus)
BuildRequires: libqt5sparql-devel
BuildRequires: poppler-qt5-devel poppler-qt5 poppler-devel poppler
BuildRequires: mapplauncherd-qt5-devel
BuildRequires: cmake
BuildRequires: qt5-qttools-linguist
BuildRequires: libjollasignonuiservice-qt5-devel

so we need to install all of this (additionally to what was installed above)

sudo zypper in qt5-qtdeclarative-qtquick-devel qt5-qtdbus-devel qt5-qttools-linguist mapplauncherd-qt5-devel

however, again, libjollasignonuiservice-qt5-devel is actually not in the repo, so we cant install it

mkdir build
cd build
cmake ../sailfish-office/

will fail with

[mersdk@SailfishSDK build]$ cmake ../sailfish-office/
-- The C compiler identification is GNU 4.6.4
-- The CXX compiler identification is GNU 4.6.4
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Found QtSparql: /usr/include/Qt5Sparql  
-- Found Booster: /usr/include/mdeclarativecache5  
-- Could NOT find libjollasignonuiservice (missing:  JOLLASIGNONUISERVICE_INCLUDE_DIR JOLLASIGNONUISERVICE_LIBRARY) 
-- Found Poppler: /usr/include/poppler/cpp  
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
JOLLASIGNONUISERVICE_INCLUDE_DIR (ADVANCED)
   used as include directory in directory /home/mersdk/share/proggn/jolla/sailfish-office
   used as include directory in directory /home/mersdk/share/proggn/jolla/sailfish-office/plugin
   used as include directory in directory /home/mersdk/share/proggn/jolla/sailfish-office/pdf
JOLLASIGNONUISERVICE_LIBRARY (ADVANCED)
    linked by target "sailfish-office" in directory /home/mersdk/share/proggn/jolla/sailfish-office

-- Configuring incomplete, errors occurred!

Credits

https://together.jolla.com/question/7793/nemo-qml-plugin-alarms-qt5-binary-packages-missing-in-sdk-how-to-compile-from-source/

Todo

1. create arm packages to test on device
2. use open build service to create packages
3. setup an openrepo for the build from open build service ?
4. cleanup of this wannabe guide

Can anyone help? @Jolla could someone provide the missing package? I will update this entry as I/we progress




© 著作权归作者所有

41245110
粉丝 0
博文 28
码字总数 2842
作品 0
南通
私信 提问
Cmake 实现debug和release lib依赖项处理

一、说明 最近用cmake开发东西,编译vs时候,发现debug和release版本的lib库的依赖项问题,故此小结一下。若有不对之处,还请看官多多指教。 使用的工程有自己编写的工程,也有借用第三方库的...

shzwork
2019/04/17
174
0
安装MySQL5.5时常见错误--缺失make

首先我这是一台CentOS release 6.2 (Final),新安装的系统,没有任何软件及库文件。安装mysql5.5之前,先需要大概了解一下,需要注意的信息,mysql5.5的安装与其它版本不同的是编译安装时,需...

SANSOM
2013/08/28
136
0
part01_Linux下使用Cmake构建工程

一、安装Cmake 1.下载cmake-3.11.1.tar.gz:https://cmake.org/download/ 2.把 cmake-3.11.1.tar.gz放到任意临时目录(Cmake默认安装在:/usr/local/中),查看其权限如果没有权限直接更改权限...

IT魔幻师
2018/05/09
0
0
Blender在Ubuntu上的编译

Here you find information about how to build Blender on modern machines and distributions. Troubleshooting In case you're trying to build on old distributions, chances are that ......

openthings
2015/01/29
948
0
安卓JNI精细化讲解,让你彻底了解JNI(一):环境搭建与HelloWord

目录 1、基础概念 ├──1.1、JNI ├──1.2、NDK ├──1.3、CMake与ndk-build 2、环境搭建 3、Native C++ 项目(HelloWord案例) ├── 3.1、项目创建(java、kotlin) ├── 3.2、CMake...

齐行超
2019/11/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

免费又实用的PDF编辑器,让你始终快人一步!

没有一份文件是一出手就完美无缺的,必然经历了“初稿”、“二改”、“三改”、“终稿”、“再也不改”,等等一系列过程,每次上交都要转化成PDF格式,不仅麻烦、浪费时间而且看得令人眼花缭...

秃驴敢跟老衲抢方丈
16分钟前
107
0
Scala 系列教程(二):安装

Scala 安装 Scala 语言可以运行在Window、Linux、Unix、 Mac OS X等系统上。 Scala是基于java之上,大量使用java的类库和变量,使用 Scala 之前必须先安装 Java(>1.5版本)。 Mac OS X 和 ...

kylin_ink
24分钟前
107
0
45亿数据迁移记录后续-日数据量千万级别到clickhouse

45亿数据迁移记录后续-日数据量千万级别到clickhouse 相关文档地址 flume 参考地址 waterdrop 参考地址 clickhouse 参考地址 kafka 参考地址 环境 日志在一个服务器,clickhouse集群在另一个...

夜中孤影
25分钟前
219
0
PCB设计经验,不得不说的一些技巧,知识福利满满啊!

不得不说的设计经验 如果设计的电路系统中包含FPGA器件,则在绘制原理图前必需使用Quartus II软件对管脚分配进行验证。(FPGA中某些特殊的管脚是不能用作普通IO的) 4层板从上到下依次为:信...

demyar
28分钟前
74
0
myqsl 实战学习(一)

myqsl 实战学习(一) mysql逻辑架构图 mysql 总体分为Server层和存储引擎层 Server层 连接器、查询缓存、分析器、优化器、执行器等 存储引擎层 负责数据的存储和提取。InnoDB、MyISAM、Mem...

旺仔没馒头
30分钟前
81
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部