Bug 257945 - deskutils/nextcloudclient: Update to 3.3.5, new WEBENGINE option, ghost argp dependency fix
Summary: deskutils/nextcloudclient: Update to 3.3.5, new WEBENGINE option, ghost argp ...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Michael Reifenberger
URL:
Keywords:
Depends on:
Blocks: 258969
  Show dependency treegraph
 
Reported: 2021-08-19 16:33 UTC by Guido Falsi
Modified: 2021-10-08 22:10 UTC (History)
4 users (show)

See Also:
bugzilla: maintainer-feedback? (mr)
madpilot: merge-quarterly+


Attachments
patch (2.48 KB, patch)
2021-08-19 16:33 UTC, Guido Falsi
no flags Details | Diff
build log with error (737.53 KB, text/plain)
2021-08-27 18:59 UTC, Vladimir Druzenko
no flags Details
3.3.3 update (976 bytes, patch)
2021-09-11 13:32 UTC, Guido Falsi
no flags Details | Diff
UPdate to 3.3.3 addinga WEBENGINE option. (2.28 KB, patch)
2021-09-20 17:40 UTC, Guido Falsi
no flags Details | Diff
Update to 3.3.4, WEBENGINE option, argp dependency fix (3.02 KB, patch)
2021-09-21 20:59 UTC, Guido Falsi
no flags Details | Diff
Update to 3.3.5, WEBENGINE option, argp dependency fix (3.02 KB, patch)
2021-09-30 14:16 UTC, Guido Falsi
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Guido Falsi freebsd_committer freebsd_triage 2021-08-19 16:33:47 UTC
Created attachment 227326 [details]
patch

Hi, I've tested updating to version 3.3.1.

I've tested in poudriere with all supported releases. I'm using it on head.


Please note that in poudriere with all testing features enabled I get the following error:

===========================================================================
=>> Checking for filesystem violations... done
=>> Error: Filesystem touched during build:
extra: var/db/fontconfig/80dd2d42f425b26d172d5a8554fff72b-le64.cache-7
extra: var/db/fontconfig/d37af3775064ff14b0024d8fdacd5027-le64.cache-7


This looks like a false positive to me, caused by some dependency running fc-cache on installation and leaving cache files behind. I'm almost sure this can be ignored.

Anyway I'm open to suggestions on how to avoid this in case there are any.
Comment 1 commit-hook freebsd_committer freebsd_triage 2021-08-26 19:31:28 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=2f5036bea78ea589989047b1055a7a3457ea5368

commit 2f5036bea78ea589989047b1055a7a3457ea5368
Author:     Guido Falsi <madpilot@FreeBSD.org>
AuthorDate: 2021-08-26 19:25:15 +0000
Commit:     Michael Reifenberger <mr@FreeBSD.org>
CommitDate: 2021-08-26 19:30:46 +0000

    deskutils/nextcloudclient: Update to 3.3.2

    The PR contains an update to 3.3.1 but 3.3.2 is out now.

    PR:             257945

 deskutils/nextcloudclient/Makefile                     |  2 +-
 deskutils/nextcloudclient/distinfo                     |  6 +++---
 .../files/patch-src_libsync_CMakeLists.txt (gone)      | 18 ------------------
 deskutils/nextcloudclient/pkg-plist                    |  1 +
 4 files changed, 5 insertions(+), 22 deletions(-)
Comment 2 Vladimir Druzenko freebsd_committer freebsd_triage 2021-08-27 18:59:17 UTC
Created attachment 227489 [details]
build log with error

