ports/83905: [patch] lang/smalltalk tries to use backtrace_symbols_fd

Konstantin Belousov kostikbel at gmail.com
Fri Jul 22 12:50:18 UTC 2005


>Number:         83905
>Category:       ports
>Synopsis:       [patch] lang/smalltalk tries to use backtrace_symbols_fd
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Jul 22 12:50:15 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     Konstantin Belousov
>Release:        FreeBSD 5-STABLE
>Organization:
>Environment:
FreeBSD deviant.zoral.local 5.4-STABLE FreeBSD 5.4-STABLE #59: Mon Jul 18 11:31:54 EEST 2005 root at deviant.zoral.local:/usr/obj/usr/src/sys/DEVIANT  i386
>Description:
When linking gst binary (smalltalk interpreter itself), the following linker error is raised:

cc -O -pipe -march=pentiumpro -Wall -Wno-strict-aliasing -Wno-switch -fno-gcse -fstrict-aliasing -Wno-format -Wno-parentheses -Wpointer-arith -o gst main.o -Wl,--export-dynamic  -L/usr/local/lib libgst/.libs/libgst.a -lreadline -lm
libgst/.libs/libgst.a(interp.o)(.text+0x138ef): In function `interrupt_handler':
: undefined reference to `backtrace'
libgst/.libs/libgst.a(interp.o)(.text+0x13907): In function `interrupt_handler':
: undefined reference to `backtrace_symbols_fd'

This is glibc-specific interfaces, available under FreeBSD as devel/libexecinfo.

>How-To-Repeat:
Do an install of the lang/smalltalk (ver. 2.1.5_1)
>Fix:
      Add explicit devel/libexecinfo dependency to the port:

RCS file: /usr/local/arch/ncvs/ports/lang/smalltalk/Makefile,v
retrieving revision 1.60
diff -u -r1.60 Makefile
--- Makefile    12 Apr 2005 03:25:52 -0000      1.60
+++ Makefile    22 Jul 2005 12:38:18 -0000
@@ -15,7 +15,8 @@
 MAINTAINER=    ports at FreeBSD.org
 COMMENT=       GNU Smalltalk
 
-LIB_DEPENDS=   gdbm.3:${PORTSDIR}/databases/gdbm
+LIB_DEPENDS=   gdbm.3:${PORTSDIR}/databases/gdbm \
+               execinfo.1:${PORTSDIR}/devel/libexecinfo
 
 USE_REINPLACE= yes
 USE_GMAKE=     yes

and put the following patch into lang/smalltalk/files:
deviant% cat files/patch-libgst-Makefile.in
--- libgst/Makefile.in  Wed Sep 24 00:58:02 2003
+++ /tmp/libgst/Makefile.in     Fri Jul 22 15:27:43 2005
@@ -212,7 +212,7 @@
 
 # definitions for libgst.la
 libgst_la_LIBADD = $(top_builddir)/lib-src/library.la $(LIBSIGSEGV) \
-       @LIBLTDL@ @LIBSNPRINTFV@ @LIBREADLINE@ @LIBGMP@
+       @LIBLTDL@ @LIBSNPRINTFV@ @LIBREADLINE@ @LIBGMP@ -lexecinfo
 
 
 libgst_la_LDFLAGS = -version-info $(VERSION_INFO)

>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list