View Issue Details

IDProjectCategoryView StatusLast Update
0004778unrealinstallingpublic2016-11-16 11:18
ReportersyzopAssigned Tosyzop 
PrioritynormalSeverityblockReproducibilityalways
Status resolvedResolutionfixed 
Product Version4.0.8.1 
Target VersionFixed in Version4.0.8.4 
Summary0004778: 4.0.8(.1) does not compile
DescriptionOn several machines the new versions 4.0.8 and 4.0.8.1 do not compile.

I'm currently installing a fresh test machine without any system c-ares, curl, tre, pcre2 so I can reproduce.
Steps To ReproduceI think one of the problems is lack of system c-ares and curl (even libs should be unavailable, it's not about dev libs)
TagsNo tags attached.
3rd party modules

Activities

syzop

2016-11-16 09:59

administrator   ~0019520

Tested UnrealIRCd 4.0.8.1 on Ubuntu 14 LTS with cares and curl libary completely uninstalled. With the defaults during ./Config it compiles and runs OK.

Now going to test with remote includes enabled....

syzop

2016-11-16 10:03

administrator   ~0019521

Issue confirmed if you build with remote includes.

syzop

2016-11-16 10:04

administrator   ~0019522

configure:8466: checking /home/syzop/unrealircd-4.0.8.1/extras/curl/bin/curl-config
configure:8469: result: yes
configure:8521: checking curl_easy_init() in -L/home/syzop/unrealircd/lib -lcurl
configure:8541: gcc -o conftest -pipe -g -O2 -funsigned-char -fno-strict-aliasing -Wno-pointer-sign -Wl,-export-dynamic -I/home/syzop/unrealircd-4.0.8.1/extras/curl/include conftest.c -lcrypt -lnsl -ldl -L/home/syzop/unrealircd/lib -lcurl >&5
conftest.c:45:0: warning: "HAVE_SNPRINTF" redefined [enabled by default]
 #define HAVE_SNPRINTF /**/
 ^
conftest.c:44:0: note: this is the location of the previous definition
 #define HAVE_SNPRINTF 1
 ^
conftest.c:47:0: warning: "HAVE_VSNPRINTF" redefined [enabled by default]
 #define HAVE_VSNPRINTF /**/
 ^
conftest.c:46:0: note: this is the location of the previous definition
 #define HAVE_VSNPRINTF 1
 ^
conftest.c:49:0: warning: "HAVE_INET_PTON" redefined [enabled by default]
 #define HAVE_INET_PTON /**/
 ^
conftest.c:48:0: note: this is the location of the previous definition
 #define HAVE_INET_PTON 1
 ^
conftest.c:51:0: warning: "HAVE_INET_NTOP" redefined [enabled by default]
 #define HAVE_INET_NTOP /**/
 ^
conftest.c:50:0: note: this is the location of the previous definition
 #define HAVE_INET_NTOP 1
 ^
conftest.c:73:0: warning: "HAVE_SYSLOG" redefined [enabled by default]
 #define HAVE_SYSLOG /**/
 ^
conftest.c:72:0: note: this is the location of the previous definition
 #define HAVE_SYSLOG 1
 ^
conftest.c:92:0: warning: "HAVE_POLL" redefined [enabled by default]
 #define HAVE_POLL /**/
 ^
conftest.c:91:0: note: this is the location of the previous definition
 #define HAVE_POLL 1
 ^
/usr/bin/ld: warning: libcares.so.2, needed by /home/syzop/unrealircd/lib/libcurl.so, not found (try using -rpath or -rpath-link)
/home/syzop/unrealircd/lib/libcurl.so: undefined reference to `ares_process_fd'
/home/syzop/unrealircd/lib/libcurl.so: undefined reference to `ares_library_init'
/home/syzop/unrealircd/lib/libcurl.so: undefined reference to `ares_destroy'
/home/syzop/unrealircd/lib/libcurl.so: undefined reference to `ares_dup'
/home/syzop/unrealircd/lib/libcurl.so: undefined reference to `ares_timeout'
/home/syzop/unrealircd/lib/libcurl.so: undefined reference to `ares_strerror'
/home/syzop/unrealircd/lib/libcurl.so: undefined reference to `ares_gethostbyname'
/home/syzop/unrealircd/lib/libcurl.so: undefined reference to `ares_cancel'
/home/syzop/unrealircd/lib/libcurl.so: undefined reference to `ares_init'
/home/syzop/unrealircd/lib/libcurl.so: undefined reference to `ares_library_cleanup'
/home/syzop/unrealircd/lib/libcurl.so: undefined reference to `ares_version'
/home/syzop/unrealircd/lib/libcurl.so: undefined reference to `ares_set_local_dev'
/home/syzop/unrealircd/lib/libcurl.so: undefined reference to `ares_set_local_ip4'
/home/syzop/unrealircd/lib/libcurl.so: undefined reference to `ares_getsock'
/home/syzop/unrealircd/lib/libcurl.so: undefined reference to `ares_set_servers_csv'
collect2: error: ld returned 1 exit status
configure:8541: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "unrealircd"
| #define PACKAGE_TARNAME "unrealircd"
| #define PACKAGE_VERSION "4.0.8.1"
| #define PACKAGE_STRING "unrealircd 4.0.8.1"
| #define PACKAGE_BUGREPORT "http://bugs.unrealircd.org/"
| #define PACKAGE_URL "http://unrealircd.org/"
| #define UNREAL_VERSION_GENERATION 4
| #define UNREAL_VERSION_MAJOR 0
| #define UNREAL_VERSION_MINOR 8
| #define UNREAL_VERSION_SUFFIX ""
| #define HAVE_CRYPT /**/
| #define HAVE_RAND_EGD 1
| #define STDC_HEADERS 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 PARAMH /**/
| #define STDLIBH /**/
| #define STDDEFH /**/
| #define SYSSYSLOGH /**/
| #define UNISTDH /**/
| #define STRINGH /**/
| #define STRINGSH /**/
| #define MALLOCH <malloc.h>
| #define GLOBH /**/
| #define HAVE_STDINT_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_INTPTR_T 1
| #define TIME_WITH_SYS_TIME 1
| #define HAVE_SYS_WAIT_H 1
| #define SIZEOF_SHORT 2
| #define SIZEOF_INT 4
| #define SIZEOF_LONG 8
| #define SIZEOF_RLIM_T 0
| #define NBLOCK_POSIX /**/
| #define SETPGRP_VOID 1
| #define HAVE_SNPRINTF 1
| #define HAVE_SNPRINTF /**/
| #define HAVE_VSNPRINTF 1
| #define HAVE_VSNPRINTF /**/
| #define HAVE_INET_PTON 1
| #define HAVE_INET_PTON /**/
| #define HAVE_INET_NTOP 1
| #define HAVE_INET_NTOP /**/
| #define HAVE_C99_VARLEN_ARRAY /**/
| #define FORCE_CORE /**/
| #define HAVE_VPRINTF 1
| #define HAVE_GETTIMEOFDAY 1
| #define GETTIMEOFDAY /**/
| #define HAVE_GETRUSAGE 1
| #define GETRUSAGE_2 /**/
| #define POSIX_SIGNALS /**/
| #define NEED_STRTOKEN /**/
| #define HAVE_STRTOK 1
| #define HAVE_STRERROR 1
| #define HAVE_INDEX 1
| #define HAVE_STRTOUL 1
| #define HAVE_BCOPY 1
| #define HAVE_BCMP 1
| #define HAVE_BZERO 1
| #define HAVE_STRCASECMP 1
| #define GOT_STRCASECMP /**/
| #define HAVE_INET_ADDR 1
| #define HAVE_INET_NTOA 1
| #define HAVE_SYSLOG 1
| #define HAVE_SYSLOG /**/
| #define NICKNAMEHISTORYLENGTH 2000
| #define MAXSENDQLENGTH 3000000
| #define DEFAULT_PERMISSIONS 00600
| #define BINDIR "/home/syzop/unrealircd/bin"
| #define SCRIPTDIR "/home/syzop/unrealircd"
| #define CONFDIR "/home/syzop/unrealircd/conf"
| #define MODULESDIR "/home/syzop/unrealircd/modules"
| #define LOGDIR "/home/syzop/unrealircd/logs"
| #define CACHEDIR "/home/syzop/unrealircd/cache"
| #define TMPDIR "/home/syzop/unrealircd/tmp"
| #define PERMDATADIR "/home/syzop/unrealircd/data"
| #define DOCDIR "/home/syzop/unrealircd/doc"
| #define PIDFILE "/home/syzop/unrealircd/data/unrealircd.pid"
| #define PRIVATELIBDIR "/home/syzop/unrealircd/lib"
| #define MAXCONNECTIONS 1024
| #define PREFIX_AQ /**/
| #define LIST_SHOW_MODES /**/
| #define HAVE_POLL 1
| #define HAVE_POLL /**/
| #define HAVE_EPOLL_CREATE 1
| #define HAVE_EPOLL /**/
| #define HAVE_EPOLL_CTL 1
| #define HAVE_EPOLL /**/
| #define HAVE_EPOLL_WAIT 1
| #define HAVE_EPOLL /**/
| #define HAVE_PTHREAD_PRIO_INHERIT 1
| #define HAVE_PTHREAD 1
| #define USE_LIBCURL /**/
| /* end confdefs.h. */
|
| #include <curl/curl.h>
| int
| main ()
| {
| CURL *curl = curl_easy_init();
| ;
| return 0;
| }
|
configure:8545: result: no
configure:8547: error: in `/home/syzop/unrealircd-4.0.8.1':
configure:8549: error: You asked for libcURL (remote includes) support, but it can't be found at /home/syzop/unrealircd-4.0.8.1/extras/curl

syzop

2016-11-16 10:34

administrator   ~0019524

Last edited: 2016-11-16 10:34

View 2 revisions

commit c8125c33e15e00e7e9d1538b1501c460f6e34637
Author: Bram Matthys <syzop@vulnscan.org>
Date: Wed Nov 16 10:23:11 2016 +0100

    Fix compile problem if remote includes are enabled and no system curl is available.
    We now set LDFLAGS during configure with -Wl,-rpath=/home/xyz/unrealircd/lib so
    the curl test won't fail (or more precisely, curl's c-ares test).
    Could theoretically fix other issues as well, but could not reproduce.

https://github.com/unrealircd/unrealircd/commit/c8125c33e15e00e7e9d1538b1501c460f6e34637

syzop

2016-11-16 11:18

administrator   ~0019525

Looks resolved, pretty logical fix too. I have released 4.0.8.2 to address this issue.

If there are more compile issues they will be addressed later.

Issue History

Date Modified Username Field Change
2016-11-16 09:28 syzop New Issue
2016-11-16 09:29 syzop Assigned To => syzop
2016-11-16 09:29 syzop Status new => acknowledged
2016-11-16 09:59 syzop Note Added: 0019520
2016-11-16 10:03 syzop Status acknowledged => confirmed
2016-11-16 10:03 syzop Note Added: 0019521
2016-11-16 10:04 syzop Note Added: 0019522
2016-11-16 10:34 syzop Note Added: 0019524
2016-11-16 10:34 syzop Note Edited: 0019524 View Revisions
2016-11-16 11:18 syzop Status confirmed => resolved
2016-11-16 11:18 syzop Resolution open => fixed
2016-11-16 11:18 syzop Fixed in Version => 4.0.8.4
2016-11-16 11:18 syzop Note Added: 0019525