[Freeipa-devel] Re: Need Advice on "DEB" packaging.

Miguel P.C. mpcolino at gmail.com
Thu Apr 30 16:07:42 UTC 2009


Hi Stephen, hello everone!,

As you probably know I'm trying to package sssd for ubuntu.
I've been reading further and getting some experience in packaging.

I suggested I needed a ./configure and a Makefile to build everything
from root. It took me quite long to discover it was not necessary. I
read this from Stephen:
> Miguel, these patches are appreciated, but ultimately they will be
> unnecessary. Please see https://fedorahosted.org/sssd/ticket/16
>
> We will be converting the complete build system to full autotools,
> within a month, rather than our current home-grown Makefile system.

I'm now working on version 0.3.3 I've built some of the files needed
but I've found a couple of problems you may consider suggesting me how
to go ahead.

First:
"./configure" for server does not find tevent properly:
[migpc at crow:~/Code/sssd/sssd-0.3.3/server]$ ./configure --without-tests \
> --without-policykit \
> --without-infopipe
[snip]
checking tevent.h usability... no
checking tevent.h presence... no
checking for tevent.h... no
checking for TEVENT... configure: error: Package requirements (tevent)
were not met:
No package 'tevent' found
[snip]

I attach the full output.
There are more included files in /usr/include/samba-4.0/
When I create a couple of symlinks it works. Just doing that:
[root at crow:~]# ln -s /usr/include/samba-4.0/tevent* /usr/include/
Any suggestion on how to handle "pkg-config" to find the right files.
BTW, Do libs have to be from samba4?


Second:
With tevent libs "linked" the way I said before, I try to build
everything but, when building server, I find this:
[snip]
In file included from providers/data_provider.h:30,
                 from providers/dp_auth_util.c:22:
/usr/include/samba-4.0/ldb.h:789: error: expected '=', ',', ';', 'asm'
or '__attribute__' before 'ldb_request_is_done'
/usr/include/samba-4.0/ldb.h:849: error: expected declaration
specifiers or '...' before '*' token
/usr/include/samba-4.0/ldb.h:849: error: 'bool' declared as function
returning a function
[snip]

... and many "function returning a function" errors. Any suggestion on
what I'm doing wrong?
I also attach the full output.

Thanks in advance.

M*

