On Sun 09/08/2020 09:58, Jeremie Courreges-Anglas wrote:
> On Sun, Aug 09 2020, Bjorn Ketelaars <[email protected]> wrote:
> > On Sun 09/08/2020 00:10, Jeremie Courreges-Anglas wrote:
> >> > ==> failures/sysutils/xxhash.log <==
> >> > Hunk #1 succeeded at 447.
> >> > done
> >> > ===>  Compiler link: clang -> /usr/bin/clang
> >> > ===>  Compiler link: clang++ -> /usr/bin/clang++
> >> > ===>  Compiler link: cc -> /usr/bin/cc
> >> > ===>  Compiler link: c++ -> /usr/bin/c++
> >> > ===>  Generating configure for xxhash-0.8.0
> >> > ===>  Configuring for xxhash-0.8.0
> >> > ===>  Building for xxhash-0.8.0
> >> > cc -O2 -pipe     -c -o xxhash.o xxhash.c
> >> > ar rcs libxxhash.a xxhash.o
> >> > cc -O2 -pipe    xxhash.c -shared  -o libxxhash.so.0.2
> >> > ld: error: relocation R_386_PC32 cannot be used against symbol 
> >> > XXH3_64bits_withSeed; recompile with -fPIC
> >> >>>> defined in /tmp/xxhash-53bf5d.o
> >> >>>> referenced by xxhash.c
> >> >>>>               /tmp/xxhash-53bf5d.o:(XXH3_64bits_digest)
> >> >
> >> > ld: error: relocation R_386_PC32 cannot be used against symbol 
> >> > XXH3_64bits_withSecret; recompile with -fPIC
> >> >>>> defined in /tmp/xxhash-53bf5d.o
> >> >>>> referenced by xxhash.c
> >> >>>>               /tmp/xxhash-53bf5d.o:(XXH3_64bits_digest)
> >> >
> >> > ld: error: relocation R_386_PC32 cannot be used against symbol 
> >> > XXH3_128bits_withSeed; recompile with -fPIC
> >> >>>> defined in /tmp/xxhash-53bf5d.o
> >> >>>> referenced by xxhash.c
> >> >>>>               /tmp/xxhash-53bf5d.o:(XXH3_generateSecret)
> >> >
> >> > ld: error: relocation R_386_PC32 cannot be used against symbol 
> >> > XXH3_128bits_withSeed; recompile with -fPIC
> >> >>>> defined in /tmp/xxhash-53bf5d.o
> >> >>>> referenced by xxhash.c
> >> >>>>               /tmp/xxhash-53bf5d.o:(XXH128)
> >> >
> >> > ld: error: relocation R_386_PC32 cannot be used against symbol 
> >> > XXH3_128bits_withSeed; recompile with -fPIC
> >> >>>> defined in /tmp/xxhash-53bf5d.o
> >> >>>> referenced by xxhash.c
> >> >>>>               /tmp/xxhash-53bf5d.o:(XXH3_128bits_digest)
> >> >
> >> > ld: error: relocation R_386_PC32 cannot be used against symbol 
> >> > XXH3_128bits_withSecret; recompile with -fPIC
> >> >>>> defined in /tmp/xxhash-53bf5d.o
> >> >>>> referenced by xxhash.c
> >> >>>>               /tmp/xxhash-53bf5d.o:(XXH3_128bits_digest)
> >> > cc: error: linker command failed with exit code 1 (use -v to see 
> >> > invocation)
> >> > gmake: *** [Makefile:129: libxxhash.so.0.2] Error 1
> >> > *** Error 2 in sysutils/xxhash 
> >> > (/usr/ports/infrastructure/mk/bsd.port.mk:2925 
> >> > '/pobj/xxhash-0.8.0/.build_done': @cd /pobj/xxhash-0.8.0/xxHas...)
> >> > *** Error 2 in sysutils/xxhash 
> >> > (/usr/ports/infrastructure/mk/bsd.port.mk:2584 'build': 
> >> > @lock=xxhash-0.8.0;  export _LOCKS_HELD=" xxhash-0.8....)
> >> > ===> Exiting sysutils/xxhash with an error
> >> > *** Error 1 in /usr/ports (infrastructure/mk/bsd.port.subdir.mk:137 
> >> > 'build': @: ${echo_msg:=echo};  : ${target:=build};  for i in ; do  
> >> > eval...)
> >> >>>> Ended at 1596797814.95
> >> > max_stuck=0.00/depends=1.29/show-prepare-results=0.32/build=4.64
> >> > Error: job failed with 512 on i386-1 at 1596797814
> >> 
> >> Shared libraries should be built with -fpic/-fPIC, i386 is more
> >> sensitive than amd64 in this regard.
> >> 
> >> In the diff below I strip the CXX bits since this is a C-only port.
> >> I can leave them alone if you prefer, though.
> >> 
> >> ok?
> >
> > Thank you addressing this issue!
> >
> > Please note that the CXX bits are needed for the testing phase. As such,
> > I think it makes sense to leave them alone (or move them to TEST_FLAGS).
> 
> Oh indeed.  I've left them alone.
> 
> Here's an alternative take regarding the CFLAGS vs -fPIC issue.
> Upstream's GNU Makefile does respect CFLAGS (we pass them via MAKE_ENV)
> and properly tweaks them when needed (eg when building the shared lib).
> By also passing CFLAGS via MAKE_FLAGS we prevent such tweaking.  So the
> fix is just to do less.
> 
> ok?
> 
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/sysutils/xxhash/Makefile,v
> retrieving revision 1.7
> diff -u -p -r1.7 Makefile
> --- Makefile  28 Jul 2020 04:41:18 -0000      1.7
> +++ Makefile  9 Aug 2020 07:34:49 -0000
> @@ -5,6 +5,7 @@ COMMENT =     extremely fast non-cryptograph
>  GH_ACCOUNT = Cyan4973
>  GH_PROJECT = xxHash
>  GH_TAGNAME = v0.8.0
> +REVISION =   0
>  PKGNAME =    ${DISTNAME:L}
>  
>  SHARED_LIBS =        xxhash 0.2      # 0.7.4
> @@ -22,7 +23,6 @@ WANTLIB =   c
>  
>  MAKE_FLAGS = CC="${CC}" \
>               CXX="${CXX}" \
> -             CFLAGS="${CFLAGS}" \
>               CXXFLAGS="${CXXFLAGS}" \
>               SONAME_FLAGS= \
>               SHARED_EXT_VER="so.${LIBxxhash_VERSION}" \

OK bket@

Reply via email to