(In reply to commit-hook from comment #1)
3.3.2 fails to build.
12.2 amd64.

[ 59%] Linking CXX executable ../bin/FolderManTest
cd /tmp/work/usr/ports/deskutils/nextcloudclient/work/.build/test && /usr/local/bin/cmake -E cmake_link_script CMakeFiles/FolderManTest.dir/link.txt --verbose=1
/usr/bin/c++ -O2 -pipe -march=core2 -DLIBICONV_PLUG -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing  -DLIBICONV_PLUG -isystem /usr/local/include -Wall -Wextra -pedantic -Wno-long-long -Wno-gnu-zero-variadic-macro-arguments -pedantic -O2 -pipe -march=core2 -DLIBICONV_PLUG -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing  -DLIBICONV_PLUG -isystem /usr/local/include   -fstack-protector-strong -L/usr/local/lib CMakeFiles/FolderManTest.dir/FolderManTest_autogen/mocs_compilation.cpp.o CMakeFiles/FolderManTest.dir/testfolderman.cpp.o -o ../bin/FolderManTest  -Wl,-rpath,/usr/local/lib/qt5:/tmp/work/usr/ports/deskutils/nextcloudclient/work/.build/src/libsync:/tmp/work/usr/ports/deskutils/nextcloudclient/work/.build/src/csync libtestutils.a ../src/gui/libnextcloudCore.a ../src/cmd/libcmdCore.a /usr/local/lib/qt5/libQt5Test.so.5.15.2 /usr/local/lib/qt5/libQt5Quick.so.5.15.2 -lnextcloudsync_vfs_xattr /usr/local/lib/qt5/libQt5Svg.so.5.15.2 /usr/local/lib/qt5/libQt5Xml.so.5.15.2 /usr/local/lib/qt5/libQt5QuickControls2.so.5.15.2 /usr/local/lib/qt5/libQt5WebEngineWidgets.so.5.15.2 /usr/local/lib/qt5/libQt5WebEngineCore.so.5.15.2 /usr/local/lib/qt5/libQt5Quick.so.5.15.2 /usr/local/lib/qt5/libQt5QmlModels.so.5.15.2 /usr/local/lib/qt5/libQt5WebChannel.so.5.15.2 /usr/local/lib/qt5/libQt5Qml.so.5.15.2 /usr/local/lib/qt5/libQt5Positioning.so.5.15.2 /usr/local/lib/qt5/libQt5PrintSupport.so.5.15.2 ../src/libsync/libnextcloudsync.so.3.3.2 /usr/lib/libssl.so /usr/lib/libcrypto.so /usr/local/lib/qt5/libQt5WebSockets.so.5.15.2 /usr/local/lib/qt5/libQt5Svg.so.5.15.2 /usr/local/lib/qt5/libQt5Widgets.so.5.15.2 /usr/local/lib/qt5/libQt5Gui.so.5.15.2 /usr/local/lib/libqt5keychain.so.0.12.0 /usr/local/lib/qt5/libQt5DBus.so.5.15.2 /usr/local/lib/libinotify.so ../src/csync/libnextcloud_csync.so.3.3.2 /usr/local/lib/libsqlite3.so /usr/local/lib/qt5/libQt5Concurrent.so.5.15.2 /usr/lib/libz.so /usr/local/lib/qt5/libQt5Network.so.5.15.2 /usr/local/lib/qt5/libQt5Core.so.5.15.2 /usr/local/lib/qt5/libQt5QmlModels.so.5.15.2 /usr/local/lib/qt5/libQt5Qml.so.5.15.2 /usr/local/lib/qt5/libQt5Network.so.5.15.2 /usr/local/lib/qt5/libQt5Gui.so.5.15.2 /usr/local/lib/qt5/libQt5Core.so.5.15.2
ld: error: unable to find library -lnextcloudsync_vfs_xattr
c++: error: linker command failed with exit code 1 (use -v to see invocation)
gmake[4]: *** [test/CMakeFiles/FolderManTest.dir/build.make:153: bin/FolderManTest] Error 1
gmake[4]: Leaving directory '/tmp/work/usr/ports/deskutils/nextcloudclient/work/.build'
gmake[3]: *** [CMakeFiles/Makefile2:2181: test/CMakeFiles/FolderManTest.dir/all] Error 2
gmake[3]: Leaving directory '/tmp/work/usr/ports/deskutils/nextcloudclient/work/.build'
gmake[2]: *** [Makefile:169: all] Error 2
gmake[2]: Leaving directory '/tmp/work/usr/ports/deskutils/nextcloudclient/work/.build'
*** Error code 1
Comment 3 Evilham 2021-09-07 16:02:25 UTC
I had to go back to 3.2.4 as 3.3.2 makes nextcloud unusable for me (not using KDE).

Looking at the logs, the lovely folks at Arch have already come across this issue: https://bugs.archlinux.org/task/71920

Please, do not publish 3.3.X to quarterly just yet as it looks like it introduced a bunch of login issues that are being ironed out.

Apparently several of these are fixed in 3.3.3.
Haven't had the chance to try building 3.3.3 since QT is a beast, but I think we can trust the GitHub issues and the Arch tracker on the resolution of the bugs being there :-)
Comment 4 tech-lists 2021-09-11 11:47:28 UTC
I'm affected by this too.

How can I revert to last working version? I use poudriere.
Comment 5 Guido Falsi freebsd_committer freebsd_triage 2021-09-11 13:32:18 UTC
Created attachment 227835 [details]
3.3.3 update

Updating to 3.3.3 from 3.3.2 is quite simple, no further changes required to the port.

I'm attaching a patch here.
Comment 6 Guido Falsi freebsd_committer freebsd_triage 2021-09-11 13:33:58 UTC
(In reply to tech-lists from comment #4)

To downgrade using poudriere you can simply grab the old port files from the git history (using git, or navigating in the history from github, for example) and then recompile and force a downgrade with "pkg -f"

You could also test my patch here, which could fix your issue.
Comment 7 tech-lists 2021-09-11 15:34:11 UTC
Hi,

I tried your patch (was it this one - https://bugs.freebsd.org/bugzilla/attachment.cgi?id=227835&action=edit as there are a couple of patches there)

If it was that one, unfortunately it didn't work. For as clean as possible 
environment, I did the following:

[a] rm -rf /usr/ports/desktop/nextcloudclient
[b] git -C /usr/ports pull --ff-only
[c] rm -rf /usr/ports/distfiles
[d] mkdir /usr/ports/distfiles
[e] cd /usr/ports/desktop/nextcloudclient
[f] make rmconfig && make rmconfig-recursive
[g] applied the patch, which applied cleanly

Trying to make the port the old fashioned way 

[h] make MAKE_JOBS_UNSAFE=yes

fails here:

==========

[ 59%] Linking CXX executable ../bin/FolderManTest
cd /usr/ports/deskutils/nextcloudclient/work/.build/test && /usr/local/bin/cmake -E cmake_link_script CMakeFiles/FolderManTest.dir/link.txt --verbose=1
/usr/local/libexec/ccache/c++ -O2 -pipe -march=haswell -DLIBICONV_PLUG -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing  -DLIBICONV_PLUG -isystem /usr/local/include -Wall -Wextra -pedantic -Wno-long
-long -Wno-gnu-zero-variadic-macro-arguments -pedantic -O2 -pipe -march=haswell -DLIBICONV_PLUG -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing  -DLIBICONV_PLUG -isystem /usr/local/include   -fstac
k-protector-strong -L/usr/local/lib CMakeFiles/FolderManTest.dir/FolderManTest_autogen/mocs_compilation.cpp.o CMakeFiles/FolderManTest.dir/testfolderman.cpp.o -o ../bin/FolderManTest  -Wl,-rpath,/usr/local/lib/qt5:/usr/port
s/deskutils/nextcloudclient/work/.build/src/libsync:/usr/ports/deskutils/nextcloudclient/work/.build/src/csync libtestutils.a ../src/gui/libnextcloudCore.a ../src/cmd/libcmdCore.a /usr/local/lib/qt5/libQt5Test.so.5.15.2 /us
r/local/lib/qt5/libQt5Quick.so.5.15.2 -lnextcloudsync_vfs_xattr /usr/local/lib/qt5/libQt5Svg.so.5.15.2 /usr/local/lib/qt5/libQt5Xml.so.5.15.2 /usr/local/lib/qt5/libQt5QuickControls2.so.5.15.2 /usr/local/lib/qt5/libQt5WebEng
ineWidgets.so.5.15.2 /usr/local/lib/qt5/libQt5WebEngineCore.so.5.15.2 /usr/local/lib/qt5/libQt5Quick.so.5.15.2 /usr/local/lib/qt5/libQt5QmlModels.so.5.15.2 /usr/local/lib/qt5/libQt5WebChannel.so.5.15.2 /usr/local/lib/qt5/li
bQt5Qml.so.5.15.2 /usr/local/lib/qt5/libQt5Positioning.so.5.15.2 /usr/local/lib/qt5/libQt5PrintSupport.so.5.15.2 ../src/libsync/libnextcloudsync.so.3.3.3 /usr/lib/libssl.so /usr/lib/libcrypto.so /usr/local/lib/qt5/libQt5Web
Sockets.so.5.15.2 /usr/local/lib/qt5/libQt5Svg.so.5.15.2 /usr/local/lib/qt5/libQt5Widgets.so.5.15.2 /usr/local/lib/qt5/libQt5Gui.so.5.15.2 /usr/local/lib/libqt5keychain.so.0.12.0 /usr/local/lib/qt5/libQt5DBus.so.5.15.2 /usr
/local/lib/libinotify.so ../src/csync/libnextcloud_csync.so.3.3.3 /usr/local/lib/libsqlite3.so /usr/local/lib/qt5/libQt5Concurrent.so.5.15.2 /usr/lib/libz.so /usr/local/lib/qt5/libQt5Network.so.5.15.2 /usr/local/lib/qt5/lib
Qt5Core.so.5.15.2 /usr/local/lib/qt5/libQt5QmlModels.so.5.15.2 /usr/local/lib/qt5/libQt5Qml.so.5.15.2 /usr/local/lib/qt5/libQt5Network.so.5.15.2 /usr/local/lib/qt5/libQt5Gui.so.5.15.2 /usr/local/lib/qt5/libQt5Core.so.5.15.2
 
ld: error: unable to find library -lnextcloudsync_vfs_xattr
c++: error: linker command failed with exit code 1 (use -v to see invocation)
gmake[4]: *** [test/CMakeFiles/FolderManTest.dir/build.make:153: bin/FolderManTest] Error 1
gmake[4]: Leaving directory '/usr/ports/deskutils/nextcloudclient/work/.build'
gmake[3]: *** [CMakeFiles/Makefile2:2100: test/CMakeFiles/FolderManTest.dir/all] Error 2
gmake[3]: Leaving directory '/usr/ports/deskutils/nextcloudclient/work/.build'
gmake[2]: *** [Makefile:169: all] Error 2
gmake[2]: Leaving directory '/usr/ports/deskutils/nextcloudclient/work/.build'
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/deskutils/nextcloudclient
*** Error code 1

================

It also fails using poudriere testport, with the patch applied to the poudriere default tree (freshened at approx 1615 UTC+1 today):

# poudriere testport -j desktop -I deskutils/nextcloudclient

[00:02:39] cd /wrkdirs/usr/ports/deskutils/nextcloudclient/work/.build/src/gui && /usr/local/bin/cmake -E cmake_link_script CMakeFiles/nextcloud.dir/link.txt --verbose=1
[00:02:39] /ccache/libexec/ccache/c++ -O2 -pipe -march=haswell -DLIBICONV_PLUG -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing  -DLIBICONV_PLUG -isystem /usr/local/include -Wall -Wextra -pedantic -
Wno-long-long -Wno-gnu-zero-variadic-macro-arguments -pedantic -fstack-protector-strong -D_FORTIFY_SOURCE=2 -fPIE -O2 -pipe -march=haswell -DLIBICONV_PLUG -fstack-protector-strong -isystem /usr/local/include -fno-strict-ali
asing  -DLIBICONV_PLUG -isystem /usr/local/include   -fstack-protector-strong -L/usr/local/lib -Wl,-z,relro -Wl,-z,now -pie -L/usr/local/lib CMakeFiles/nextcloud.dir/main.cpp.o -o ../../bin/nextcloud  -Wl,-rpath,/usr/local/
lib/qt5:/wrkdirs/usr/ports/deskutils/nextcloudclient/work/.build/src/libsync:/wrkdirs/usr/ports/deskutils/nextcloudclient/work/.build/src/csync: libnextcloudCore.a /usr/local/lib/qt5/libQt5Svg.so.5.15.2 /usr/local/lib/qt5/l
ibQt5Xml.so.5.15.2 /usr/local/lib/qt5/libQt5QuickControls2.so.5.15.2 ../libsync/libnextcloudsync.so.3.3.3 ../csync/libnextcloud_csync.so.3.3.3 /usr/local/lib/libsqlite3.so /usr/local/lib/qt5/libQt5Concurrent.so.5.15.2 /usr/
lib/libz.so /usr/lib/libssl.so /usr/lib/libcrypto.so /usr/local/lib/qt5/libQt5WebSockets.so.5.15.2 /usr/local/lib/qt5/libQt5Svg.so.5.15.2 /usr/local/lib/libqt5keychain.so.0.12.0 /usr/local/lib/libinotify.so /usr/local/lib/q
t5/libQt5WebEngineWidgets.so.5.15.2 /usr/local/lib/qt5/libQt5WebEngineCore.so.5.15.2 /usr/local/lib/qt5/libQt5Quick.so.5.15.2 /usr/local/lib/qt5/libQt5QmlModels.so.5.15.2 /usr/local/lib/qt5/libQt5WebChannel.so.5.15.2 /usr/l
ocal/lib/qt5/libQt5Qml.so.5.15.2 /usr/local/lib/qt5/libQt5Network.so.5.15.2 /usr/local/lib/qt5/libQt5Positioning.so.5.15.2 /usr/local/lib/qt5/libQt5PrintSupport.so.5.15.2 /usr/local/lib/qt5/libQt5Widgets.so.5.15.2 /usr/loca
l/lib/qt5/libQt5Gui.so.5.15.2 /usr/local/lib/qt5/libQt5DBus.so.5.15.2 /usr/local/lib/qt5/libQt5Core.so.5.15.2 
[00:02:39] gmake[3]: Leaving directory '/wrkdirs/usr/ports/deskutils/nextcloudclient/work/.build'
[00:02:39] [100%] Built target nextcloud
[00:02:39] gmake[2]: Leaving directory '/wrkdirs/usr/ports/deskutils/nextcloudclient/work/.build'
[00:02:39] /usr/local/bin/cmake -E cmake_progress_start /wrkdirs/usr/ports/deskutils/nextcloudclient/work/.build/CMakeFiles 0
[00:02:39] gmake[1]: Leaving directory '/wrkdirs/usr/ports/deskutils/nextcloudclient/work/.build'
[00:02:39] ===========================================================================
[00:02:39] =>> Checking for filesystem violations... done
[00:02:40] =>> Error: Filesystem touched during build:
[00:02:40] extra: var/db/fontconfig/d37af3775064ff14b0024d8fdacd5027-le64.cache-7
[00:02:40] extra: var/db/fontconfig/80dd2d42f425b26d172d5a8554fff72b-le64.cache-7
=======================<phase: Interactive    >============================
[00:02:41] Installing packages
[00:02:41] Installing run-depends for deskutils/nextcloudclient | nextcloudclient-3.3.3
===>   nextcloudclient-3.3.3 depends on executable: update-desktop-database - found
===>   nextcloudclient-3.3.3 depends on executable: gtk-update-icon-cache - found
===>   nextcloudclient-3.3.3 depends on executable: update-mime-database - found
===>   nextcloudclient-3.3.3 depends on file: /usr/local/lib/qt5/qml/QtGraphicalEffects/qmldir - found
[00:02:41] Installing deskutils/nextcloudclient | nextcloudclient-3.3.3
pkg-static: /tmp/pkgs/nextcloudclient-3.3.3.pkg: No such file or directory
pkg-static: Was 'pkg install /tmp/pkgs/nextcloudclient-3.3.3.pkg' meant?

Failed to install the following 1 package(s): /tmp/pkgs/nextcloudclient-3.3.3.pkg
*** Error code 1

Full testport build log is available here:
https://cloud.zyxst.net/~john/FreeBSD/ports/nextcloudclient/nextcloudclient-3.3.3.log
Comment 8 Guido Falsi freebsd_committer freebsd_triage 2021-09-11 15:45:14 UTC
(In reply to tech-lists from comment #7)

Sorry my update is not addressing that.

You're building on a live machine, while I'm building in poudriere, looks like your machine has some other package installed which is autodetected by nextcloudclient configuration script and enables some feature the port is not addressing.

Please post the full log, Maybe some insight can be extracted from there.
Comment 9 Guido Falsi freebsd_committer freebsd_triage 2021-09-11 16:03:21 UTC
(In reply to tech-lists from comment #7)

You're building the tests, which is not what the port does by default.


Do you happen to have the DEBUG option selected or WITH_DEBUG defined?

Could you try disabling that? I suspect that is triggering the build of the tests, which I have never tried.
Comment 10 tech-lists 2021-09-11 16:09:27 UTC
(In reply to Guido Falsi from comment #9)

(building tests)

I'm not deliberately setting that. I'll check all make.conf though, see if it's set there.

Were you able to see the full poudriere testport log at https://cloud.zyxst.net/~john/FreeBSD/ports/nextcloudclient/nextcloudclient-3.3.3.log ?
Comment 11 Guido Falsi freebsd_committer freebsd_triage 2021-09-11 16:18:10 UTC
(In reply to tech-lists from comment #10)

I do see the log at the url you give, but that log has no sign of the -lnextcloudsync_vfs_xattr error you report, in fact that looks like a successful build log.

Also that one is a log from poudriere, but in comment #7 it looks like you state you are building from ports on the machine itself, without using poudriere, that's not the same thing.

Anyway you can try adding "-DBUILD_TESTING=OFF" to the CMAKE_ARGS port variable to forcibly disable tests. Maybe it can fix it for you, but this really looks like a local issue in your system.
Comment 12 tech-lists 2021-09-11 16:36:45 UTC
(In reply to Guido Falsi from comment #11)

I did both - build on live machine and build with poudriere testport. I'm sorry for creating confusion. On reflection maybe I should have made separate comments.

The error mentioning -lnextcloudsync_vfs_xattr is from the live machine. I thought I was clear in the following part of the comment (in comment #7 after the above error,) like this:

[snip]
================

> It also fails using poudriere testport, with the patch applied to the 
> poudriere default tree (freshened at approx 1615 UTC+1 today):

> # poudriere testport -j desktop -I deskutils/nextcloudclient

[...]

...that the rest of the text referred to poudriere testport

The posted log is from poudriere testport.

I'll try next on the live system to build with what you suggest 
["-DBUILD_TESTING=OFF"]
Comment 13 Guido Falsi freebsd_committer freebsd_triage 2021-09-11 16:52:56 UTC
(In reply to tech-lists from comment #12)

No problem, anyway the port works in poudriere, and I'm reasonably sure the problem you are seeing in the live machine is due to DEBUG option or WITH_DEBUG being defined. The change I suggested could help and maybe should go in the main port (the maintainer has the last word on this).

The problem you see in testport is due to this:

[00:02:39] =>> Checking for filesystem violations... done
[00:02:40] =>> Error: Filesystem touched during build:
[00:02:40] extra: var/db/fontconfig/d37af3775064ff14b0024d8fdacd5027-le64.cache-7
[00:02:40] extra: var/db/fontconfig/80dd2d42f425b26d172d5a8554fff72b-le64.cache-7


those two files are false positives and poudriere should ignore them, they are cache files left behind by fontconfig, which is run by some dependency.
Comment 14 Guido Falsi freebsd_committer freebsd_triage 2021-09-11 16:56:12 UTC
(In reply to Guido Falsi from comment #13)

For further help with the issues on the live machine you should post the full log of the failing build on the live machine.
Comment 15 tech-lists 2021-09-11 17:22:40 UTC
(In reply to Guido Falsi from comment #13)

Unfortunately -DBUILD_TESTING=OFF had no effect (still seemed to build tests) and debug is turned off on the live machine's make.conf

Using poudriere bulk, it fails at the patch phase. I'm wondering if there's an issue with that actual jail or its ports tree. No options are defined for the port at all, so it'll be at whatever default there is.

I'm making a brand new poudriere jail and brand new poudriere tree and will try to build the port directly. no jail make.conf, no options set.

I'll post results here
Comment 16 tech-lists 2021-09-11 17:23:30 UTC
(In reply to Guido Falsi from comment #14)

Thanks, I'll do that if the build in the new jail fails
Comment 17 tech-lists 2021-09-13 01:29:58 UTC
(In reply to Guido Falsi from comment #14)

Hi,

It built in the test poudriere jail fine - just invoking it like this:
# poudriere bulk -j test-nextcloudclient -p test deskutils/nextcloudclient

It also built in the poudriere desktop fine like this:
# poudriere bulk -j desktop -p default deskutils/nextcloudclient

I deleted and re-fetched both ports trees. Also, with the original poudriere's make.conf. maybe the previous non-building issue was down to something in the ports tree it used? i dunno

In both cases this built 3.3.2 which for me (wouldn't complete the login) was the original issue.

Applied https://bugs.freebsd.org/bugzilla/attachment.cgi?id=227835&action=diff and it built, installed OK and now it logs in normally.

Many thanks for this.
Comment 18 Piotr Kubaj freebsd_committer freebsd_triage 2021-09-19 21:20:59 UTC
3.3.3 made webengine optional. Could you add webengine to dependencies only where it's actually available, to fix build on other architectures?
Comment 19 Guido Falsi freebsd_committer freebsd_triage 2021-09-20 17:40:21 UTC
Created attachment 228057 [details]
UPdate to 3.3.3 addinga WEBENGINE option.

(In reply to Piotr Kubaj from comment #18)

I agree it's a good idea.

Unluckily the build system does not provide a switch for it, but only checks for the library presence.

I have updated my patch to leverage that though, and it is working As far as I can see.

Not sure what the upstream support for this is actually.

I enabled the option by default globally, if you know for sure the architecture where it should be disabled or unavailable feel free to update my patch.
Comment 20 Vladimir Druzenko freebsd_committer freebsd_triage 2021-09-20 18:45:19 UTC
> Unluckily the build system does not provide a switch for it, but only checks for the library presence.
There is one more "silent grab dependency": https://github.com/nextcloud/desktop/issues/3200
Can anybody fix this too?
Comment 21 Guido Falsi freebsd_committer freebsd_triage 2021-09-20 21:41:21 UTC
(In reply to VVD from comment #20)

I've had a look but I'm unsure what is happening here.

Looking at the code it looks like argp is not really used, and there is only some lingering code in the tests.

Not sure how to address this. Maybe simply removing the check is the way to go.

I'm open to suggestions.
Comment 22 Piotr Kubaj freebsd_committer freebsd_triage 2021-09-21 01:08:22 UTC
(In reply to Guido Falsi from comment #19)
Webengine is only available for aarch64, amd64 and i386 and as such, this option should be enabled only for those architectures.
Comment 23 Guido Falsi freebsd_committer freebsd_triage 2021-09-21 20:59:34 UTC
Created attachment 228107 [details]
Update to 3.3.4, WEBENGINE option, argp dependency fix

New patch:

- Update to new 3.3.4 upstream version
- Make the new WEBENGINE option default only on amd64, i386 and arch64
- Remove cmake test for argp include, it's not actually used in the code.
Comment 24 Vladimir Druzenko freebsd_committer freebsd_triage 2021-09-21 21:28:10 UTC
(In reply to Guido Falsi from comment #23)
Thanks!
Posted patch for argp to upstream.
Comment 25 Guido Falsi freebsd_committer freebsd_triage 2021-09-21 21:38:15 UTC
(In reply to VVD from comment #24)
Actually my patch is ok for the ports tree, it gets the needed effect, but to be upstreamed you should also cleanup other places to really not leave any remains of argp around.

in the test/csync directory there is some code still referencing argp, it will not be compiled if argp is not found, because it is excluded via prerocessor directives, but it should really be removed.

Also there is another file I can't remember right now where and argp reference should be removed.

I'll try to cook a more complete patch in a pull request upstream.
Comment 26 Guido Falsi freebsd_committer freebsd_triage 2021-09-23 16:46:58 UTC
Filed a fix upstream for the argp issue.

But in the port I'd keep the removal of the check.

glibc argp is only used in a test, so there is no need to activate that code for the port, which would create a ghost dependency on argp is present.

Adding an option for argp has no purposes since that code is not included in the installed program.

So the last patch I uploaded is still correct for the ports tree.

Added a reference to the upstream pull request in see also.
Comment 27 Guido Falsi freebsd_committer freebsd_triage 2021-09-30 14:16:41 UTC
Created attachment 228286 [details]
Update to 3.3.5, WEBENGINE option, argp dependency fix

New upstream release, updated patch attached.

I'm using this locally and it works fine.
Comment 28 tech-lists 2021-10-07 01:56:09 UTC
(In reply to Guido Falsi from comment #27)

Hi,

Applied the latest patch, seems to build and run fine

thanks
Comment 29 commit-hook freebsd_committer freebsd_triage 2021-10-07 20:23:03 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=620bc0a83dc9d36b1c43ff434da9d66603f34942

commit 620bc0a83dc9d36b1c43ff434da9d66603f34942
Author:     Guido Falsi <madpilot@FreeBSD.org>
AuthorDate: 2021-10-07 20:20:48 +0000
Commit:     Guido Falsi <madpilot@FreeBSD.org>
CommitDate: 2021-10-07 20:20:48 +0000

    deskutils/nextcloudclient: Update to 3.3.5

    Add a WEBENGINE option (on by default) to disable webengine dependency
    and usage.

    This update contains a fix for a regression causing authentication
    issues with 3.3.2 and a fix for a ghost dependency on libargp if
    present at build time.

    PR:             257945
    Approved by:    maintainer timeout, fixit blanket
    MFH:            2021Q4

 deskutils/nextcloudclient/Makefile                      | 17 ++++++++++++++---
 deskutils/nextcloudclient/distinfo                      |  6 +++---
 .../files/patch-src_csync_ConfigureChecks.cmake (new)   | 12 ++++++++++++
 3 files changed, 29 insertions(+), 6 deletions(-)
Comment 30 commit-hook freebsd_committer freebsd_triage 2021-10-07 20:23:04 UTC
A commit in branch 2021Q4 references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=4f1fb2e1b23346894fdc2c8ce1e623ab7e4d1510

commit 4f1fb2e1b23346894fdc2c8ce1e623ab7e4d1510
Author:     Guido Falsi <madpilot@FreeBSD.org>
AuthorDate: 2021-10-07 20:20:48 +0000
Commit:     Guido Falsi <madpilot@FreeBSD.org>
CommitDate: 2021-10-07 20:22:33 +0000

    deskutils/nextcloudclient: Update to 3.3.5

    Add a WEBENGINE option (on by default) to disable webengine dependency
    and usage.

    This update contains a fix for a regression causing authentication
    issues with 3.3.2 and a fix for a ghost dependency on libargp if
    present at build time.

    PR:             257945
    Approved by:    maintainer timeout, fixit blanket
    MFH:            2021Q4

    (cherry picked from commit 620bc0a83dc9d36b1c43ff434da9d66603f34942)

 deskutils/nextcloudclient/Makefile                      | 17 ++++++++++++++---
 deskutils/nextcloudclient/distinfo                      |  6 +++---
 .../files/patch-src_csync_ConfigureChecks.cmake (new)   | 12 ++++++++++++
 3 files changed, 29 insertions(+), 6 deletions(-)
Comment 31 Guido Falsi freebsd_committer freebsd_triage 2021-10-07 20:25:20 UTC
Update committed and merged to quarterly.
Comment 32 Vladimir Druzenko freebsd_committer freebsd_triage 2021-10-08 11:39:52 UTC
"ld: error: unable to find library -lnextcloudsync_vfs_xattr" is still here.
Comment 33 Guido Falsi freebsd_committer freebsd_triage 2021-10-08 14:25:36 UTC
(In reply to VVD from comment #32)

> "ld: error: unable to find library -lnextcloudsync_vfs_xattr" is still here.

This is unrelated to the update, the update has nothing in it to fix this issue.

Please file a separate bug report about this. Don't followup to closed bug reports.

Please include a full build log with description of the build environment.

As I stated in comment #10 this is caused by trying to build with testing enabled, something the port is not doing by default.

Your environment is somehow enabling this, not sure why. Your own build in poudriere does not show that behaviour (as noticed in comment #11

Have you tested the suggestion there (comment #11, add "CMAKE_ARGS+= -DBUILD_TESTING=OFF")? What was the outcome?

The issue is happening only when you build on the live machine, so it is possible it is a local issue.
Comment 34 Vladimir Druzenko freebsd_committer freebsd_triage 2021-10-08 17:07:00 UTC
(In reply to Guido Falsi from comment #33)
It isn't on my 2 environments only:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=258119

Full build log is here: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=257945#c2

CMAKE_ARGS+=-DBUILD_TESTING=OFF
Fixed build.
Thanks.
Comment 35 Guido Falsi freebsd_committer freebsd_triage 2021-10-08 21:45:42 UTC
(In reply to VVD from comment #34)

While I agree that most probably nothing important changed, the build log you provided was obtained compiling the old release.

Anyway, that log and the fact that unconditionally setting BUILD_TESTING=OFF confirm that something on your system is causing the port to build with tests, this is a local issue on your system I cannot help you with. You should check your configuration. Verify you don't have the DEBUG option enabled somewhere or set in make.conf. Not sure what else could be.

At the same time I noticed the missing library is build only on linux, but, when building with testing, expected in all unices. This is clearly wrong.

PLEASE file a new bug where I can followup with patches for this issue, which has nothing to do with this bug report.

I'm not going to post unrelated patches to this bug, if you want help open a proper one, you can add me to CC there.
Comment 36 Guido Falsi freebsd_committer freebsd_triage 2021-10-08 22:03:20 UTC
(In reply to VVD from comment #34)

Just noticed, maybe you have CMAKE_TESTING_ON defined somewhere in your environment?
Comment 37 Vladimir Druzenko freebsd_committer freebsd_triage 2021-10-08 22:10:15 UTC
(In reply to Guido Falsi from comment #35)
As I said before 2 times this bug is the same on 2 separate my hosts.
And there is closed pr https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=258119 with link on this pr:
> Seems to already be handled by bug #257945.
> Closing this one.

So it isn't just my environment.

No CMAKE_TESTING_ON, no DEBUG options.