Bug 206706

Summary: net-im/uTox update to 0.5.1.20160121 fail
Product: Ports & Packages Reporter: Ivan Rozhuk <rozhuk.im>
Component: Individual Port(s)Assignee: Dmitry Marakasov <amdmi3>
Status: Closed FIXED    
Severity: Affects Many People CC: fidaj, thierry
Priority: --- Flags: bugzilla: maintainer-feedback? (fidaj)
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
uTox.diff
none
uTox.diff
none
uTox.diff
none
uTox.diff none

Description Ivan Rozhuk 2016-01-28 10:03:22 UTC
Building for uTox-0.5.1.20160121
gmake[2]: Entering directory '/tmp/ports/usr/ports/net-im/uTox/work/uTox-b623d58'
Package libsodium was not found in the pkg-config search path.
Perhaps you should add the directory containing `libsodium.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libsodium', required by 'world', not found
Package libsodium was not found in the pkg-config search path.
Perhaps you should add the directory containing `libsodium.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libsodium', required by 'world', not found
Package libsodium was not found in the pkg-config search path.
Perhaps you should add the directory containing `libsodium.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libsodium', required by 'world', not found
  CC    src/roster.o
Package libsodium was not found in the pkg-config search path.
Perhaps you should add the directory containing `libsodium.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libsodium', required by 'world', not found
Package libsodium was not found in the pkg-config search path.
Perhaps you should add the directory containing `libsodium.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libsodium', required by 'world', not found
Package libsodium was not found in the pkg-config search path.
Perhaps you should add the directory containing `libsodium.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libsodium', required by 'world', not found
  CC    src/svg.o
Package libsodium was not found in the pkg-config search path.
Perhaps you should add the directory containing `libsodium.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libsodium', required by 'world', not found
Package libsodium was not found in the pkg-config search path.
Perhaps you should add the directory containing `libsodium.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libsodium', required by 'world', not found
Package libsodium was not found in the pkg-config search path.
Perhaps you should add the directory containing `libsodium.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libsodium', required by 'world', not found
  CC    src/scrollable.o
Package libsodium was not found in the pkg-config search path.
Perhaps you should add the directory containing `libsodium.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libsodium', required by 'world', not found
Package libsodium was not found in the pkg-config search path.
Perhaps you should add the directory containing `libsodium.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libsodium', required by 'world', not found
In file included from src/roster.c:1:
src/main.h:20:10: Package libsodium was not found in the pkg-config search path.
Perhaps you should add the directory containing `libsodium.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libsodium', required by 'world', not found
fatal error: 'tox/tox.h' file not found
#include <tox/tox.h>
         ^