P.S.: If you can suggest me on how to report better the problems I
find, I'll be really happy.
-------------- next part --------------
[migpc at crow:~/Code/sssd/sssd-0.3.3]$ cd server/
[migpc at crow:~/Code/sssd/sssd-0.3.3/server]$ ./autogen.sh 
Now run ./configure and then make.
[migpc at crow:~/Code/sssd/sssd-0.3.3/server]$ ./configure --without-tests \
> --without-policykit \
> --without-infopipe \
> 
LIBREPLACE_LOCATION_CHECKS: START
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
LIBREPLACE_LOCATION_CHECKS: END
LIBREPLACE_CC_CHECKS: START
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for version of gcc... 4.3.3
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking whether byte ordering is bigendian... no
checking for inline... inline
checking for C99 designated initializers... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking for library containing strerror... none required
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... 64
checking standards.h usability... no
checking standards.h presence... no
checking for standards.h... no
checking for long long... yes
checking size of int... 4
checking size of char... 1
checking size of short... 2
checking size of long... 4
checking size of long long... 8
checking for uint_t... no
checking for int8_t... yes
checking for uint8_t... yes
checking for int16_t... yes
checking for uint16_t... yes
checking for int32_t... yes
checking for uint32_t... yes
checking for int64_t... yes
checking for uint64_t... yes
checking for size_t... yes
checking for ssize_t... yes
checking size of off_t... 8
checking size of size_t... 4
checking size of ssize_t... 4
checking for intptr_t... yes
checking for uintptr_t... yes
checking for ptrdiff_t... yes
checking for immediate structures... yes
LIBREPLACE_CC_CHECKS: END
LIBREPLACE_BROKEN_CHECKS: START
checking return type of signal handlers... void
checking for uid_t in sys/types.h... yes
checking for mode_t... yes
checking for off_t... yes
checking for size_t... (cached) yes
checking for pid_t... yes
checking for struct stat.st_rdev... yes
checking for ino_t... yes
checking for loff_t... yes
checking for offset_t... no
checking for working memcmp... yes
checking for pipe... yes
checking for strftime... yes
checking for srandom... yes
checking for random... yes
checking for srand... yes
checking for rand... yes
checking for usleep... yes
checking for setbuffer... yes
checking for lstat... yes
checking for getpgrp... yes
checking stdbool.h usability... yes
checking stdbool.h presence... yes
checking for stdbool.h... yes
checking for stdint.h... (cached) yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking setjmp.h usability... yes
checking setjmp.h presence... yes
checking for setjmp.h... yes
checking for stdint.h... (cached) yes
checking for stdbool.h... (cached) yes
checking for bool... yes
checking for _Bool... yes
checking for working mmap... yes
checking sys/syslog.h usability... yes
checking sys/syslog.h presence... yes
checking for sys/syslog.h... yes
checking syslog.h usability... yes
checking syslog.h presence... yes
checking for syslog.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking time.h usability... yes
checking time.h presence... yes
checking for time.h... yes
checking stdarg.h usability... yes
checking stdarg.h presence... yes
checking for stdarg.h... yes
checking vararg.h usability... no
checking vararg.h presence... no
checking for vararg.h... no
checking sys/mount.h usability... yes
checking sys/mount.h presence... yes
checking for sys/mount.h... yes
checking mntent.h usability... yes
checking mntent.h presence... yes
checking for mntent.h... yes
checking stropts.h usability... yes
checking stropts.h presence... yes
checking for stropts.h... yes
checking for seteuid... yes
checking for setresuid... yes
checking for setegid... yes
checking for setresgid... yes
checking for chroot... yes
checking for bzero... yes
checking for strerror... yes
checking for vsyslog... yes
checking for setlinebuf... yes
checking for mktime... yes
checking for ftruncate... yes
checking for chsize... no
checking for rename... yes
checking for waitpid... yes
checking for strlcpy... no
checking for strlcat... no
checking for initgroups... yes
checking for memmove... yes
checking for strdup... yes
checking for pread... yes
checking for pwrite... yes
checking for strndup... yes
checking for strcasestr... yes
checking for strtok_r... yes
checking for mkdtemp... yes
checking for isatty... yes
checking for setresuid declaration... yes
checking for setresgid declaration... yes
checking for errno declaration... yes
checking for secure mkstemp... yes
checking stdio.h usability... yes
checking stdio.h presence... yes
checking for stdio.h... yes
checking for strings.h... (cached) yes
checking whether snprintf is declared... yes
checking whether vsnprintf is declared... yes
checking whether asprintf is declared... yes
checking whether vasprintf is declared... yes
checking for snprintf... yes
checking for vsnprintf... yes
checking for asprintf... yes
checking for vasprintf... yes
checking for C99 vsnprintf... yes
checking for va_copy... yes
checking for __FUNCTION__ macro... yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking for comparison_fn_t... yes
checking for setenv declaration... yes
checking for setenv... yes
checking for unsetenv... yes
checking for strnlen... yes
checking for strtoull... yes
checking for __strtoull... no
checking for strtouq... yes
checking for strtoll... yes
checking for __strtoll... no
checking for strtoq... yes
checking for sig_atomic_t type... yes
checking for O_DIRECT flag to open(2)... no
checking that the C compiler understands volatile... yes
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking sys/fcntl.h usability... yes
checking sys/fcntl.h presence... yes
checking for sys/fcntl.h... yes
checking sys/resource.h usability... yes
checking sys/resource.h presence... yes
checking for sys/resource.h... yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking sys/mode.h usability... no
checking sys/mode.h presence... no
checking for sys/mode.h... no
checking sys/filio.h usability... no
checking sys/filio.h presence... no
checking for sys/filio.h... no
checking sys/fs/s5param.h usability... no
checking sys/fs/s5param.h presence... no
checking for sys/fs/s5param.h... no
checking sys/filsys.h usability... no
checking sys/filsys.h presence... no
checking for sys/filsys.h... no
checking sys/acl.h usability... no
checking sys/acl.h presence... no
checking for sys/acl.h... no
checking acl/libacl.h usability... no
checking acl/libacl.h presence... no
checking for acl/libacl.h... no
checking for sys/select.h... (cached) yes
checking for sys/time.h... (cached) yes
checking utime.h usability... yes
checking utime.h presence... yes
checking for utime.h... yes
checking whether time.h and sys/time.h may both be included... yes
checking for utime... yes
checking for utimes... yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking sys/capability.h usability... no
checking sys/capability.h presence... no
checking for sys/capability.h... no
checking for broken RedHat 7.2 system header files... no
checking for broken RHEL5 sys/capability.h... no
checking grp.h usability... yes
checking grp.h presence... yes
checking for grp.h... yes
checking sys/id.h usability... no
checking sys/id.h presence... no
checking for sys/id.h... no
checking compat.h usability... no
checking compat.h presence... no
checking for compat.h... no
checking shadow.h usability... yes
checking shadow.h presence... yes
checking for shadow.h... yes
checking sys/priv.h usability... no
checking sys/priv.h presence... no
checking for sys/priv.h... no
checking pwd.h usability... yes
checking pwd.h presence... yes
checking for pwd.h... yes
checking sys/security.h usability... no
checking sys/security.h presence... no
checking for sys/security.h... no
checking for getpwnam_r... yes
checking for getpwuid_r... yes
checking for getpwent_r... yes
checking for getpwent_r declaration... yes
checking for prototype struct passwd *getpwent_r(struct passwd *src, char *buf, int buflen)... no
checking for prototype struct passwd *getpwent_r(struct passwd *src, char *buf, size_t buflen)... no
checking for getgrnam_r... yes
checking for getgrgid_r... yes
checking for getgrent_r... yes
checking for getgrent_r declaration... yes
checking for prototype struct group *getgrent_r(struct group *src, char *buf, int buflen)... no
checking for prototype struct group *getgrent_r(struct group *src, char *buf, size_t buflen)... no
checking ctype.h usability... yes
checking ctype.h presence... yes
checking for ctype.h... yes
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking fnmatch.h usability... yes
checking fnmatch.h presence... yes
checking for fnmatch.h... yes
checking sys/ipc.h usability... yes
checking sys/ipc.h presence... yes
checking for sys/ipc.h... yes
checking sys/mman.h usability... yes
checking sys/mman.h presence... yes
checking for sys/mman.h... yes
checking sys/shm.h usability... yes
checking sys/shm.h presence... yes
checking for sys/shm.h... yes
checking termios.h usability... yes
checking termios.h presence... yes
checking for termios.h... yes
checking termio.h usability... yes
checking termio.h presence... yes
checking for termio.h... yes
checking sys/termio.h usability... no
checking sys/termio.h presence... no
checking for sys/termio.h... no
checking for library containing dlopen... -ldl
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking for dlopen... yes
checking for dlsym... yes
checking for dlerror... yes
checking for dlclose... yes
checking for library containing shl_load... no
checking dl.h usability... no
checking dl.h presence... no
checking for dl.h... no
checking for shl_load... no
checking for shl_unload... no
checking for shl_findsym... no
checking for prototype void *dlopen(const char* filename, unsigned int flags)... no
checking for getpass... yes
checking for getpassphrase... no
checking whether getpass should be replaced... yes
checking whether strptime is available and works... yes
checking direct.h usability... no
checking direct.h presence... no
checking for direct.h... no
checking windows.h usability... no
checking windows.h presence... no
checking for windows.h... no
checking winsock2.h usability... no
checking winsock2.h presence... no
checking for winsock2.h... no
checking ws2tcpip.h usability... no
checking ws2tcpip.h presence... no
checking for ws2tcpip.h... no
checking whether mkdir supports mode... yes
checking for timegm... yes
checking for broken readdir... no
checking a usable readdir()... yes
checking for syslog... yes
checking for printf... yes
checking for memset... yes
checking for memcpy... yes
LIBREPLACE_BROKEN_CHECKS: END
checking for stdint.h... (cached) yes
checking for dlfcn.h... (cached) yes
checking popt.h usability... yes
checking popt.h presence... yes
checking for popt.h... yes
checking for poptGetContext in -lpopt... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking talloc.h usability... yes
checking talloc.h presence... yes
checking for talloc.h... yes
checking for talloc_init in -ltalloc... yes
checking tdb.h usability... yes
checking tdb.h presence... yes
checking for tdb.h... yes
checking for tdb_repack in -ltdb... yes
checking tevent.h usability... no
checking tevent.h presence... no
checking for tevent.h... no
checking for TEVENT... configure: error: Package requirements (tevent) were not met:

