This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Problems building setup from CVS.



      Hey all,

  The subject says it all.  Are there any requirements that I don't know about for
say particular versions of automake/autoconf?  It says at
http://sources.redhat.com/cygwin-apps/setup.html

"This requires the Cygwin development automake/autoconf and libtool packages (from
the Cygwin Net Release). (Or equivalently patched versions on linux or other
platforms.)"

  Well, I'm not sure what's in the cygwin net release, nor what kind of patchset
would be 'equivalent' in those terms.  I've got these versions of
automake/autoconf, which are I believe the current cygwin release versions:

------------------------------<snip!>------------------------------
dk@mace /usr/build/apps/setup> autoconf --version
autoconf (GNU Autoconf) 2.59
Written by David J. MacKenzie and Akim Demaille.

Copyright (C) 2003 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
dk@mace /usr/build/apps/setup> automake --version
automake (GNU automake) 1.9.1
Written by Tom Tromey <tromey@redhat.com>.

Copyright 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
------------------------------<snip!>------------------------------

and I see these warnings when I run bootstrap.sh:

------------------------------<snip!>------------------------------
dk@mace /usr/build/apps/setup> ./bootstrap.sh
Running bootstrap.sh in libgetopt++
/usr/share/aclocal/freetype2.m4:7: warning: underquoted definition of AC_CHECK_FT2
  run info '(automake)Extending aclocal'
  or see http://sources.redhat.com/automake/automake.html#Extending-aclocal
/usr/share/aclocal/check.m4:5: warning: underquoted definition of AM_PATH_CHECK
configure.in: installing `cfgaux/install-sh'
configure.in: installing `cfgaux/missing'
Makefile.am: installing `cfgaux/depcomp'
Autotool bootstrapping complete.
Continuing with bootstrap in current directory
/usr/share/aclocal/freetype2.m4:7: warning: underquoted definition of AC_CHECK_FT2
  run info '(automake)Extending aclocal'
  or see http://sources.redhat.com/automake/automake.html#Extending-aclocal
/usr/share/aclocal/check.m4:5: warning: underquoted definition of AM_PATH_CHECK
configure.in: installing `cfgaux/install-sh'
configure.in: installing `cfgaux/missing'
tests/Makefile.am: installing `cfgaux/depcomp'
Makefile.am: installing `cfgaux/compile'
Autotool bootstrapping complete.
------------------------------<snip!>------------------------------

  I don't see any problems (or indeed any output whatsoever!) when I then run
autoconf and automake.  I use the standard recommended configure options:

------------------------------<snip!>------------------------------
dk@mace /usr/build/obj-apps> ../apps/setup/configure -C --enable-dependencies -
-disable-shared --host=i686-pc-mingw32 --build=i686-pc-cygwin 'CC=gcc -mno-cygw
in' 'CXX=g++ -mno-cygwin' --enable-maintainer-mode  2>&1 | tee conf.log
------------------------------<snip!>------------------------------

and see one suspicious thing during configure: when it goes to configure in
libgetopt++, there's something a bit suspiciously printf-y....

------------------------------<snip!>------------------------------
configure: creating ./config.status
config.status: creating Makefile
config.status: executing depfiles commands
configure: configuring in libgetopt++
configure: running /bin/bash '../../apps/setup/libgetopt++/configure' --prefix=/
usr/local  '-C' '--enable-dependencies' '--disable-shared' '--host=i686-pc-mingw
32' '--build=i686-pc-cygwin' 'CC=gcc -mno-cygwin' 'CXX=g++ -mno-cygwin' '--enabl
e-maintainer-mode' 'build_alias=i686-pc-cygwin' 'host_alias=i686-pc-mingw32' --c
ache-file=../config.cache --srcdir=../../apps/setup/libgetopt++
configure: loading cache ../config.cache
------------------------------<snip!>------------------------------
checking for ld used by gcc -mno-cygwin... ../../apps/setup/libgetopt++/configur
e: line 1: s%\\%/%g: No such file or directory
(cached) /usr/i686-pc-mingw32/bin/ld.exe
checking if the linker (/usr/i686-pc-mingw32/bin/ld.exe) is GNU ld... (cached) y
es
checking for /usr/i686-pc-mingw32/bin/ld.exe option to reload object files... (c
ached) -r
------------------------------<snip!>------------------------------


  Anyway, configure completes, and I go to build, and then two things happen.  One
is that when make enters any of the subdirectories, I see something like this:

------------------------------<snip!>------------------------------
make  all-recursive
make[1]: Entering directory `/usr/build/obj-apps'
Making all in bz2lib
make[2]: Entering directory `/usr/build/obj-apps/bz2lib'
 cd ../../apps/setup/bz2lib && /bin/bash /usr/build/apps/setup/cfgaux/missing --
run automake-1.8 --foreign
/usr/build/apps/setup/cfgaux/missing: line 52: automake-1.8: command not found
WARNING: `automake-1.8' is missing on your system.  You should only need it if
         you modified `Makefile.am', `acinclude.m4' or `configure.in'.
         You might want to install the `Automake' and `Perl' packages.
         Grab them from any GNU archive site.
 cd . && /bin/bash ./config.status Makefile depfiles
