[Date Prev][Date Next] [Chronological] [Thread] [Top]

-devel failed to compile on Sol 2.6



My system: Sun/sparc Solaris 2.6

I downloaded the latest -devel version and after making a change to
build/mkdep:
CC=gcc (why isn't the variable AC_CC from the main Makfile used?)
I started compiling until the following error came along, which
according to me is due to the fact
that some system library is not being used (but which and how and
where?):

gmake[4]: Entering directory `/tmp/openldap_devel/ldap/servers/slapd'
gcc  -o slapd main.o daemon.o connection.o search.o filter.o add.o
charray.o attr.o entry.o config.o backend.o result.o operation.o dn.o
compare.o modify.o delete.o modrdn.o ch_malloc.o value.o ava.o bind.o
unbind.o abandon.o filterentry.o phonetic.o acl.o str2filter.o
aclparse.o init.o repl.o lock.o suffixalias.o schema.o schemaparse.o
monitor.o configinfo.o version.o -L../../libraries -lldif -lldap -llber
libbackends.a -lavl -lldbm  -lgdbm -llthread  -llutil
-L/usr/local/gdbm/lib -lgdbm -lresolv -lgen -lnsl -lsocket
Undefined                       first referenced
 symbol                             in file
sched_yield                         daemon.o
ld: fatal: Symbol referencing errors. No output written to slapd
gmake[4]: *** [slapd] Error 1
gmake[4]: Leaving directory `/tmp/openldap_devel/ldap/servers/slapd'
gmake[3]: *** [all-local] Error 2
gmake[3]: Leaving directory `/tmp/openldap_devel/ldap/servers/slapd'
gmake[2]: *** [all-common] Error 2
gmake[2]: Leaving directory `/tmp/openldap_devel/ldap/servers/slapd'

  Entering subdirectory slurpd
gmake[2]: Entering directory `/tmp/openldap_devel/ldap/servers/slurpd'
gmake[3]: Entering directory `/tmp/openldap_devel/ldap/servers/slurpd'
gcc  -o slurpd admin.o args.o ch_malloc.o config.o fm.o globals.o
ldap_op.o lock.o main.o re.o reject.o replica.o replog.o ri.o rq.o
sanity.o st.o tsleep.o version.o -L../../libraries -lldif -lldap -llber
-llthread  -llutil  -L/usr/local/gdbm/lib -lgdbm -lresolv -lgen -lnsl
-lsocket
Undefined                       first referenced
 symbol                             in file
sched_yield                         fm.o
ld: fatal: Symbol referencing errors. No output written to slurpd
gmake[3]: *** [slurpd] Error 1
gmake[3]: Leaving directory `/tmp/openldap_devel/ldap/servers/slurpd'
gmake[2]: *** [all-common] Error 2
gmake[2]: Leaving directory `/tmp/openldap_devel/ldap/servers/slurpd'

gmake[1]: Leaving directory `/tmp/openldap_devel/ldap/servers'

Here is my config.log file:
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

configure:595: checking configure arguments
configure:1256: checking whether ln -s works
configure:1287: checking for a BSD compatible install
configure:1339: checking for ranlib
configure:1366: checking whether make sets ${MAKE}
configure:1396: checking for sendmail
configure:1428: checking for vi
configure:1460: checking for finger
configure:1493: checking for gcc
configure:1570: checking whether the C compiler (gcc
-L/usr/local/gdbm/lib -lgdbm) works
configure:1584: gcc -o conftest  -I/usr/local/gdbm/include
-L/usr/local/gdbm/lib -lgdbm conftest.c  1>&5
configure:1604: checking whether the C compiler (gcc
-L/usr/local/gdbm/lib -lgdbm) is a cross-compiler
configure:1609: checking whether we are using GNU C
configure:1633: checking whether gcc accepts -g
configure:1674: checking how to run the C preprocessor
configure:1737: checking for AIX
configure:1761: checking for POSIXized ISC
configure:1783: checking for minix/config.h
configure:1834: checking for socket
configure:1881: checking for main in -lsocket
configure:1924: checking for main in -lnet
configure:1967: checking for main in -lnsl_s
configure:2010: checking for main in -lnsl
configure:2053: checking for socket in -linet
configure:2100: checking for main in -lgen
configure:2147: checking for res_search in -lresolv
configure:2195: checking for sigset in -lV3
configure:2462: checking for kerberosIV/krb.h
configure:2462: checking for kerberosIV/des.h
configure:2556: checking for krb.h
configure:2556: checking for des.h
configure:2652: checking for pthread.h
configure:2652: checking for sched.h
configure:2691: checking POSIX thread version
configure:2772: checking for LinuxThreads
configure:2798: checking for pthread_create
configure:3137: checking for sched_yield
configure:3137: checking for pthread_yield
configure:3297: checking for pthread_kill
configure:3356: checking for pthread_attr_create
configure:3356: checking for pthread_attr_init
configure:3356: checking for pthread_attr_destroy
configure:3356: checking for pthread_attr_delete
configure:3356: checking for pthread_attr_setdetachstate
configure:3356: checking for pthread_attr_setdetach_np
configure:3415: checking for pthread_setconcurrency
configure:3415: checking for thr_setconcurrency
configure:3470: checking for preemptive Pthread implementation
configure:3533: gcc -o conftest -g -O2 -I/usr/local/gdbm/include
-L/usr/local/gdbm/lib -lgdbm conftest.c  -lreso
lv -lgen -lnsl -lsocket  1>&5
Undefined                       first referenced
 symbol                             in file
sched_yield                         /var/tmp/ccAywAg_1.o
ld: fatal: Symbol referencing errors. No output written to conftest
configure: failed program was:
#line 3476 "configure"
#include "confdefs.h"

#include <sys/types.h>
#include <sys/time.h>
#include <unistd.h>
#include <pthread.h>
#ifndef NULL
#define NULL 0
#endif

int task(arg)
        int *arg;
{
        int i;
        struct timeval tv;

        tv.tv_sec=5;
        tv.tv_usec=0;

        /* we're not interested in any fds */
        i = select(FD_SETSIZE, NULL, NULL, NULL, &tv);

        if(i < 0) {
                perror("select");
        }

        exit(1); /* if we exit here, the select blocked the whole
process */
}

main(argc, argv)
int argc; char **argv;
{
        pthread_t t;

#ifdef HAVE_PTHREAD_SETCONCURRENCY
        (void) pthread_setconcurrency(2);
#else
#ifdef HAVE_THR_SETCONCURRENCY
        /* Set Solaris LWP concurrency to 2 */
        thr_setconcurrency(2);
#endif
#endif

        pthread_create(&t, NULL, (void *) task, NULL);

#if HAVE_SCHED_YIELD
        sched_yield();  /* make sure task runs first */
#else
#ifdef HAVE_PTHREAD_YIELD
        pthread_yield();        /* make sure task runs first */
#endif
#endif
        exit(0);
}

configure:4176: checking for thread specific errno
configure:4239: checking for DB2 library
configure:4295: checking for db.h
configure:4371: checking for Berkeley DB2
configure:4417: checking for Berkeley DB library
configure:4524: checking for db_185.h
configure:4570: checking for Berkeley DB
configure:4668: checking for GDBM library
configure:4775: checking for gdbm.h
configure:4812: checking for db
configure:5144: checking for termcap.h
configure:5144: checking for ncurses.h
configure:5183: checking for tputs in -ltermcap
configure:5296: checking for crypt
configure:5406: checking for setproctitle
configure:5453: checking for setproctitle in -lutil
configure:5507: checking for ANSI C header files
configure:5620: checking for dirent.h that defines DIR
configure:5658: checking for opendir in -ldir
configure:5741: checking for sys/wait.h that is POSIX.1 compatible
configure:5814: checking for stdarg.h
configure:5814: checking for stddef.h
configure:5814: checking for string.h
configure:5814: checking for strings.h
configure:5814: checking for errno.h
configure:5814: checking for fcntl.h
configure:5814: checking for filio.h
configure:5814: checking for getopt.h
configure:5814: checking for libutil.h
configure:5814: checking for limits.h
configure:5814: checking for malloc.h
configure:5814: checking for regex.h
configure:5814: checking for pwd.h
configure:5814: checking for sgtty.h
configure:5814: checking for sys/file.h
configure:5814: checking for sys/filio.h
configure:5814: checking for sys/errno.h
configure:5814: checking for sys/ioctl.h
configure:5814: checking for sys/param.h
configure:5814: checking for sys/resource.h
configure:5814: checking for sys/socket.h
configure:5814: checking for sys/syslog.h
configure:5814: checking for sys/time.h
configure:5814: checking for sys/types.h
configure:5814: checking for syslog.h
configure:5814: checking for termios.h
configure:5814: checking for unistd.h
configure:5852: checking for uid_t in sys/types.h
configure:5886: checking type of array argument to getgroups
configure:5957: checking for mode_t
configure:5990: checking for off_t
configure:6023: checking for pid_t
configure:6056: checking return type of signal handlers
configure:6097: checking for size_t
configure:6130: checking for uid_t in sys/types.h
configure:6164: checking for st_blksize in struct stat
configure:6198: checking whether time.h and sys/time.h may both be
included
configure:6233: checking whether struct tm is in sys/time.h or time.h
configure:6269: checking if toupper() requires islower()
configure:6313: checking for working const
configure:6390: checking for 8-bit clean memcmp
configure:6426: checking for strftime
configure:6522: checking for vprintf
configure:6631: checking for vsnprintf
configure:6686: checking for wait3 that fills in rusage
configure:6782: checking for bcopy
configure:6782: checking for getopt
configure:6782: checking for flock
configure:6782: checking for gethostname
configure:6782: checking for gettimeofday
configure:6782: checking for getdtablesize
configure:6782: checking for getpwuid
configure:6782: checking for lockf
configure:6782: checking for memcpy
configure:6782: checking for memmove
configure:6782: checking for mkstemp
configure:6782: checking for mktime
configure:6782: checking for res_search
configure:6782: checking for select
configure:6782: checking for setpwfile
configure:6782: checking for setsid
configure:6782: checking for signal
configure:6782: checking for sigset
configure:6782: checking for snprintf
configure:6782: checking for socket
configure:6782: checking for strerror
configure:6782: checking for strstr
configure:6782: checking for strrchr
configure:6782: checking for strsep
configure:6782: checking for strtod
configure:6782: checking for strtol
configure:6782: checking for strtoul
configure:6782: checking for sysconf
configure:6782: checking for tempnam
configure:6782: checking for waitpid
configure:6838: checking for getopt
configure:6838: checking for strdup
configure:6838: checking for tempnam
configure:6896: checking declaration of sys_errlist
configure:6933: checking existence of sys_errlist