ports/110525: palm/palm-db-tools: attempt to fix amd64 build

Eric P. Scott eps+pbug0703 at ana.com
Mon Mar 19 17:10:04 UTC 2007


>Number:         110525
>Category:       ports
>Synopsis:       palm/palm-db-tools: attempt to fix amd64 build
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Mon Mar 19 17:10:03 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator:     Eric P. Scott
>Release:        FreeBSD 6.2-RELEASE-p2 i386
>Organization:
ana-systems, Inc.
>Environment:
System: FreeBSD sixofone 6.2-RELEASE-p2 FreeBSD 6.2-RELEASE-p2 #0: Tue Feb 27 22:41:06 UTC 2007 root at i386-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC i386
>Description:
Incorrect CXXFLAGS cause shared library link to fail on amd64.
There are three "simple" approaches to fixing this:

1. Do not build or install a shared library.  This is a solution
of last resort.

2. Enable libtool.  This fixes the shared library problem, but
the first executable gets compiled suboptimally, and the make
fails for the second executable.

3. (Chosen) Patch the Makefile.in files to compile position-
independent code for the shared objects.  There are a couple of
ways to do this; one possibility appears below.

I don't have access to an amd64 system running FreeBSD, so I
haven't actually tested this.
>How-To-Repeat:
>Fix:
--- palm/palm-db-tools/Makefile.orig	Wed Feb 28 16:56:45 2007
+++ palm/palm-db-tools/Makefile
@@ -24,4 +24,13 @@
 		bin/csv2pdb \
 		bin/pdb2csv
 
+post-patch:
+	@${REINPLACE_CMD} -e "s|-shared|& -fPIC|" \
+		${WRKSRC}/flatfile/Makefile.in
+	@cd ${WRKSRC} && \
+		${REINPLACE_CMD} -e "s|-Wno-deprecated|& -fPIC -DPIC|" \
+		libflatfile/Makefile.in \
+		libpalm/Makefile.in \
+		libsupport/Makefile.in
+
 .include <bsd.port.mk>
>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list