No package 'tevent' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables TEVENT_CFLAGS
and TEVENT_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-sssd-0.3.3-debian_files_mig.tar.gz
Type: application/x-gzip
Size: 15150 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/freeipa-devel/attachments/20090430/d25919c6/attachment.bin>
-------------- next part --------------
# server
cd server;\
	/usr/bin/make
make[1]: Entering directory `/home/migpc/Code/sssd/sssd-0.3.3/server'
server will be compiled with flags:
  CFLAGS = -I./include -Iinclude -I. -I./..     -I/usr/include/samba-4.0   -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include     -I ../common/collection -I../common/trace -I ../common/ini -DLIBDIR=\"/home/migpc/Code/sssd/sssd-0.3.3/server/debian/tmp/lib\" -DVARDIR=\"/home/migpc/Code/sssd/sssd-0.3.3/server/debian/tmp/var\" -DSHLIBEXT=\"so\" -DSSSD_LIBEXEC_PATH=\"/home/migpc/Code/sssd/sssd-0.3.3/server/debian/tmp/libexec/sssd\" -DSSSD_INTROSPECT_PATH=\"/home/migpc/Code/sssd/sssd-0.3.3/server/debian/tmp/share/sssd/introspect\" -DSSSD_CONF_DIR=\"/home/migpc/Code/sssd/sssd-0.3.3/server/debian/tmp/etc/sssd\" -DUSE_MMAP=1 -g -O2
  LIBS = -ltalloc -ltdb  -lpopt -lldb -ltalloc   -L//lib -ldbus-1   -lpcre -L ../common/ini/.libs/ -lini_config -L ../common/collection/.libs/ -lcollection
Compiling monitor/monitor.c
Compiling util/debug.c
util/debug.c: In function 'debug_fn':
util/debug.c:19: warning: format not a string literal and no format arguments
util/debug.c:15: warning: ignoring return value of 'vasprintf', declared with attribute warn_unused_result
Compiling util/signal.c
Compiling util/server.c
util/server.c: In function 'pidfile':
util/server.c:98: warning: ignoring return value of 'asprintf', declared with attribute warn_unused_result
Compiling util/memory.c
Compiling util/btreemap.c
Compiling util/usertools.c
Compiling monitor/monitor_sbus.c
Compiling providers/dp_sbus.c
Compiling providers/dp_auth_util.c
In file included from providers/data_provider.h:30,
                 from providers/dp_auth_util.c:22:
/usr/include/samba-4.0/ldb.h:789: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'ldb_request_is_done'
/usr/include/samba-4.0/ldb.h:849: error: expected declaration specifiers or '...' before '*' token
/usr/include/samba-4.0/ldb.h:849: error: 'bool' declared as function returning a function
/usr/include/samba-4.0/ldb.h:850: error: expected declaration specifiers or '...' before 'ldb_async_callback_fn'
/usr/include/samba-4.0/ldb.h:1471: error: 'ldb_dn_has_extended' declared as function returning a function
/usr/include/samba-4.0/ldb.h:1514: error: 'ldb_dn_validate' declared as function returning a function
/usr/include/samba-4.0/ldb.h:1523: error: 'ldb_dn_add_base' declared as function returning a function
/usr/include/samba-4.0/ldb.h:1524: error: 'ldb_dn_add_base_fmt' declared as function returning a function
/usr/include/samba-4.0/ldb.h:1525: error: 'ldb_dn_add_child' declared as function returning a function
/usr/include/samba-4.0/ldb.h:1526: error: 'ldb_dn_add_child_fmt' declared as function returning a function
/usr/include/samba-4.0/ldb.h:1527: error: 'ldb_dn_remove_base_components' declared as function returning a function
/usr/include/samba-4.0/ldb.h:1528: error: 'ldb_dn_remove_child_components' declared as function returning a function
/usr/include/samba-4.0/ldb.h:1541: error: 'ldb_dn_is_valid' declared as function returning a function
/usr/include/samba-4.0/ldb.h:1542: error: 'ldb_dn_is_special' declared as function returning a function
/usr/include/samba-4.0/ldb.h:1543: error: 'ldb_dn_check_special' declared as function returning a function
/usr/include/samba-4.0/ldb.h:1544: error: 'ldb_dn_is_null' declared as function returning a function
make[1]: *** [providers/dp_auth_util.o] Error 1
make[1]: Leaving directory `/home/migpc/Code/sssd/sssd-0.3.3/server'
make: *** [build-arch-stamp] Error 2
dpkg-buildpackage: failure: debian/rules build gave error exit status 2
debuild: fatal error at line 1329:
dpkg-buildpackage -rfakeroot -D -us -uc failed



More information about the Freeipa-devel mailing list