On 29.12.2011 13:59 (UTC+1), O. Hartmann wrote: > Am 12/29/11 13:34, schrieb Daniel Kalchev: >> >> >> On 29.12.11 14:19, O. Hartmann wrote: >>> Am 12/29/11 12:59, schrieb Kostik Belousov: >>>> On Thu, Dec 29, 2011 at 12:19:40PM +0100, O. Hartmann wrote: >>>>> [...] >>>>> /usr/bin/ld: lapi.o: relocation R_X86_64_32 against `luaO_nilobject_' >>>>> can not be used when making a shared object; recompile with -fPIC >>>>> lapi.o: could not read symbols: Bad value >>>>> clang: error: linker command failed with exit code 1 (use -v to see >>>>> invocation) >>>>> *** Error code 1 >>>>> >>>>> Stop in /usr/ports/lang/lua/work/lua-5.1.4/src. >>>>> *** Error code 1 >>>>> >>>>> Stop in /usr/ports/lang/lua/work/lua-5.1.4/src. >>>>> *** Error code 1 >>>>> >>>>> Stop in /usr/ports/lang/lua/work/lua-5.1.4. >>>>> *** Error code 1 >>>>> >>>>> Stop in /usr/ports/lang/lua. >>>>> >>>>> ===>>> make failed for lang/lua >>>>> ===>>> Aborting update >>>>> >>>>> Terminated >>>>> Terminated >>>>> >>>>> This is very strange! >>>> What is strange ? It is exactly the same problem as in the first message >>>> started this thread. You must use -fPIC flag for compiler when compiling >>>> objects that shall be later linked into dso. So, for lua case, -fPIC >>>> must be present on the cc -c command line. >>> This therefore strange, since this problem with lua occurs on machines, >>> where I've set "CFLAGS=" and "COPTFLAGS=" as in >>> /usr/share/examples/etc/make.conf and on one box, one box I accidentally >>> set those flags to "CFLAGS+=" and "COPTFLAGS+=" and there it works and >>> the -fPIC flag is set by the FreeBSD's port framework. >>> >>> So I guess there is a bug introduced with one of the last Mk-files >>> updates. >>> >> >> As suggested by the "howto" for using newer GCC versions, >> http://www.freebsd.org/doc/en/articles/custom-gcc/article.html you are >> supposed to use CFLAGS+= to add additional compile flags. > > Just for the record I'd like to repeat, that the error above mentioned > is also with the legacy FreeBSD's gcc 4.2.X compiler. > > As Kostik Belousov made clear in his last posting, the error occurs due > to a missing -fPIC - which is now clear to me. > > People not sleeping with their OS, like myself, would simply copy the > make.conf from /usr/share/examples/etc/ and set some additional flags. > Then the problem will occur again. Maybe it would be wise to reflect > this issue by some additional words in make.conf? As stated earlier, the following fails in /etc/make.conf for lang/lua: CFLAGS= -O2 -fno-strict-aliasing -pipe -msse3 The next one works ( += instead of = ) and -fPIC is preserved this way: CFLAGS+= -O2 -fno-strict-aliasing -pipe -msse3 Thanks, Kostik and Daniel for clearing this. I think, like Oliver, that this should be mentioned in /etc/make.conf or make.conf(5). Rainer >> By the way, "-O2 -fno-strict-aliasing -pipe" are the default flags, that >> are used when CFLAGS is not set by the user. >> >> COPTFLAGS is used only to build the kernel and doing it with non-system >> GCC is not likely to be safe. >> >> Daniel > > > OliverReceived on Thu Dec 29 2011 - 13:06:06 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:22 UTC