Bug 228733 - devel/sope3: missing -liconv dependency resulting in build fail in poudriere
Summary: devel/sope3: missing -liconv dependency resulting in build fail in poudriere
Status: Open
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: amd64 Any
: --- Affects Some People
Assignee: Jose Alonso Cardenas Marquez
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-06-04 04:30 UTC by Phillip R. Jaenke
Modified: 2019-02-11 19:44 UTC (History)
2 users (show)

See Also:
bugzilla: maintainer-feedback? (acm)


Attachments
Remove hard-coded libiconv references (571 bytes, patch)
2018-08-18 17:24 UTC, Kamigishi Rei
no flags Details | Diff
sogo3 build failure with sope3 build success (181.76 KB, text/plain)
2018-08-20 04:43 UTC, Phillip R. Jaenke
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
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 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!