Rich Megginson
2008-Feb-08 22:06 UTC
[Fedora-directory-users] One step build for platforms other than Fedora
I''ve updated the one step build scripts for Fedora DS 1.1. The new version allows you to pick and choose which components you want to build from source and which you want to just use from the operating system. I don''t have a tarball up yet, but you can get it from anonymous CVS: cvs -d :pserver:anonymous@cvs.fedoraproject.org:/cvs/dirsec co dsbuild or if you don''t want the CVS directories cvs -d :pserver:anonymous@cvs.fedoraproject.org:/cvs/dirsec export -rHEAD dsbuild FAQ: * How does it work? after checkout/export cd dsbuild/meta/ds make help Help only tells about SASL_SOURCE and SNMP_SOURCE - but if you look at the meta/ds/Makefile you will see that there are many COMPONENT_SOURCE variables (NSPR_SOURCE, NSS_SOURCE, etc.). The script is not smart enough to figure out which components are provided by your OS, so if you want to build something from source you''ll have to explicitly specify it. Use make PREFIX=/opt/dirsrv to compile and install directly into /opt/dirsrv Use make PREFIX=/opt/dirsrv DESTDIR=/var/tmp to compile and install into /var/tmp for packaging that at runtime will use /opt/dirsrv e.g. for native system packaging systems * What''s missing? All console/java code is still incomplete - jss, ldapjdk, etc. dsbuild/README needs to be updated make help needs to be updated * What platforms are supported? You''ll need relatively recent versions of GNU make, sed, wget, bzip2, gzip, tar, patch, md5sum
Andrey Ivanov
2008-Feb-09 14:30 UTC
[Fedora-directory-users] Re: [Fedora-directory-announce] One step build for platforms other than Fedora
CentOS 5.1 x86_64 with all the latest patches:
unable to do the build if i activate the rebuild form sources of the db4 :
make DB_SOURCE=1 PREFIX=/Local/fds DESTDIR=/var/tmp USE_64=1
The error :
==> Running configure in work/fedora-ds-base-1.1.0
...
configure: checking for db...
checking for --with-db... using /var/tmp/Local/fds
checking for db_create in -ldb-4.2... no
configure: error: /var/tmp/Local/fds/include/db.h is version 4.2 but
libdb-4.2 not found
make[1]: *** [configure-work/fedora-ds-base-1.1.0/configure] Error 1
make[1]: Leaving directory
`/Admin/BUILD/One-Step/dsbuild/ds/ldapserver''
make: *** [dep-../../ds/ldapserver] Error 2
Details in /Admin/BUILD/One-Step/dsbuild/ds/ldapserver/work/fedora-
ds-base-1.1.0/config.log :
configure:24156: checking for db...
configure:24159: checking for --with-db
configure:24180: result: using /var/tmp/Local/fds
configure:24229: checking for db_create in -ldb-4.2
configure:24259: gcc -o conftest -g -L/var/tmp/Local/fds/lib conftest.c -
ldb-4.2 >&5
/var/tmp/Local/fds/lib/libdb-4.2.so: undefined reference to
`pthread_mutex_trylock''
/var/tmp/Local/fds/lib/libdb-4.2.so: undefined reference to
`pthread_mutexattr_setpshared''
/var/tmp/Local/fds/lib/libdb-4.2.so: undefined reference to
`pthread_mutexattr_destroy''
/var/tmp/Local/fds/lib/libdb-4.2.so: undefined reference to
`pthread_condattr_setpshared''
/var/tmp/Local/fds/lib/libdb-4.2.so: undefined reference to
`pthread_mutexattr_init''
collect2: ld returned 1 exit status
configure:24265: $? = 1
configure: failed program was:
| /* confdefs.h. */
...
| /* end confdefs.h. */
|
| /* Override any gcc2 internal prototype to avoid an error. */
| #ifdef __cplusplus
| extern "C"
| #endif
| /* We use char because int might match the return type of a gcc2
| builtin and then its argument prototype would still apply. */
| char db_create ();
| int
| main ()
| {
| db_create ();
| ;
| return 0;
| }
configure:24291: result: no
configure:24296: error: /var/tmp/Local/fds/include/db.h is version 4.2 but
libdb-4.2 not found
The db4 build and installation is however succesful and with
''-lpthreads'' :
==> Running configure in work/db-4.2.52.NC/built
cd work/db-4.2.52.NC/built && LIBSO_LIBS=-lpthread CFLAGS=-O2
../dist/configure --enable-dynamic --disable-debug --prefix=/Local/fds
...
checking for main in -lpthread... yes
...
checking for mutexes... POSIX/pthreads/library
...
[install] complete for db.
[root@ldap-model ds]# ls -alF /var/tmp/Local/fds/lib/
total 3544
drwxr-xr-x 2 root root 4096 Feb 9 15:20 ./
drwxr-xr-x 6 root root 4096 Feb 9 15:20 ../
-rw-r--r-- 1 root root 1366338 Feb 9 15:20 libdb-4.2.a
-rw-r--r-- 1 root root 797 Feb 9 15:20 libdb-4.2.la
-rwxr-xr-x 1 root root 864660 Feb 9 15:20 libdb-4.2.so*
lrwxrwxrwx 1 root root 12 Feb 9 15:20 libdb-4.so -> libdb-4.2.so*
-rw-r--r-- 1 root root 1366338 Feb 9 15:20 libdb.a
lrwxrwxrwx 1 root root 12 Feb 9 15:20 libdb.so -> libdb-4.2.so*
2008/2/8, Rich Megginson <rmeggins@redhat.com>:>
> I''ve updated the one step build scripts for Fedora DS 1.1. The
new
> version allows you to pick and choose which components you want to build
> from source and which you want to just use from the operating system. I
> don''t have a tarball up yet, but you can get it from anonymous
CVS:
>
> cvs -d :pserver:anonymous@cvs.fedoraproject.org:/cvs/dirsec co dsbuild
> or if you don''t want the CVS directories
> cvs -d :pserver:anonymous@cvs.fedoraproject.org:/cvs/dirsec export
> -rHEAD dsbuild
>
> FAQ:
> * How does it work?
> after checkout/export
> cd dsbuild/meta/ds
> make help
> Help only tells about SASL_SOURCE and SNMP_SOURCE - but if you look at
> the meta/ds/Makefile you will see that there are many COMPONENT_SOURCE
> variables (NSPR_SOURCE, NSS_SOURCE, etc.). The script is not smart
> enough to figure out which components are provided by your OS, so if you
> want to build something from source you''ll have to explicitly
specify it.
>
> Use make PREFIX=/opt/dirsrv to compile and install directly into
> /opt/dirsrv
> Use make PREFIX=/opt/dirsrv DESTDIR=/var/tmp to compile and install into
> /var/tmp for packaging that at runtime will use /opt/dirsrv e.g. for
> native system packaging systems
>
> * What''s missing?
> All console/java code is still incomplete - jss, ldapjdk, etc.
> dsbuild/README needs to be updated
> make help needs to be updated
>
> * What platforms are supported?
> You''ll need relatively recent versions of GNU make, sed, wget,
bzip2,
> gzip, tar, patch, md5sum
>
> --
> Fedora-directory-announce mailing list
> Fedora-directory-announce@redhat.com
> https://www.redhat.com/mailman/listinfo/fedora-directory-announce
>
>
>