List Info

Thread: Build Problem




Build Problem
user name
2006-11-30 05:14:25
I have run into a build problem.  

./configure result:
#       GPGME v1.0.3 has been configured as follows:
#       GnuPG path:    /usr/local/bin/gpg
#       GnuPG version: 1.4.5, min. 1.2.2
#       GpgSM path:    no
#       GpgSM version: unknown, min. 1.9.6
#       GPGME Pthread: yes
#       GPGME Pth:


I am not an expert in the utilities used to build gpgme. 
But, wonder why a library seems to be missing.  Could this
be a command line argument ordering problem??

Read below for more information:

Thanks,
  D. Henman


-------------------------------- Start
#
# Make problem (November 30, 2006):  (see below)
#
(cd .libs && rm -f libgpgme.la && ln -s
../libgpgme.la libgpgme.la)
if /bin/sh ../libtool --tag=CC --mode=compile gcc
-DHAVE_CONFIG_H -I. -I. -I..      -g -O2 -Wall -Wcast-align
-Wshadow -Wstrict-prototypes -MT ath-pthread.lo -MD -MP -MF
".deps/ath-pthread.Tpo" -c -o ath-pthread.lo
ath-pthread.c; 
        then mv -f ".deps/ath-pthread.Tpo"
".deps/ath-pthread.Plo"; else rm -f
".deps/ath-pthread.Tpo"; exit 1; fi
 gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -Wcast-align
-Wshadow -Wstrict-prototypes -MT ath-pthread.lo -MD -MP -MF
.deps/ath-pthread.Tpo -c ath-pthread.c  -DPIC -o
.libs/ath-pthread.o
/bin/sh ../libtool --tag=CC --mode=link gcc  -g -O2 -Wall
-Wcast-align -Wshadow -Wstrict-prototypes   -o
libgpgme-pthread.la -rpath /usr/local/lib  -version-info
15:0:4 ath-pthread.lo libgpgme-real.la   stpcpy.lo
memrchr.lo -lpthread -lgpg-error

libtool: link: warning: undefined symbols not allowed in
i686-pc-cygwin shared libraries

.
.
.
Making all in tests
make[2]: Entering directory
`/usr/src/gpgme/gpgme-1.0.3/tests'
Making all in gpg
make[3]: Entering directory
`/usr/src/gpgme/gpgme-1.0.3/tests/gpg'
if gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../gpgme    -g
-O2 -Wall -Wcast-align -Wshadow -Wstrict-prototypes -MT
t-encrypt.o -MD -MP -MF ".deps/t-encrypt.Tpo" -c
-o t-encrypt.o t-encrypt.c; 
        then mv -f ".deps/t-encrypt.Tpo"
".deps/t-encrypt.Po"; else rm -f
".deps/t-encrypt.Tpo"; exit 1; fi
/bin/sh ../../libtool --tag=CC --mode=link gcc  -g -O2 -Wall
-Wcast-align -Wshadow -Wstrict-prototypes   -o t-encrypt.exe
 t-encrypt.o ../../gpgme/libgpgme.la
mkdir .libs
gcc -g -O2 -Wall -Wcast-align -Wshadow -Wstrict-prototypes
-o t-encrypt.exe t-encrypt.o  ../../gpgme/.libs/libgpgme.a
/usr/lib/libgpg-error.dll.a -L/usr/lib
/usr/lib/libintl.dll.a /usr/lib/libiconv.dll.a
../../gpgme/.libs/libgpgme.a(posix-sema.o): In posix-sema.c
			- undefined reference to `__gpgme_ath_mutex_destroy'
			- undefined reference to `__gpgme_ath_init'
			- undefined reference to `__gpgme_ath_mutex_lock'
			- undefined reference to `__gpgme_ath_mutex_unlock'
			- undefined reference to `__gpgme_ath_read'
			- undefined reference to `__gpgme_ath_write'
			- undefined reference to `__gpgme_ath_waitpid'
			- undefined reference to `__gpgme_ath_select'

