Re: Port compilation fails on HEAD. works on 9 and 10 STABLE

From: Kevin Oberman <rkoberman_at_gmail.com>
Date: Wed, 23 Sep 2015 22:18:50 -0700
On Wed, Sep 23, 2015 at 1:39 PM, Kurt Jaeger <lists_at_opsec.eu> wrote:

> Hi!
>
> > > Try dropping the attached patch in net/mediatomb/files.  I submitted it
> > > in March, in PR198436:
> > >
> > > https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=198436
> >
> > Eh, now with an actual patch. :)
>
> Thanks, helps to build it. Still fails on 9.3a, but I *have* to go
> to bed now.
>
> --
> pi_at_opsec.eu            +49 171 3101372                         5 years to
> go !
>

Hmm. Looks like something is going wrong with Mk/Uses/iconv.  The failing
test for iconv builds without -liconv.

Now it's time for me to get some sleep. Here is the relevant section of the
log:
configure:8520: checking iconv.h usability
configure:8537: cc -c -O2 -pipe -fstack-protector -fno-strict-aliasing
-I/usr/local/include conftest.c >&5
configure:8544: $? = 0
configure:8558: result: yes
configure:8562: checking iconv.h presence
configure:8577: cpp -I/usr/local/include conftest.c
configure:8584: $? = 0
configure:8598: result: yes
configure:8631: checking for iconv.h
configure:8638: result: yes
configure:9290: checking for iconv
configure:9346: cc -o conftest -O2 -pipe -fstack-protector
-fno-strict-aliasing -I/usr/local/include  -lpthread -fstack-protector
conftest.c  >&5
/tmp/ccLEMR46.o: In function `main':
conftest.c:(.text+0x7): undefined reference to `iconv'
configure:9353: $? = 1
configure: failed program was:
| /* confdefs.h.  */
| #define PACKAGE_NAME "MediaTomb"
| #define PACKAGE_TARNAME "mediatomb"
| #define PACKAGE_VERSION "0.12.1"
| #define PACKAGE_STRING "MediaTomb 0.12.1"
| #define PACKAGE_BUGREPORT "jin_at_mediatomb.cc"
#define PACKAGE "mediatomb"
| #define VERSION "0.12.1"
| #define EXTEND_PROTOCOLINFO 1
| #define UPNP_VERSION_STRING "0.12.1"
| #define UPNP_VERSION_MAJOR 0
| #define UPNP_VERSION_MINOR 4
| #define UPNP_VERSION_PATCH 1
| #define HAVE_DIRENT_H 1
| #define STDC_HEADERS 1
| #define HAVE_SYS_WAIT_H 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE__BOOL 1
| #define HAVE_STDBOOL_H 1
| #define TIME_WITH_SYS_TIME 1
| #define HAVE_TIME_H 1
| #define HAVE_SYSLOG_H 1
| #define HAVE_STDDEF_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_ARPA_INET_H 1
| #define HAVE_FCNTL_H 1
| #define HAVE_LIMITS_H 1
| #define HAVE_NETDB_H 1
| #define HAVE_NETINET_IN_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_SYS_FILE_H 1
| #define HAVE_SYS_IOCTL_H 1
| #define HAVE_SYS_SOCKET_H 1
| #define HAVE_SYS_TIME_H 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_WAIT_H 1
| #define HAVE_LANGINFO_H 1
| #define HAVE_LOCALE_H 1
| #define HAVE_SYS_UTSNAME_H 1
| #define HAVE_SCHED_H 1
| #define HAVE_CTYPE_H 1
| #define HAVE_SCHED_GETPARAM 1
| #define HAVE_SCHED_SETPARAM 1
| #define HAVE_SCHED_GET_PRIORITY_MIN 1
| #define HAVE_SCHED_GET_PRIORITY_MAX 1
| #define HAVE_MKDIR 1
| #define HAVE_GETOPT_H 1
| #define HAVE_GETOPT_LONG 1
| #define HAVE_MKFIFO 1
| #define EXTERNAL_TRANSCODING 1
| /* end confdefs.h.  */
| /* Define iconv to an innocuous variant, in case <limits.h> declares
iconv.
|    For example, HP-UX 11i <limits.h> declares gettimeofday.  */
| #define iconv innocuous_iconv
|
| /* System header to define __stub macros and hopefully few prototypes,
|     which can conflict with char iconv (); below.
|     Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
|     <limits.h> exists even on freestanding compilers.  */
|
| #ifdef __STDC__
| # include <limits.h>
| #else
| # include <assert.h>
| #endif
|
| #undef iconv
|
| /* Override any GCC internal prototype to avoid an error.
|    Use char because int might match the return type of a GCC
|    builtin and then its argument prototype would still apply.  */
| #ifdef __cplusplus
| extern "C"
| #endif
| char iconv ();
| /* The GNU C library defines this for functions which it implements
|     to always fail with ENOSYS.  Some functions are actually named
|     something starting with __ and the normal name is an alias.  */
| #if defined __stub_iconv || defined __stub___iconv
| choke me
| #endif
|
| int
| main ()
| {
| return iconv ();
|   ;
|   return 0;
| }
configure:9373: result: no

--
Kevin Oberman, Part time kid herder and retired Network Engineer
E-mail: rkoberman_at_gmail.com
PGP Fingerprint: D03FB98AFA78E3B78C1694B318AB39EF1B055683
Received on Thu Sep 24 2015 - 03:18:52 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:59 UTC