Bug 228733

Summary: devel/sope3: missing -liconv dependency resulting in build fail in poudriere
Product: Ports & Packages Reporter: Phillip R. Jaenke <prj>
Component: Individual Port(s)Assignee: Jose Alonso Cardenas Marquez <acm>
Status: Closed Not Enough Information    
Severity: Affects Some People CC: spambox, w.schwarzenfeld
Priority: --- Flags: bugzilla: maintainer-feedback? (acm)
Version: Latest   
Hardware: amd64   
OS: Any   
Attachments:
Description Flags
Remove hard-coded libiconv references
none
sogo3 build failure with sope3 build success none

Description Phillip R. Jaenke 2018-06-04 04:30:58 UTC
Relevant bits of log:

---Begin OPTIONS List---
===> The following configuration options are available for sope3-3.2.10_2:
     LDAP=on: Build with LDAP support
     MEMCACHED=on: Install memcached
     MYSQL=off: Build with MySQL support
     PGSQL=on: Build with PostgreSQL support
===> Use 'make config' to modify these settings
---End OPTIONS List---

cc -shared -Wl,-soname,libNGExtensions.so.4.9    -L/usr/local/lib -L/usr/local/lib -fstack-protector -rdynamic -rdynamic -rdynamic -rdynamic -rdynamic  -rdynamic     -L/usr/local/lib -fstack-protector  -pthread  -fexceptions -o ./obj/libNGExtensions.so.4.9.203 obj/libNGExtensions.obj/NGExtensions.m.o obj/libNGExtensions.obj/NGBase64Coding.m.o obj/libNGExtensions.obj/NGBitSet.m.o obj/libNGExtensions.obj/NGBundleManager.m.o obj/libNGExtensions.obj/NGCustomFileManager.m.o obj/libNGExtensions.obj/NGDirectoryEnumerator.m.o obj/libNGExtensions.obj/NGFileFolderInfoDataSource.m.o obj/libNGExtensions.obj/NGFileManager.m.o obj/libNGExtensions.obj/NGFileManager+JS.m.o obj/libNGExtensions.obj/NGFileManagerURL.m.o obj/libNGExtensions.obj/NGHashMap.m.o obj/libNGExtensions.obj/NGMerging.m.o obj/libNGExtensions.obj/NGQuotedPrintableCoding.m.o obj/libNGExtensions.obj/NGStack.m.o obj/libNGExtensions.obj/NGCalendarDateRange.m.o obj/libNGExtensions.obj/NGResourceLocator.m.o FdExt.subproj/obj/subproject.o EOExt.subproj/obj/subproject.o XmlExt.subproj/obj/subproject.o NGRuleEngine.subproj/obj/subproject.o NGLogging.subproj/obj/subproject.o      -L././obj -L../../sope-xml/SaxObjC/./obj -L../../sope-xml/DOM/./obj -L../../sope-xml/XmlRpc/./obj  -L./../EOControl/obj  -L./../../sope-xml/DOM/obj  -L./../../sope-xml/SaxObjC/obj  -L././obj -L../../sope-xml/SaxObjC/./obj -L../../sope-xml/DOM/./obj -L../../sope-xml/XmlRpc/./obj  -L./../EOControl/obj  -L./../../sope-xml/DOM/obj  -L./../../sope-xml/SaxObjC/obj  -L././obj -L../../sope-xml/SaxObjC/./obj -L../../sope-xml/DOM/./obj -L../../sope-xml/XmlRpc/./obj  -L./../EOControl/obj  -L./../../sope-xml/DOM/obj  -L./../../sope-xml/SaxObjC/obj -L/usr/local/lib  -L././obj -L../../sope-xml/SaxObjC/./obj -L../../sope-xml/DOM/./obj -L../../sope-xml/XmlRpc/./obj  -L./../EOControl/obj  -L./../../sope-xml/DOM/obj  -L./../../sope-xml/SaxObjC/obj -L/usr/local/lib   -L/wrkdirs/usr/ports/devel/sope3/work/GNUstep/Library/Libraries -L/usr/local/GNUstep/Local/Library/Libraries -L/usr/local/GNUstep/System/Library/Libraries  -L/usr/local/lib -L/usr/local/lib -L/usr/lib -lEOControl -lDOM -lSaxObjC -lz -rdynamic -L/usr/local/lib -fstack-protector -pthread -fexceptions -fobjc-runtime=gnustep-1.8 -fblocks -L/root/GNUstep/Library/Libraries -L/usr/local/GNUstep/Local/Library/Libraries -L/usr/local/GNUstep/System/Library/Libraries -L/usr/local/lib -lgnustep-base -lobjc -fobjc-nonfragile-abi -lm -liconv  && (cd ./obj; rm -f libNGExtensions.so; if [ "libNGExtensions.so.4.9" != "libNGExtensions.so.4.9.203" ]; then rm -f libNGExtensions.so.4.9; ln -s libNGExtensions.so.4.9.203 libNGExtensions.so.4.9; fi; ln -s libNGExtensions.so.4.9 libNGExtensions.so)
/usr/bin/ld: cannot find -liconv
cc: error: linker command failed with exit code 1 (use -v to see invocation)
gmake[6]: *** [/usr/local/GNUstep/System/Library/Makefiles/Instance/library.make:293: obj/libNGExtensions.so.4.9.203] Error 1
gmake[5]: *** [/usr/local/GNUstep/System/Library/Makefiles/Instance/library.make:278: internal-library-all_] Error 2
gmake[4]: *** [/usr/local/GNUstep/System/Library/Makefiles/Master/rules.make:297: libNGExtensions.all.library.variables] Error 2
gmake[3]: *** [/usr/local/GNUstep/System/Library/Makefiles/Master/library.make:37: internal-all] Error 2
gmake[3]: Leaving directory '/wrkdirs/usr/ports/devel/sope3/work/SOPE/sope-core/NGExtensions'
gmake[2]: *** [/usr/local/GNUstep/System/Library/Makefiles/Master/serial-subdirectories.make:53: internal-all] Error 2
gmake[2]: Leaving directory '/wrkdirs/usr/ports/devel/sope3/work/SOPE/sope-core'
gmake[1]: *** [/usr/local/GNUstep/System/Library/Makefiles/Master/serial-subdirectories.make:53: internal-all] Error 2
gmake[1]: Leaving directory '/wrkdirs/usr/ports/devel/sope3/work/SOPE'
*** Error code 1