Package libsodium was not found in the pkg-config search path.
Perhaps you should add the directory containing `libsodium.pc'
  CC    src/edit.o
to the PKG_CONFIG_PATH environment variable
Package 'libsodium', required by 'world', not found
In file included from src/svg.c:1:
src/main.h:20:10: fatal error: 'tox/tox.h' file not found
#include <tox/tox.h>
         ^
In file included from src/scrollable.c:1:
src/main.h:20:10: fatal error: 'tox/tox.h' file not found
#include <tox/tox.h>
         ^
In file included from src/edit.c:1:
src/main.h:20:10: fatal error: 'tox/tox.h' file not found
#include <tox/tox.h>
         ^
1 error generated.
Makefile:161: recipe for target 'src/roster.o' failed
gmake[2]: *** [src/roster.o] Error 1
gmake[2]: *** Waiting for unfinished jobs....
1 error generated.
Makefile:161: recipe for target 'src/scrollable.o' failed
gmake[2]: *** [src/scrollable.o] Error 1
1 error generated.
Makefile:161: recipe for target 'src/svg.o' failed
gmake[2]: *** [src/svg.o] Error 1
1 error generated.
Makefile:161: recipe for target 'src/edit.o' failed
gmake[2]: *** [src/edit.o] Error 1
gmake[2]: Leaving directory '/tmp/ports/usr/ports/net-im/uTox/work/uTox-b623d58'
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/net-im/uTox
*** Error code 1

Stop.
make: stopped in /usr/ports/net-im/uTox

===>>> make build failed for net-im/uTox
===>>> Aborting update

===>>> Update for net-im/uTox failed
===>>> Aborting update
Comment 1 Ivan Klymenko 2016-01-28 10:16:30 UTC
Please, use net-im/tox with default options.
Comment 2 Ivan Rozhuk 2016-01-28 12:06:01 UTC
Build with nacl-20110221_1 fail, with sodium - OK.
May be NaCl option should be removed?
Comment 3 Ivan Klymenko 2016-01-28 12:34:00 UTC
(In reply to rozhuk.im from comment #2)
This issue must be addressed to the port MAINTAINER=     thierry@FreeBSD.org
net-im/tox
Comment 4 Dmitry Marakasov freebsd_committer freebsd_triage 2016-01-28 14:33:55 UTC
Regardless of whether net-im/tox has problems, uTox port is missing sodium dependency. And it should be fixed to produce full log instead of meaningless "  CC    src/svg.o" lines.
Comment 5 Ivan Klymenko 2016-01-28 14:40:18 UTC
(In reply to Dmitry Marakasov from comment #4)
In any case, if net-im/tox built without SODIUM then net-im/uTox not build due to lack of libtoxav.
Comment 6 Dmitry Marakasov freebsd_committer freebsd_triage 2016-01-28 14:46:22 UTC
Yes. You can also add explicit check for that.
Comment 7 Ivan Klymenko 2016-01-28 14:52:36 UTC
Created attachment 166238 [details]
uTox.diff
Comment 8 Ivan Klymenko 2016-01-28 15:38:48 UTC
Created attachment 166243 [details]
uTox.diff
Comment 9 Ivan Klymenko 2016-01-28 15:39:08 UTC
(In reply to Dmitry Marakasov from comment #6)
Done.
Comment 10 Thierry Thomas freebsd_committer freebsd_triage 2016-01-28 17:52:41 UTC
(In reply to Ivan Klymenko from comment #9)

Should'nt you replace the BUILD_DEPENDS on libsodium.so by a LIB_DEPENDS?
Comment 11 Thierry Thomas freebsd_committer freebsd_triage 2016-01-28 17:55:21 UTC
(In reply to rozhuk.im from comment #2)

NaCl is fine for other Tox clients, only uTox encounter problem with it.
The proposed patch (attachment 166243 [details]) should fix it, and packaged are built with libsodium by default.
Comment 12 Ivan Klymenko 2016-01-28 18:04:15 UTC
Created attachment 166245 [details]
uTox.diff
Comment 13 Ivan Klymenko 2016-01-28 18:04:31 UTC
(In reply to Thierry Thomas from comment #10)
Done.
Comment 14 Ivan Klymenko 2016-02-03 08:11:05 UTC
Hey.
These changes are destined to fall into the ports tree?
Thanks.
Comment 15 Dmitry Marakasov freebsd_committer freebsd_triage 2016-02-09 11:30:38 UTC
The change is broken, have you tested it?
- bsd.port.mk vs. bsd.port.post.mk
- you cannot test for other ports' files before these ports are installed. You may test in pre-everything:: instead
Comment 16 Ivan Klymenko 2016-02-09 12:14:54 UTC
Created attachment 166797 [details]
uTox.diff

(In reply to Dmitry Marakasov from comment #15)

Of course I test locally before sending the patch.
Locally, the port build was held successfully and correctly.
Comment 17 Dmitry Marakasov freebsd_committer freebsd_triage 2016-02-09 20:19:17 UTC
(In reply to Ivan Klymenko from comment #16)

> Of course I test locally before sending the patch.
> Locally, the port build was held successfully and correctly.

The port which includes both bsd.port.pre.mk and bsd.port.mk (as opposed to bsd.port.post.mk) may not build, so it's clear that submission was not properly tested.

The patch is still incorrect. The point is that IGNORE operates at time of Makefile processing, while dependencies are installed after this phase, so it'll always be ignored on cluster and will fail for end users unless they manually install net-im/tox port first. Actually I was wrong, pre-everything is not the right place either, but pre-configure is.

Committing fixed version.
Comment 18 commit-hook freebsd_committer freebsd_triage 2016-02-09 20:19:45 UTC
A commit references this bug:

Author: amdmi3
Date: Tue Feb  9 20:19:07 UTC 2016
New revision: 408591
URL: https://svnweb.freebsd.org/changeset/ports/408591

Log:
  - Add missing sodium dependency
  - Add a check for that net-im/tox dependency was built with correct options

  PR:		206706
  Submitted by:	fidaj@ukr.net (maintainer)
  Reported by:	rozhuk.im@gmail.com

Changes:
  head/net-im/uTox/Makefile