Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 15 Nov 2012 20:53:02 +0900
From:      Takeshi Taguchi <taguchi@ff.iij4u.or.jp>
To:        freebsd-ports@freebsd.org
Subject:   [patch] databases/db42 clang -fPIC issue
Message-ID:  <50A4D79E.8090906@ff.iij4u.or.jp>

next in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.
--------------070806040403020707070806
Content-Type: text/plain; charset=ISO-2022-JP
Content-Transfer-Encoding: 7bit

Hi,
In CURRENT, clang can not compile database/db42.
here is a error message:

BEGIN>---8<ERROR MESSAGE>8---
/usr/bin/ld: .libs/cxx_db.o: relocation R_X86_64_32S against `_ZTV2Db'
 can not be used when making a shared object; recompile with -fPIC
.libs/cxx_db.o: could not read symbols: Bad value
c++: error: linker command failed with exit code 1 (use -v to see
invocation)
*** [libdb_cxx-4.2.la] Error code 1

Stop in /usr/ports/databases/db42/work/db-4.2.52/build_unix.
*** [do-build] Error code 1

Stop in /usr/ports/databases/db42.
END>---8<ERROR MESSAGE>8---

linker said 'recompile with -fPIC'.
Actualy,
BEGIN>---8<COMPILE LOG>8---
 c++ -c -I. -I./../dist/.. -D_THREAD_SAFE -O2 -fno-strict-aliasing
-pipe -fconserve-space ./../dist/../cxx/cxx_txn.cpp  -DPIC
END>---8<COMPILE LOG>8---

there is a -DPIC flag, but not -fPIC.
Why not?

db42 uses its own libtool rather than FreeBSD's ${LOCALBASE}/bin
/libtool.

configure said:

BEGIN>---8<PART OF configure>8---
LIBTOOL= '$(SHELL) ./libtool'
END>---8<PART OF configure>8---

this libtool compiles c++ source without -fPIC flag if CC is clang.

libtool in ${LOCALBASE} was patched for FreeBSD. but db42
 libtool was NOT. so -fPIC flag was lost.

Here is a patch for fix this issue.

I'd send-pr this issue as ports/173627.
But
  http://www.freebsd.org/cgi/query-pr.cgi?pr=173627
said "No PRs Matched Query"
So I posted it here.
Would you like to review/commit this patch?

Thanks.




--------------070806040403020707070806
Content-Type: text/plain; charset=Shift_JIS;
 name="db42-patch.txt"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="db42-patch.txt"

LS0tIGZpbGVzL3BhdGNoLWRpc3Q6OmNvbmZpZ3VyZS5vcmlnCTIwMTItMTEtMTMgMDY6MDk6
MzguMDAwMDAwMDAwICswOTAwCisrKyBmaWxlcy9wYXRjaC1kaXN0Ojpjb25maWd1cmUJMjAx
Mi0xMS0xMyAwNjoxNzo1NS4wMDAwMDAwMDAgKzA5MDAKQEAgLTEsNyArMSwxNiBAQAotLS0t
IC4uL2Rpc3QvY29uZmlndXJlLm9yaWcJV2VkIERlYyAgNSAxMzoxNDowMiAyMDAxCi0rKysg
Li4vZGlzdC9jb25maWd1cmUJV2VkIERlYyAgNSAxMzoyNDowMSAyMDAxCi1AQCAtODc5NCwx
MCArODc5NCwxMCBAQAotIElOU1RBTExFUj0iXCQoTElCVE9PTCkgLS1tb2RlPWluc3RhbGwg
Y3AiCistLS0gLi4vZGlzdC9jb25maWd1cmUub3JpZwkyMDEyLTExLTEzIDA2OjA4OjQ5LjAw
MDAwMDAwMCArMDkwMAorKysrIC4uL2Rpc3QvY29uZmlndXJlCTIwMTItMTEtMTMgMDY6MTY6
MDkuMDAwMDAwMDAwICswOTAwCitAQCAtMjAwNDYsNyArMjAwNDYsNyBAQAorIAorIAorIFNP
RkxBR1M9Ii1ycGF0aCBcJChsaWJkaXIpIgorLUxJQlRPT0xfUFJPRz0iJHtTSEVMTH0gLi9s
aWJ0b29sIgorK0xJQlRPT0xfUFJPRz0iJHByZWZpeC9iaW4vbGlidG9vbCIKKyAKKyAjIFNl
dCBTT1NVRkZJWCBhbmQgZnJpZW5kcworIAorQEAgLTIwMTM4LDEzICsyMDEzOCwxMyBAQAor
IElOU1RBTExFUj0iXCQoTElCVE9PTCkgLS1tb2RlPWluc3RhbGwgY3AgLXAiCiAgCiAgTUFL
RUZJTEVfQ0M9IlwkKExJQlRPT0wpIC0tbW9kZT1jb21waWxlICR7TUFLRUZJTEVfQ0N9Igog
LU1BS0VGSUxFX1NPTElOSz0iXCQoTElCVE9PTCkgLS1tb2RlPWxpbmsgJHtNQUtFRklMRV9D
Q0xJTkt9IC1hdm9pZC12ZXJzaW9uIgpAQCAtMTIsNCArMjEsOCBAQAogK01BS0VGSUxFX1hT
T0xJTks9IlwkKExJQlRPT0wpIC0tbW9kZT1saW5rICR7TUFLRUZJTEVfQ1hYTElOS30gLXZl
cnNpb24taW5mbyAke0RCX1ZFUlNJT05fTUlOT1J9IgogIE1BS0VGSUxFX0NYWExJTks9Ilwk
KExJQlRPT0wpIC0tbW9kZT1saW5rICR7TUFLRUZJTEVfQ1hYTElOS30iCiAgCi0gIyBDb25m
aWd1cmUgZm9yIHNoYXJlZCBsaWJyYXJpZXMsIHN0YXRpYyBsaWJyYXJpZXMsIG9yIGJvdGgu
ICBJZiBib3RoIGFyZQorLUxJQlRPT0w9IlwkKFNIRUxMKSAuL2xpYnRvb2wiCisrTElCVE9P
TD0iJHByZWZpeC9iaW4vbGlidG9vbCIKKyAKKyBjYXNlICIkaG9zdF9vcyIgaW4KKyBjeWd3
aW4qKQo=
--------------070806040403020707070806--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?50A4D79E.8090906>