Prefix/Cygwin: zlib, GCC, which version?
Hi,
after bootstrapping gcc-4.4.4-r1 re-emerging zlib displays this first <snippy> Checking for shared library support... Tested i686-pc-cygwin1.7-gcc -w -c -O2 -pipe -fPIC ztest2672.c Tested -O2 -pipe -fPIC -o ztest2672.so ztest2672.o ./configure: line 243: -O2: command not found No shared library support; try without defining CC and CFLAGS Building static library libz.a version 1.2.5 with i686-pc-cygwin1.7-gcc. </snippy> and breaks with this <snippy> cp libz.a /home/prefix/gentoo/var/tmp/portage/sys-libs/zlib-1.2.5-r2/image//home/prefix/gentoo/usr/lib cp /home/prefix/gentoo/var/tmp/portage/sys-libs/zlib-1.2.5-r2/image//home/prefix/gentoo/usr/lib cp: missing destination file operand after `/home/prefix/gentoo/var/tmp/portage/sys-libs/zlib-1.2.5-r2/image//home/prefix/gentoo/usr/lib' </snippy> Makefile gives the reason: STATICLIB=libz.a SHAREDLIB= SHAREDLIBV= SHAREDLIBM= [...] cp $(STATICLIB) $(DESTDIR)$(libdir) cp $(SHAREDLIBV) $(DESTDIR)$(sharedlibdir) Hence, $SHAREDLIBV has not been defined, that's why "cp" has only one argument. Configure detects no shared library support for i686-pc-cygwin1.7-gcc at all. What is going wrong here? Is the error in zlib or in GCC? How could I prove that GCC has a missing shared library support? Do you suspect any of my settings wrong? They worked for the whole bootstrapping process. Could it be the version of GCC? http://www.gentoo.org/proj/en/gentoo-alt/prefix/bootstrap-solaris.xml suggests "=gcc-4.2*". Why? Thank you very much Al -- Caution crosser: *Runnig Gentoo/Prefix on Cygwin/Vista. All stupid questions are related to that context. |
Prefix/Cygwin: zlib, GCC, which version?
> http://www.gentoo.org/proj/en/gentoo-alt/prefix/bootstrap-solaris.xml
> suggests "=gcc-4.2*". Why? To note that gcc-4.2.4-r01.2 also doesn't work. make[2]: Entering directory `/home/prefix/gentoo/var/tmp/portage/sys-devel/gcc-4.2.4-r01.2/work/build/i686-pc-cygwin1.7/libstdc++-v3/include' ... /home/prefix/gentoo/var/tmp/portage/sys-devel/gcc-4.2.4-r01.2/work/gcc-4.2.4/libiberty/strsignal.c:409: error: conflicting types for 'strsignal' /usr/include/string.h:79: error: previous declaration of 'strsignal' was here /home/prefix/gentoo/var/tmp/portage/sys-devel/gcc-4.2.4-r01.2/work/gcc-4.2.4/libiberty/strsignal.c: In function 'psignal': /home/prefix/gentoo/var/tmp/portage/sys-devel/gcc-4.2.4-r01.2/work/gcc-4.2.4/libiberty/strsignal.c:558: warning: comparison between signed and unsigned (Looks similar to this on Apple: http://www.mail-archive.com/gentoo-alt@lists.gentoo.org/msg04631.html) Is that right, that it using /usr/include/string.h from Cygwins glibc? Don't we add an own version of glibc on on Prefix? Is that the interface to Cygwins POSIX layer? Al -- Caution crosser: *Runnig Gentoo/Prefix on Cygwin/Vista. All stupid questions are related to that context. |
Prefix/Cygwin: zlib, GCC, which version?
On 10/05/10 17:05, Al wrote:
>> http://www.gentoo.org/proj/en/gentoo-alt/prefix/bootstrap-solaris.xml >> suggests "=gcc-4.2*". Why? IIRC, the reason to stick with gcc-4.2 during bootstrap is that it is the last one not needing extra dependencies (mpfr, gmp) being merged before, to keep bootstrap process as simple as possible. > To note that gcc-4.2.4-r01.2 also doesn't work. > > /home/prefix/gentoo/var/tmp/portage/sys-devel/gcc-4.2.4-r01.2/work/gcc-4.2.4/libiberty/strsignal.c:409: > error: conflicting types for 'strsignal' > /usr/include/string.h:79: error: previous declaration of 'strsignal' was here Seems like a cygwin specific issue, needing a cygwin specific fix in gcc then. > Is that right, that it using /usr/include/string.h from Cygwins glibc? Yes, although gcc may make a copy of system headers to fix known issues here and there, but I doubt this is done before building gcc itself. > Don't we add an own version of glibc on on Prefix? Nope, we use the host provided libc. > Is that the interface to Cygwins POSIX layer? What do you mean by "that"? Cygwin provides a POSIX layer, including some libc, and prefix runs on top of that. HTH, /haubi/ -- Michael Haubenwallner Gentoo on a different level |
Prefix/Cygwin: zlib, GCC, which version?
> IIRC, the reason to stick with gcc-4.2 during bootstrap is that it is the
> last one not needing extra dependencies (mpfr, gmp) being merged before, > to keep bootstrap process as simple as possible. Thank you Michael. Also 4.2* needs mpfr and gmp on Cygwin, but I can use the Cygwin package for this in the initial circle. So 4.2* is not a must and a can go with a younger version. 4.3* didn't build either. > >> To note that gcc-4.2.4-r01.2 also doesn't work. >> >> /home/prefix/gentoo/var/tmp/portage/sys-devel/gcc-4.2.4-r01.2/work/gcc-4.2.4/libiberty/strsignal.c:409: >> error: conflicting types for 'strsignal' >> /usr/include/string.h:79: error: previous declaration of 'strsignal' was here > > Seems like a cygwin specific issue, needing a cygwin specific fix in gcc then. > So I searched and found that they did something cygwin specific in libc/include/string.h. http://sourceware.org/ml/newlib/2008/msg00342.html -const char *_EXFUN(strsignal, (int __signo)); +char *_EXFUN(strsignal, (int __signo)); However I am surprised that ggc-4.2 breaks from this, while ggc-4.4 builds. From this thread I should expect that gcc-4.4 is the breaking one: http://old.nabble.com/GCC-4.4---Cygwin-build-failed-in-%27strsignal%27-td19666377.html Bottomline from both answers is to try to go with gcc-4.4 I think and to fokus on the SHAREDLIB issue. >> Is that right, that it using /usr/include/string.h from Cygwins glibc? > > Yes, although gcc may make a copy of system headers to fix known issues > here and there, but I doubt this is done before building gcc itself. > I meanwhile found an old thread on this, that tells nobody managed to emerge glibc on prefix yet. Al -- Caution crosser: *Runnig Gentoo/Prefix on Cygwin/Vista. All stupid questions are related to that context. |
Prefix/Cygwin: zlib, GCC, which version?
> <snippy>
> Checking for shared library support... > Tested i686-pc-cygwin1.7-gcc -w -c -O2 -pipe -fPIC ztest2672.c > Tested -O2 -pipe -fPIC -o ztest2672.so ztest2672.o > ./configure: line 243: -O2: command not found > No shared library support; try without defining CC and CFLAGS > Building static library libz.a version 1.2.5 with i686-pc-cygwin1.7-gcc. > </snippy> > > Is the error in zlib or in GCC? > > How could I prove that GCC has a missing shared library support? > Akkording to the bugtracker theis looks rather like a zlib issue. http://bugs.gentoo.org/61868. Why it doesn't occur during initial bootstrapping is still unclear, but it seams that at least big GCC is built and working with version gcc-4.4*. Al -- Caution crosser: *Runnig Gentoo/Prefix on Cygwin/Vista. All stupid questions are related to that context. |
Prefix/Cygwin: zlib, GCC, which version?
On 10/06/10 13:33, Al wrote:
>> IIRC, the reason to stick with gcc-4.2 during bootstrap is that it is the >> last one not needing extra dependencies (mpfr, gmp) being merged before, >> to keep bootstrap process as simple as possible. > > Thank you Michael. Also 4.2* needs mpfr and gmp on Cygwin, IIRC, gcc-4.2 does not need mpfr and gmp for C and C++, but Fortran only - which isn't needed during bootstrap: USE=-fortran should do. Since gcc-4.3, also the C and C++ compilers need mpfr and gmp. /haubi/ -- Michael Haubenwallner Gentoo on a different level |
| All times are GMT. The time now is 01:11 AM. |
VBulletin, Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.