make[3]: *** [t-encrypt.exe] Error 1
make[3]: Leaving directory
`/usr/src/gpgme/gpgme-1.0.3/tests/gpg'

-------------------------------- END

_______________________________________________
Gnupg-devel mailing list
Gnupg-develgnupg.org
h
ttp://lists.gnupg.org/mailman/listinfo/gnupg-devel
Build Problem
user name
2006-11-30 16:01:09
At Thu, 30 Nov 2006 14:14:25 +0900,
"djh" <henmanit.to-be.co.jp> wrote:
> I have run into a build problem.  
> 
> ./configure result:
> #       GPGME v1.0.3 has been configured as follows:
> #       GnuPG path:    /usr/local/bin/gpg
> #       GnuPG version: 1.4.5, min. 1.2.2
> #       GpgSM path:    no
> #       GpgSM version: unknown, min. 1.9.6
> #       GPGME Pthread: yes
> #       GPGME Pth:
> 
> 
> I am not an expert in the utilities used to build
gpgme.  But, wonder why a library seems to be missing. 
Could this be a command line argument ordering problem??

It seems libtool doesn't support your target architecture
well enough
for GPGME to build.  You may want to contact the libtool
people about
that.  We are using the mingw32 architecture, not cygwin,
for our
native Windows builds.

Thanks,
Marcus


_______________________________________________
Gnupg-devel mailing list
Gnupg-develgnupg.org
h
ttp://lists.gnupg.org/mailman/listinfo/gnupg-devel
Build Problem
user name
2006-12-01 11:55:54
Hi,

I checked in a change to GPGME to build all libraries
directly from
the sources, instead of going through a static lib. 
Automake is smart
enough to not build source files twice if the
CFLAGS/CPPFLAGS are
identical, which we can achieve without too much trouble.

Can you please test the below patch, or, even better, SVN
repository
revision 1192?

Thanks,
Marcus

2006-12-01  Marcus Brinkmann  <marcusg10code.de>

        * Makefile.am (libgpgme_real_la_SOURCES): Rename to
main_sources.
        (libgpgme_la_SOURCES, libgpgme_pthread_la_SOURCES,
        libgpgme_glib_la_SOURCES, libgpgme_pth_la_SOURCES):
Add
        $(main_sources).
        (libgpgme_la_DEPENDENCIES, libgpgme_la_LIBADD,
        libgpgme_pthread_la_DEPENDENCIES,
libgpgme_pthread_la_LIBADD,
        libgpgme_pth_la_DEPENDENCIES,
libgpgme_pth_la_LIBADD,
        libgpgme_glib_la_DEPENDENCIES,
libgpgme_glib_la_LIBADD): Remove
        libgpgme-real.la.
        (noinst_LTLIBRARIES): Removed.
        (libgpgme_glib_la_CFLAGS, libgpgme_pth_la_CFLAGS):
Removed.
        (AM_CFLAGS): New variable.


Index: gpgme/Makefile.am
============================================================
=======
--- gpgme/Makefile.am	(revision 1191)
+++ gpgme/Makefile.am	(working copy)
 -45,7
+45,6 
 ltlib_gpgme_extra =
 endif
 
-noinst_LTLIBRARIES = libgpgme-real.la
 lib_LTLIBRARIES = libgpgme.la $(ltlib_gpgme_extra) 
 	$(ltlib_gpgme_pthread) $(ltlib_gpgme_pth)
 
 -77,7
+76,12 
 gpgsm_components =
 endif
 
-libgpgme_real_la_SOURCES =						
+# These are the source files common to all library
versions.  We used
+# to build a non-installed library for that, but that does
not work
+# correctly on all platforms (in particular, one can not
specify the
+# right linking order with libtool, as the non-installed
version has
+# unresolved symbols to the thread module.
+main_sources =								
 	gpgme.h util.h conversion.c get-env.c context.h ops.h		
 	data.h data.c data-fd.c data-stream.c data-mem.c
data-user.c	
 	data-compat.c							
 -92,18
+96,22 
 	$(gpgsm_components) sema.h priv-io.h
$(system_components)	
 	debug.c debug.h gpgme.c version.c error.c
 
-libgpgme_la_SOURCES = ath.h ath.c
$(system_components_not_extra)
-libgpgme_pthread_la_SOURCES = 
+libgpgme_la_SOURCES = $(main_sources)					
+	ath.h ath.c $(system_components_not_extra) 
+libgpgme_pthread_la_SOURCES = $(main_sources)				
 	ath.h ath-pthread.c $(system_components_not_extra)
-libgpgme_pth_la_SOURCES = ath.h ath-pth.c
$(system_components_not_extra)
+libgpgme_pth_la_SOURCES = $(main_sources)				
+	ath.h ath-pth.c $(system_components_not_extra)
 
 if BUILD_W32_GLIB
-libgpgme_glib_la_SOURCES = ath.h ath.c w32-glib-io.c
+libgpgme_glib_la_SOURCES = $(main_sources) ath.h ath.c
w32-glib-io.c
 endif
 
-AM_CPPFLAGS = $(assuan_cppflags) GPG_ERROR_CFLAGS
+# We use a global CFLAGS and CPPFLAGS setting for all
library
+# versions, because then every object file is only compiled
once.
+AM_CPPFLAGS = $(assuan_cppflags) GPG_ERROR_CFLAGS PTH_CPPFLAGS
+AM_CFLAGS = PTH_CFLAGS GLIB_CFLAGS
 
-
 if HAVE_W32_SYSTEM
 
 LTRCCOMPILE = $(LIBTOOL) --mode=compile $(RC) 
 -141,36
+149,33 
 libgpgme_la_LDFLAGS = $(gpgme_res_ldflag) $(no_undefined)
$(export_symbols) 
 	$(libgpgme_version_script_cmd) -version-info 
 	LIBGPGME_LT_CURRENT:LIBGPGME_LT_REVISION:LIBGPGME_LT_AGE
-libgpgme_la_DEPENDENCIES = libgpgme-real.la
$(assuan_libobjs) 
+libgpgme_la_DEPENDENCIES = $(assuan_libobjs) 
 	LTLIBOBJS $(srcdir)/libgpgme.vers $(gpgme_deps)
-libgpgme_la_LIBADD = libgpgme-real.la $(assuan_libobjs)
LTLIBOBJS 
+libgpgme_la_LIBADD = $(assuan_libobjs) LTLIBOBJS 
 	GPG_ERROR_LIBS NETLIBS
 
 libgpgme_pthread_la_LDFLAGS =
$(libgpgme_version_script_cmd) -version-info 
 	LIBGPGME_LT_CURRENT:LIBGPGME_LT_REVISION:LIBGPGME_LT_AGE
-libgpgme_pthread_la_DEPENDENCIES = libgpgme-real.la
$(assuan_libobjs) 
+libgpgme_pthread_la_DEPENDENCIES = $(assuan_libobjs) 
 	LTLIBOBJS $(srcdir)/libgpgme.vers
-libgpgme_pthread_la_LIBADD = libgpgme-real.la
$(assuan_libobjs) LTLIBOBJS 
+libgpgme_pthread_la_LIBADD = $(assuan_libobjs) LTLIBOBJS 
 	-lpthread GPG_ERROR_LIBS NETLIBS
 
-libgpgme_pth_la_CFLAGS = $(AM_CFLAGS) PTH_CFLAGS
-libgpgme_pth_la_CPPFLAGS = $(AM_CPPFLAGS) PTH_CPPFLAGS
 libgpgme_pth_la_LDFLAGS = PTH_LDFLAGS 
 	$(libgpgme_version_script_cmd) -version-info 
 	LIBGPGME_LT_CURRENT:LIBGPGME_LT_REVISION:LIBGPGME_LT_AGE
-libgpgme_pth_la_DEPENDENCIES = libgpgme-real.la
$(assuan_libobjs) 
+libgpgme_pth_la_DEPENDENCIES = $(assuan_libobjs) 
 	LTLIBOBJS $(srcdir)/libgpgme.vers
-libgpgme_pth_la_LIBADD = libgpgme-real.la $(assuan_libobjs)
LTLIBOBJS 
+libgpgme_pth_la_LIBADD = $(assuan_libobjs) LTLIBOBJS 
 	PTH_LIBS GPG_ERROR_LIBS NETLIBS
 
 if BUILD_W32_GLIB
 libgpgme_glib_la_LDFLAGS = $(gpgme_res_ldflag)
$(no_undefined) 
 	$(export_symbols) $(libgpgme_version_script_cmd)
-version-info 
 	LIBGPGME_LT_CURRENT:LIBGPGME_LT_REVISION:LIBGPGME_LT_AGE
-libgpgme_glib_la_CFLAGS = $(AM_CFLAGS) GLIB_CFLAGS
-libgpgme_glib_la_DEPENDENCIES = libgpgme-real.la
$(assuan_libobjs) 
+libgpgme_glib_la_DEPENDENCIES = $(assuan_libobjs) 
 	LTLIBOBJS $(srcdir)/libgpgme.vers $(gpgme_deps)
-libgpgme_glib_la_LIBADD = libgpgme-real.la
$(assuan_libobjs) LTLIBOBJS 
+libgpgme_glib_la_LIBADD = $(assuan_libobjs) LTLIBOBJS 
 	GPG_ERROR_LIBS GLIB_LIBS NETLIBS
 endif
 


_______________________________________________
Gnupg-devel mailing list
Gnupg-develgnupg.org
h
ttp://lists.gnupg.org/mailman/listinfo/gnupg-devel
[1-3]

about | contact  Other archives ( Real Estate discussion Medical topics )