Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Minimal supported SailfishOS release is 3.1.0 for Storeman 0.2.11 #191

Closed
Olf0 opened this issue Mar 13, 2022 · 2 comments
Closed

Minimal supported SailfishOS release is 3.1.0 for Storeman 0.2.11 #191

Olf0 opened this issue Mar 13, 2022 · 2 comments

Comments

@Olf0
Copy link
Member

Olf0 commented Mar 13, 2022

Hi @mentaljam,

this was a bit tedious, but basically all seemed to work out well, but:

  • I built a Storeman Installer v1.2.0.
    Well that was not hard, as expected.
  • I prepared a new release 0.2.12 for Storeman
    1. I see in all three PRs for the branches sfos3.2, sfos3.3 and sfos4.2 the CI runs emitting a "WARNING: repo.path is not defined: install target not created", see for sfos3.2, for sfos3.3 and for sfos4.2.
      But I fail to find the string repo.path anywhere in the source tree (any longer; I hope to have it eliminated); I explicitly tagged master at his point to check it out again and grep -rF repo.path . through it, see v0.2.12-master.
    2. The branch sfos3.2 fails to compile /src/ornappsmodel.cpp, when processing lines 193 and 194 of /src/ornpm.h (which is included via line 8 of /src/harbour-storeman.cpp, see lines 101 - 128 of the log. In contrast to that the other two branches would compile fine with these commits from master (and originally from devel) applied. When I read "lambda function", I know I will not fully understand this anytime soon.
      Note that I used 2.2.0.29 as a build target, because the code in the sfos3.2 branch is supposed to compile and run under any SailfishOS ≥ 2.1.4 and < 3.3.0, right? Or should I raise the build environment to 3.1.0?

Any ideas, suggestions or things to try?

P.S.: Storeman Installer v1.2.0 and Storeman v0.2.12 should go hand in hand (and be released together), because of the altered repository configuration.

--
Cheers

@mentaljam
Copy link
Collaborator

mentaljam commented Mar 14, 2022

Hi!

the CI runs emitting a "WARNING: repo.path is not defined: install target not created

INSTALLS += privileges dbus repo

I had the repo target to install SSU files which is now deleted as I understand.

2. The branch sfos3.2 fails to compile in src/ornappsmodel.cpp

The target seems to be mistaken for me. I think it should be 3.2.... Most likely 2.2.0.29 has an old compiler which does not support variadic arguments.

@Olf0 Olf0 changed the title Source code and ompilation issues Source code and compilation issues Mar 14, 2022
@Olf0
Copy link
Member Author

Olf0 commented Mar 14, 2022

The target seems to be mistaken for me. I think it should be 3.2....
Most likely 2.2.0.29 has an old compiler which does not support variadic arguments.

Well, it the sfos3.2 branch compiles at SailfishOS-OBS with 3.1.0.12 as build target.
So I started to try older targets.

1. Targetting 3.0.2.8

CI build - sfos3.2 branch on SFOS 3.0.2.8 (armv7hl) fails with the same error when using 2.2.0.29 as build target (likely the build environment is too old):

compiling src/ornappsmodel.cpp
In file included from src/harbour-storeman.cpp:8:0:
src/ornpm.h: In function 'void connect_priv(Sender*, Signal, OrnPm*, Slot)':
src/ornpm.h:193:70: error: expansion pattern 'auto&&' contains no argument packs
         QObject::connect(sender, signal, ptr, [ptr, slot](auto && ...args) {
                                                                      ^
src/ornpm.h: In lambda function:
src/ornpm.h:194:58: error: 'args' was not declared in this scope
             (ptr->d_func()->*slot)(std::forward<decltype(args)>(args)...);
                                                          ^
src/ornpm.h:194:70: error: expansion pattern 'forward<<expression error> >(args)' contains no argument packs
             (ptr->d_func()->*slot)(std::forward<decltype(args)>(args)...);
                                                                      ^
make: *** [.obj/harbour-storeman.o] Error 1
make: *** Waiting for unfinished jobs....
In file included from src/ornappsmodel.cpp:3:0:
src/ornpm.h: In function 'void connect_priv(Sender*, Signal, OrnPm*, Slot)':
src/ornpm.h:193:70: error: expansion pattern 'auto&&' contains no argument packs
         QObject::connect(sender, signal, ptr, [ptr, slot](auto && ...args) {
                                                                      ^
src/ornpm.h: In lambda function:
src/ornpm.h:194:58: error: 'args' was not declared in this scope
             (ptr->d_func()->*slot)(std::forward<decltype(args)>(args)...);
                                                          ^
src/ornpm.h:194:70: error: expansion pattern 'forward<<expression error> >(args)' contains no argument packs
             (ptr->d_func()->*slot)(std::forward<decltype(args)>(args)...);
                                                                      ^
make: *** [.obj/ornappsmodel.o] Error 1
error: Bad exit status from /var/tmp/rpm-tmp.y7Hci4 (%build)

2. Targetting 3.0.3.8

build - sfos3.2 branch on SFOS 3.0.3.8 (armv7hl) works WRT the build environment, but fails later in the build process, because the "'class NetworkManager' has no member named 'connected'".

compiling src/ornutils.cpp
src/storeman.cpp: In member function 'void Storeman::startUpdatesTimer()':
src/storeman.cpp:398:37: error: 'class NetworkManager' has no member named 'connected'
         NetworkManager::instance()->connected())
                                     ^
make: *** [.obj/storeman.o] Error 1
make: *** Waiting for unfinished jobs....
error: Bad exit status from /var/tmp/rpm-tmp.3k8GoP (%build)
    Bad exit status from /var/tmp/rpm-tmp.3k8GoP (%build)

3. Targetting 3.1.0.12 / 3.1.0.11

CI build - sfos3.2 branch on SFOS 3.1.0.12 (armv7hl) work fine, as expected.
Edit: After having read about the subtle differences between the 3.1.0.12 and 3.1.0.11 targets, I retested building, now for 3.1.0.11, which also woks fine.

But it emits two compiler warnings. I will open a new issue for these (#231), because they appear when building for newer targets, too (IIRC; will check).

Thank you!

P.S.: Actually I do not understand the differences at the Sailfish SDK side for 3.0.2, for 3.0.3 and for 3.1.0. Also not when looking at the release notes for 3.0.2, for 3.0.3 and for 3.1.0 and changelogs for 3.0.2, for 3.0.3 and for 3.1.0.
Never mind, it is old stuff and SailfishOS 3.1.0 is also the oldest target ("Download on Demand (DoD) repository" for armv7hl and for i486) currently available at the SailfishOS-OBS!

@Olf0 Olf0 changed the title Source code and compilation issues Minimal supported SailfishOS release is 3.1.0 for Storeman 0.2.11 Mar 14, 2022
@Olf0 Olf0 closed this as completed Mar 14, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants