pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pkg/45364: devel/pcre fails to build on Solaris10 with gcc in 64bit mode



>Number:         45364
>Category:       pkg
>Synopsis:       devel/pcre fails to build on Solaris10 with gcc in 64bit mode
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Sep 13 15:05:00 +0000 2011
>Originator:     Dmitry Afanasiev
>Release:        
>Organization:
>Environment:
SunOS sunray 5.10 Generic_144489-01 i86pc i386 i86pc
>Description:
devel/pcre fails to build on Solaris 10 after these messages:
/usr/pkg/bin/pdksh ./libtool --tag=CXX    --mode=link g++   -O -Wno-format 
-fno-builtin -version-info 0:0:0 -Wl,-R/usr/pkg/lib -o libpcrecpp.la -rpath 
/usr/pkg/lib pcrecpp.lo  pcre_scanner.lo pcre_stringpiece.lo libpcre.la
libtool: link: g++ -shared -nostdlib -Wl,-R/usr/pkg/lib /usr/lib/crti.o 
/usr/lib/values-Xa.o /usr/sfw/lib/gcc/i386-pc-solaris2.10/3.4.3/crtbegin.o  
.libs/pcrecpp.o .libs/pcre_scanner.o .libs/pcre_stringpiece.o   -Wl,-R 
-Wl,/root/pkgsrc/devel/pcre/work/pcre-8.12/.libs -Wl,-R -Wl,/usr/sfw/lib -Wl,-R 
-Wl,/usr/pkg/lib -Wl, -R -Wl,/usr/sfw/lib ./.libs/libpcre.so 
-L/root/pkgsrc/devel/pcre/work/.buildlink/lib 
-L/usr/sfw/lib/gcc/i386-pc-solaris2.10/3.4.3 
-L/usr/sfw/lib/gcc/i386-pc-solaris2.10/3.4.3/../../.. /usr/sfw/lib/libstdc++.so 
-L/usr/sfw/lib -lm -lgcc_s /usr/sfw/lib/gcc/i386-pc-solaris2.10/3.4.3/crtend.o 
/usr/lib/crtn.o  -Wl,-R/usr/pkg/lib   -Wl,-h -Wl,libpcrecpp.so.0 -o 
.libs/libpcrecpp.so.0.0.0
ld: fatal: file .libs/pcrecpp.o: wrong ELF class: ELFCLASS64
ld: fatal: File processing errors. No output written to 
.libs/libpcrecpp.so.0.0.0
collect2: ld returned 1 exit status  
*** Error code 1

The root cause is in the using:
/usr/lib/crti.o
/usr/lib/values-Xa.o
/usr/sfw/lib/gcc/i386-pc-solaris2.10/3.4.3/crtbegin.o
/usr/sfw/lib/gcc/i386-pc-solaris2.10/3.4.3/crtend.o
/usr/lib/crtn.o
instead:
/usr/lib/amd64/crti.o
/usr/lib/amd64/values-Xa.o
/usr/sfw/lib/gcc/i386-pc-solaris2.10/3.4.3/amd64/crtbegin.o
/usr/sfw/lib/gcc/i386-pc-solaris2.10/3.4.3/amd64/crtend.o
/usr/lib/amd64/crtn.o

And the problem is simular to pkg/45102.

After manual patching of work/.wrapper/tmp/cache build was complete.
But I do not understand how this file is formed in order to provide a patch.
>How-To-Repeat:
On Solaris10/amd64:
# ./bootstrap --abi=64
(also I patched bootstrap to use x86_64 as MACHINE_ARCH)
# cd ../devel/pcre
# bmake
>Fix:



Home | Main Index | Thread Index | Old Index