config.status: creating Makefile
config.status: executing depfiles commands
make[2]: Leaving directory `/usr/build/obj-apps/bz2lib'
------------------------------<snip!>------------------------------

and the other is that the final link fails badly:

------------------------------<snip!>------------------------------
/bin/bash ./libtool --mode=link --tag=CXX g++ -mno-cygwin -Werror -Wall -Wpointe
r-arith -Wcomments -Wcast-align -Wwrite-strings -g -O2   -o setup.exe -mwindows
AntiVirus.o archive.o archive_tar.o archive_tar_file.o autoload.o category.o cho
ose.o cistring.o compress.o compress_bz.o compress_gz.o ConnectionSetting.o Cont
rolAdjuster.o cygpackage.o desktop.o dialog.o diskfull.o download.o Exception.o
find.o FindVisitor.o FilterVisitor.o filemanip.o fromcwd.o geturl.o hash.o ini.o
 IniDBBuilder.o IniDBBuilderPackage.o iniparse.o IniParseFeedback.o IniParseFind
Visitor.o install.o io_stream.o io_stream_cygfile.o io_stream_file.o io_stream_m
emory.o localdir.o log.o LogFile.o LogSingleton.o main.o md5.o MD5++.o mkdir.o m
klink2.o mount.o msg.o net.o netio.o nio-ie5.o nio-file.o nio-ftp.o nio-http.o p
ackage_db.o package_meta.o package_source.o package_version.o PackageSpecificati
on.o PickCategoryLine.o PickLine.o PickPackageLine.o PickView.o postinstall.o pr
oppage.o propsheet.o rfc1738.o root.o ScanFindVisitor.o script.o setup_version.o
 simpsock.o site.o source.o SourceSetting.o splash.o state.o String++.o threebar
.o UserSetting.o UserSettings.o version.o win32.o window.o warnonly-inilex.o res
.o zlib/libzcygw.a bz2lib/libbz2.a libgetopt++/libgetopt++.la -luser32 -lkernel3
2 -lcomctl32 -lole32 -lwsock32 -lnetapi32 -ladvapi32 -luuid  -lmingw32
mkdir .libs
g++ -mno-cygwin -Werror -Wall -Wpointer-arith -Wcomments -Wcast-align -Wwrite-st
rings -g -O2 -o setup.exe -mwindows AntiVirus.o archive.o archive_tar.o archive_
tar_file.o autoload.o category.o choose.o cistring.o compress.o compress_bz.o co
mpress_gz.o ConnectionSetting.o ControlAdjuster.o cygpackage.o desktop.o dialog.
o diskfull.o download.o Exception.o find.o FindVisitor.o FilterVisitor.o fileman
ip.o fromcwd.o geturl.o hash.o ini.o IniDBBuilder.o IniDBBuilderPackage.o inipar
se.o IniParseFeedback.o IniParseFindVisitor.o install.o io_stream.o io_stream_cy
gfile.o io_stream_file.o io_stream_memory.o localdir.o log.o LogFile.o LogSingle
ton.o main.o md5.o MD5++.o mkdir.o mklink2.o mount.o msg.o net.o netio.o nio-ie5
.o nio-file.o nio-ftp.o nio-http.o package_db.o package_meta.o package_source.o
package_version.o PackageSpecification.o PickCategoryLine.o PickLine.o PickPacka
geLine.o PickView.o postinstall.o proppage.o propsheet.o rfc1738.o root.o ScanFi
ndVisitor.o script.o setup_version.o simpsock.o site.o source.o SourceSetting.o
splash.o state.o String++.o threebar.o UserSetting.o UserSettings.o version.o wi
n32.o window.o warnonly-inilex.o res.o  zlib/libzcygw.a bz2lib/libbz2.a libgetop
t++/.libs/libgetopt++.a -luser32 -lkernel32 -lcomctl32 -lole32 -lwsock32 -lnetap
i32 -ladvapi32 -luuid -lmingw32
/usr/lib/w32api/libadvapi32.a(dspes00177.o)(.text+0x0): multiple definition of `
_FreeSid@4'
autoload.o(.data+0x16b):/usr/build/obj-apps/../apps/setup/autoload.c:83: first d
efined here
/usr/lib/w32api/libadvapi32.a(dspes00026.o)(.text+0x0): multiple definition of `
_AllocateAndInitializeSid@44'
autoload.o(.data+0x149):/usr/build/obj-apps/../apps/setup/autoload.c:83: first d
efined here
/usr/lib/w32api/libadvapi32.a(dspes00253.o)(.text+0x0): multiple definition of `
_InitializeAcl@12'
autoload.o(.data+0x17c):/usr/build/obj-apps/../apps/setup/autoload.c:83: first d
efined here
/usr/lib/w32api/libadvapi32.a(dspes00013.o)(.text+0x0): multiple definition of `
_AddAccessAllowedAce@16'
autoload.o(.data+0x12c):/usr/build/obj-apps/../apps/setup/autoload.c:83: first d
efined here
/usr/lib/w32api/libadvapi32.a(dspes00357.o)(.text+0x0): multiple definition of `
_OpenProcessToken@12'
autoload.o(.data+0x193):/usr/build/obj-apps/../apps/setup/autoload.c:83: first d
efined here
/usr/lib/w32api/libadvapi32.a(dspes00479.o)(.text+0x0): multiple definition of `
_SetTokenInformation@16'
autoload.o(.data+0x1ad):/usr/build/obj-apps/../apps/setup/autoload.c:83: first d
efined here
collect2: ld returned 1 exit status
make[2]: *** [setup.exe] Error 1
make[2]: Leaving directory `/usr/build/obj-apps'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/build/obj-apps'
make: *** [all] Error 2
------------------------------<snip!>------------------------------

  So, could someone who's built it before tell me if those automake-1.8 warnings
