On 2014/11/21 10:59, Stuart Henderson wrote:
> On 2014/10/27 13:58, Stuart Henderson wrote:
> > On 2014/10/27 12:31, David Coppa wrote:
> > > On Mon, Oct 27, 2014 at 11:10 AM, Stuart Henderson <st...@openbsd.org> 
> > > wrote:
> > > > anyone have an idea about this?
> > > >
> > > > libtool: link: cc -o .libs/kinit -pthread -Wall -Wmissing-prototypes 
> > > > -Wpointer-arith -Wbad-function-cast -Wmissing-declarations 
> > > > -Wnested-externs -DINET6 -O2 -pipe kinit.o 
> > > > /usr/obj/ports/heimdal-1.5.3/heimdal-1.5.3/lib/vers/.libs/libvers.a 
> > > > -L.libs -lkafs -lkrb5 -lasn1 -lcom_err -lroken -lwind -lheimbase 
> > > > -lhx509 -lcrypto -lheimsqlite -lheimntlm 
> > > > -Wl,-rpath,/usr/local/heimdal/lib
> > > > /usr/bin/ld: .libs/libkafs.so.21.0: invalid string offset 24565 >= 1506 
> > > > for section `.dynstr'
> > > > /usr/bin/ld: .libs/libkafs.so.21.0: invalid string offset 3755991007 >= 
> > > > 1506 for section `.dynstr'
> > > > .libs/libkafs.so.21.0(.rel.plt+0xdfdfcbfb): multiple definition of `no 
> > > > symbol'
> > > > .libs/libkafs.so.21.0(.gnu.version_r+0xffffed36): first defined here
> > > > .libs/libcom_err.so.21.0: warning: strcpy() is almost always misused, 
> > > > please use strlcpy()
> > > > .libs/libcom_err.so.21.0: warning: strcat() is almost always misused, 
> > > > please use strlcat()
> > > > collect2: ld returned 1 exit status
> > > >
> > > > full log attached.
> > > 
> > > Can this be related to symbol versioning?
> > > 
> > > http://marc.info/?l=openbsd-misc&m=125552372620228
> > > 
> > > Ciao,
> > > David
> > 
> > Maybe...
> > 
> > It built OK with a rebuild.
> > 
> > And actually, diffing the logs, the "invalid string offset" happens
> > both times anyway, it isn't the trigger for the failure.
> > 
> > The actual problem is:
> > 
> > > > .libs/libkafs.so.21.0(.rel.plt+0xdfdfcbfb): multiple definition of `no 
> > > > symbol'
> > 
> > dfdf - feels like a use after free.
> > 
> 
> ...and I had the "invalid string offset" again, but no "multiple
> definition" or any other errors this time.
> 
> /usr/bin/libtool --tag=CC    --mode=link cc  -Wall -Wmissing-prototypes 
> -Wpointer-arith -Wbad-function-cast -Wmissing-declarations -Wnested-externs  
> -DINET6 -O2 -pipe   -L/usr/local/lib -o kinit kinit.o ../lib/kafs/libkafs.la  
>  ../lib/krb5/libkrb5.la  ../lib/ntlm/libheimntlm.la  -lcrypto   
> ../lib/asn1/libasn1.la    ../lib/vers/libvers.la ../lib/roken/libroken.la   
> -pthread
> libtool: link: cc -o .libs/kinit -pthread -Wall -Wmissing-prototypes 
> -Wpointer-arith -Wbad-function-cast -Wmissing-declarations -Wnested-externs 
> -DINET6 -O2 -pipe kinit.o 
> /usr/obj/ports/heimdal-1.5.3/heimdal-1.5.3/lib/vers/.libs/libvers.a -L.libs 
> -lkafs -lkrb5 -lasn1 -lcom_err -lroken -lwind -lheimbase -lhx509 -lcrypto 
> -lheimsqlite -lheimntlm -Wl,-rpath,/usr/local/heimdal/lib
> /usr/bin/ld: .libs/libkafs.so.21.0: invalid string offset 611617279 >= 1506 
> for section `.dynstr'
> .libs/libkafs.so.21.0: could not read symbols: Bad value
> collect2: ld returned 1 exit status
> 
> Tarred up build directory available on request.
> 
> I think the next thing to try is a round of builds done with this:
> 
> CONFIGURE_ENV +=        rk_cv_version_script=no
> 
> 

...and that survived 50 build cycles with no failure (whereas with the
linker script it failed after 10 attempts)...

comments?

Index: Makefile
===================================================================
RCS file: /cvs/ports/security/heimdal/Makefile,v
retrieving revision 1.14
diff -u -p -r1.14 Makefile
--- Makefile    4 Sep 2014 08:20:16 -0000       1.14
+++ Makefile    21 Nov 2014 13:32:57 -0000
@@ -15,22 +15,22 @@ REVISION-main=              0
 
 CATEGORIES=            security net
 
-SHARED_LIBS +=  heimbase             1.0      # 1.0
-SHARED_LIBS +=  roken                2.0      # 19.0
+SHARED_LIBS +=  heimbase             1.1      # 1.0
+SHARED_LIBS +=  roken                2.1      # 19.0
 SHARED_LIBS +=  heimedit             0.0      # 0.36
-SHARED_LIBS +=  sl                   0.0      # 2.1
-SHARED_LIBS +=  wind                 2.0      # 0.0
-SHARED_LIBS +=  asn1                 21.0     # 8.0
-SHARED_LIBS +=  heimsqlite           0.0      # unknown
-SHARED_LIBS +=  hx509                0.0      # 5.0
-SHARED_LIBS +=  krb5                 21.0     # 26.0
+SHARED_LIBS +=  sl                   0.1      # 2.1
+SHARED_LIBS +=  wind                 2.1      # 0.0
+SHARED_LIBS +=  asn1                 21.1     # 8.0
+SHARED_LIBS +=  heimsqlite           0.1      # unknown
+SHARED_LIBS +=  hx509                0.1      # 5.0
+SHARED_LIBS +=  krb5                 21.1     # 26.0
 SHARED_LIBS +=  heimntlm             0.0      # 1.0
 SHARED_LIBS +=  kafs                 21.0     # 5.1
-SHARED_LIBS +=  gssapi               8.0      # 3.0
-SHARED_LIBS +=  hdb                  2.0      # 11.0
-SHARED_LIBS +=  kadm5srv             2.0      # 8.1
+SHARED_LIBS +=  gssapi               8.1      # 3.0
+SHARED_LIBS +=  hdb                  2.1      # 11.0
+SHARED_LIBS +=  kadm5srv             2.1      # 8.1
 SHARED_LIBS +=  kadm5clnt            2.0      # 7.1
-SHARED_LIBS +=  kdc                  2.0      # 2.0
+SHARED_LIBS +=  kdc                  2.1      # 2.0
 
 HOMEPAGE=              http://www.h5l.org/
 
@@ -92,6 +92,10 @@ CONFIGURE_ENV +=     ac_cv_funclib_db_create
                        ac_cv_header_db3_db_h=no \
                        ac_cv_header_db4_db_h=no \
                        ac_cv_header_db5_db_h=no
+
+# symbol versioning suspected to trigger weird linking problems
+# with our binutils
+CONFIGURE_ENV +=       rk_cv_version_script=no
 
 # do not pick-up libexecinfo if installed
 CONFIGURE_ENV +=       ac_cv_header_execinfo_h=no

Reply via email to