Problem appears to be not properly including or properly linking iconv. I'm not sure how to fix this one and it has been around for several months now.
Comment 1 Jose Alonso Cardenas Marquez freebsd_committer freebsd_triage 2018-07-19 16:29:46 UTC
Hi, I can't reproduce the problem (poudriere and 11.2-amd64-jail)

directory '/wrkdirs/usr/ports/devel/sope3/work/SOPE'
====> Compressing man pages (compress-man)
===>   Installing ldconfig configuration file
===========================================================================
=======================<phase: package        >============================
===>  Building package for sope3-3.2.10_2
===========================================================================
=>> Cleaning up wrkdir
===>  Cleaning for sope3-3.2.10_2
build of devel/sope3 | sope3-3.2.10_2 ended at Thu Jul 19 11:24:46 PET 2018
build time: 00:04:01

I close this PR
Comment 2 Kamigishi Rei 2018-08-18 17:23:45 UTC
I just hit this as well.

It tries to use -liconv when iconv is in libc.

Attaching a patch that solves the problem by removing hard-coded -liconv references during the post-patch phase.
Comment 3 Kamigishi Rei 2018-08-18 17:24:11 UTC
Created attachment 196325 [details]
Remove hard-coded libiconv references
Comment 4 Phillip R. Jaenke 2018-08-20 04:41:59 UTC
Reopening as commits have not fully resolved the problems here. acm@ - please commit Kamigishi Rei's patches ASAP as fully working. sope3 builds with these, no problems.

However, dependent child sogo3 develops new failures as a result. Log from sogo3 is attached.
Comment 5 Phillip R. Jaenke 2018-08-20 04:43:11 UTC
Created attachment 196371 [details]
sogo3 build failure with sope3 build success

New errors in sogo3 (dependent port) after fixing sope3 port builds.
Comment 6 Kamigishi Rei 2018-08-20 09:46:27 UTC
(In reply to Phillip R. Jaenke from comment #4)
Have you made sure that sope3 is built with LDAP support? It is a build option. In my case with sope3 patched, sogo3 builds fine and the missing header file is present in pkg info -l sope3 output:

        /usr/local/GNUstep/Local/Library/Headers/NGLdap/NGLdapConnection.h

sogo:~ # pkg info sope3
sope3-3.2.10_2
Name           : sope3
Version        : 3.2.10_2
Installed on   : Mon Aug 20 18:38:14 2018 JST
Options        :
        LDAP           : on
        MEMCACHED      : on
        MYSQL          : off
        PGSQL          : on

Built using poudriere: 
https://poudriere.koumakan.jp/data/11amd64-default/2018-08-19_02h17m25s/logs/sope3-3.2.10_2.log
https://poudriere.koumakan.jp/data/11amd64-default/2018-08-19_02h17m25s/logs/sogo3-3.2.10_3.log
Comment 7 Walter Schwarzenfeld freebsd_triage 2019-02-11 19:44:46 UTC
Reporter feedback please!
Comment 8 Jose Alonso Cardenas Marquez freebsd_committer freebsd_triage 2019-12-29 21:00:07 UTC
- I can't reproduce this problem. I'm closing this PR. Sogo 3 will be marked like deprecated (SOGo project deprecated this version). Please, update to sogo4 (4.2.0)