[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] disable de-duplication of postdeps on Solaris
From: |
Bob Friesenhahn |
Subject: |
Re: [PATCH] disable de-duplication of postdeps on Solaris |
Date: |
Mon, 30 Jul 2012 09:27:00 -0500 (CDT) |
User-agent: |
Alpine 2.01 (GSO 1266 2009-07-14) |
On Mon, 30 Jul 2012, Fabian Groffen wrote:
On 30-07-2012 08:49:17 -0500, Bob Friesenhahn wrote:
Libtool link line:
/bin/bash ./libtool --tag=CXX --mode=link /usr/local64/bin/c++-64
-march=native -O -g -g3 -ggdb -Wall -Winline -W -Wextra -Wno-unknown-pragmas
-D_REENTRANT -pthreads -no-undefined -Wl,-zlazyload -L/usr/local64/lib
-R/usr/local64/lib -L/usr/openwin/lib -R/usr/openwin/lib -L/usr/local64/lib
-L/usr/lib -o Magick++/tests/exceptions Magick++/tests/exceptions.o
Magick++/lib/libGraphicsMagick++.la
there's no -lc here
libtool: link: /usr/local64/bin/c++-64 -march=native -O -g -g3 -ggdb -Wall
-Winline -W -Wextra -Wno-unknown-pragmas -D_REENTRANT -pthreads -Wl,-zlazyload
-o Magick++/tests/exceptions Magick++/tests/exceptions.o -L/usr/local64/lib
-L/usr/openwin/lib -L/usr/lib Magick++/lib/.libs/libGraphicsMagick++.a
/home/bfriesen/build/GM-16-static-64bit/magick/.libs/libGraphicsMagick.a
-lpthread /usr/local64/lib/liblcms2.so /usr/local64/lib/libtiff.so -lc
/usr/local64/lib/libjbig.so /usr/local64/lib/libfreetype.so
/usr/local64/lib/libjasper.so /usr/local64/lib/libjpeg.so
/usr/local64/lib/libwmflite.so -lXext -lSM -lICE -lX11 -lsocket -lnsl
/usr/local64/lib/liblzma.so -lbz2 -lxml2 -lz
/usr/local/lib/gcc/i386-pc-solaris2.10/4.7.1/amd64/libgomp.so -lrt
/usr/local/lib/gcc/i386-pc-solaris2.10/4.7.1/amd64/libstdc++.so -lm -fopenmp
-pthreads -Wl,-R -Wl,/usr/local64/lib -Wl,-R
-Wl,/usr/local/lib/gcc/i386-pc-solaris2.10/4.7.1/amd64 -Wl,-R
-Wl,/usr/local64/lib -Wl,-R -Wl,/usr/local/lib/gcc/i386-!
pc-!
and there is now so most likely it was in the
libGraphicsMagick++.la file, which got it from libtiff's pkg-config
perhaps? (just guessing)
GraphicsMagick does not use pkg-config. However, I see that -lc is
included in the libtiff.la file as a dependency:
# Libraries that this one depends upon.
dependency_libs=' -R/usr/local64/lib -L/usr/local64/lib
/usr/local64/lib/liblzma.la /usr/local64/lib/libjbig.la
/usr/local64/lib/libjpeg.la -lz -lm -lc'
/usr/local/libexec/gcc/i386-pc-solaris2.10/4.7.1/collect2 -V -Y
P,/lib/amd64:/usr/lib/amd64 -Qy -o Magick++/tests/exceptions
/usr/lib/amd64/crt1.o /usr/lib/amd64/crti.o /usr/lib/amd64/values-Xa.o
/usr/local/lib/gcc/i386-pc-solaris2.10/4.7.1/amd64/crtbegin.o
-L/usr/local64/lib -L/usr/openwin/lib -L/usr/lib
-L/usr/local/lib/gcc/i386-pc-solaris2.10/4.7.1/amd64
-L/usr/local/lib/gcc/i386-pc-solaris2.10/4.7.1/../../../amd64 -L/lib/amd64
-L/usr/lib/amd64 -L/usr/local/lib/gcc/i386-pc-solaris2.10/4.7.1
-L/usr/local/lib/gcc/i386-pc-solaris2.10/4.7.1/../../.. -zlazyload
Magick++/tests/exceptions.o Magick++/lib/.libs/libGraphicsMagick++.a
/home/bfriesen/build/GM-16-static-64bit/magick/.libs/libGraphicsMagick.a
-lpthread /usr/local64/lib/liblcms2.so /usr/local64/lib/libtiff.so
/usr/local64/lib/libjbig.so /usr/local64/lib/libfreetype.so
/usr/local64/lib/libjasper.so /usr/local64/lib/libjpeg.so
/usr/local64/lib/libwmflite.so -lXext -lSM -lICE -lX11 -lsocket -lnsl
/usr/local64/lib/libl!
zma!
.so -lbz2 -lxml2 -lz
/usr/local/lib/gcc/i386-pc-solaris2.10/4.7.1/amd64/libgomp.so -lrt
/usr/local/lib/gcc/i386-pc-solaris2.10/4.7.1/amd64/libstdc++.so -R
/usr/local64/lib -R /usr/local/lib/gcc/i386-pc-solaris2.10/4.7.1/amd64 -R
/usr/local64/lib -R /usr/local/lib/gcc/i386-pc-solaris2.10/4.7.1/amd64 -R
/usr/openwin/lib -lstdc++ -lm -lc -lgomp -lgcc_s -lgcc -lpthread -lc -lgcc_s
-lgcc /usr/local/lib/gcc/i386-pc-solaris2.10/4.7.1/amd64/crtend.o
/usr/lib/amd64/crtn.o
-lc was specified, so not much the compiler can do here, IMO.
Yesterday I took the link command that libtool was generating and
removed -lc from it. GCC still produced -lc in its collect2
invocation.
It seems that there are at least two issues. In some cases libtool is
putting -lc into the .la files and in some cases (I am suspecting
pthreads) GCC injects -lc.
I am not seeing -lc listed as a dependency in the other .la files for
libraries built for AMD64. A strong clue is that this also appears in
libtiff.la:
# Linker flags that can not go in dependency_libs.
inherited_linker_flags=' -pthreads'
I see that libtiff is ingesting and using the AX_PTHREAD
macro. As a maintainer of libtiff, I will investigate this. It seems
likely to be pulled in through use of OpenGL/GLUT macros.
Bob
--
Bob Friesenhahn
address@hidden, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer, http://www.GraphicsMagick.org/
- [PATCH] disable de-duplication of postdeps on Solaris, Fabian Groffen, 2012/07/26
- Re: [PATCH] disable de-duplication of postdeps on Solaris, Bob Friesenhahn, 2012/07/26
- Re: [PATCH] disable de-duplication of postdeps on Solaris, Bob Friesenhahn, 2012/07/29
- Re: [PATCH] disable de-duplication of postdeps on Solaris, Fabian Groffen, 2012/07/30
- Re: [PATCH] disable de-duplication of postdeps on Solaris, Bob Friesenhahn, 2012/07/30
- Re: [PATCH] disable de-duplication of postdeps on Solaris, Fabian Groffen, 2012/07/30
- Re: [PATCH] disable de-duplication of postdeps on Solaris,
Bob Friesenhahn <=
- Re: [PATCH] disable de-duplication of postdeps on Solaris, Fabian Groffen, 2012/07/30
- Re: [PATCH] disable de-duplication of postdeps on Solaris, Bob Friesenhahn, 2012/07/30
- Re: [PATCH] disable de-duplication of postdeps on Solaris, Fabian Groffen, 2012/07/30
- Re: [PATCH] disable de-duplication of postdeps on Solaris, Bob Friesenhahn, 2012/07/30