are significant, and/or is automake-1.9.1 backwardly compatible enough I can just
provide a symlink to it called 'automake-1.8' to fake out the configure?

  And why would an app want to both link against the static import libs *and* try
to autoload functions?  I was able to work round the link error by removing the
extra entries from autoload.c:

------------------------------<snip!>------------------------------
Index: autoload.c
===================================================================
RCS file: /cvs/cygwin-apps/setup/autoload.c,v
retrieving revision 2.5
diff -p -u -r2.5 autoload.c
--- autoload.c  30 Aug 2004 16:17:52 -0000      2.5
+++ autoload.c  28 Sep 2004 10:55:30 -0000
@@ -48,12 +48,6 @@ Auto (wininet, HttpSendRequestA, 20);

 DLL (advapi32);

-Auto (advapi32, AddAccessAllowedAce, 16);
-Auto (advapi32, AllocateAndInitializeSid, 44);
-Auto (advapi32, FreeSid, 4);
-Auto (advapi32, InitializeAcl, 12);
-Auto (advapi32, OpenProcessToken, 12);
-Auto (advapi32, SetTokenInformation, 16);
 Auto (advapi32, OpenSCManagerA, 16);
 Auto (advapi32, CloseServiceHandle, 4);
 Auto (advapi32, OpenServiceA, 16);
------------------------------<snip!>------------------------------

  So have I got some kind of version skew problem here?

    cheers, 
      DaveK
-- 
Can't think of a witty .sigline today....


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]