Bug 236144 - graphics/embree: relocation R_X86_64_PC32 against `__stdoutp@@FBSD_1.0' can not be used when making a shared object; recompile with -fPIC
Summary: graphics/embree: relocation R_X86_64_PC32 against `__stdoutp@@FBSD_1.0' can n...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Alexey Dokuchaev
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-03-02 07:06 UTC by Yuri Victorovich
Modified: 2019-09-07 13:49 UTC (History)
2 users (show)

See Also:
bugzilla: maintainer-feedback? (danfe)


Attachments
patch (364 bytes, patch)
2019-03-02 07:06 UTC, Yuri Victorovich
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Yuri Victorovich freebsd_committer 2019-03-02 07:06:53 UTC
Created attachment 202493 [details]
patch

It breaks in 112amd64:

---log---
[313/354] : && /usr/bin/c++  -msse2 -Wall -Wformat -Wformat-security -fPIE -fPIC -std=c++11 -fvisibility=hidden -fvisibility-inlines-hidden -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -fno-tree-vectorize  -DNDEBUG -O3  -fstack-protector -z noexecstack -z relro -z now -pie tutorials/triangle_geometry/triangle_geometry_device.dev.o tutorials/triangle_geometry/triangle_geometry_device.dev_sse2.o tutorials/triangle_geometry/triangle_geometry_device.dev_sse4.o tutorials/triangle_geometry/triangle_geometry_device.dev_avx.o tutorials/triangle_geometry/triangle_geometry_device.dev_avx2.o tutorials/triangle_geometry/CMakeFiles/triangle_geometry_ispc.dir/triangle_geometry.cpp.o  -o triangle_geometry_ispc  -Wl,-rpath,/wrkdirs/usr/ports/graphics/embree/work/.build:/usr/local/lib: libtutorial.a libimage.a libtutorial_device_ispc.a libnoise.a libnoise_ispc.a libembree.so.2.17.6 libembree_sse42.a libembree_avx.a libembree_avx2.a libsimd.a libtasking.a libtutorial.a libscenegraph.a libimage.a liblexers.a /usr/local/lib/libGL.so /usr/local/lib/libGLU.so /usr/local/lib/libglut.so /usr/local/lib/libXmu.so /usr/local/lib/libXi.so liblights_ispc.a libsys.a -pthread libmath.a && :
FAILED: triangle_geometry_ispc
: && /usr/bin/c++  -msse2 -Wall -Wformat -Wformat-security -fPIE -fPIC -std=c++11 -fvisibility=hidden -fvisibility-inlines-hidden -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -fno-tree-vectorize  -DNDEBUG -O3  -fstack-protector -z noexecstack -z relro -z now -pie tutorials/triangle_geometry/triangle_geometry_device.dev.o tutorials/triangle_geometry/triangle_geometry_device.dev_sse2.o tutorials/triangle_geometry/triangle_geometry_device.dev_sse4.o tutorials/triangle_geometry/triangle_geometry_device.dev_avx.o tutorials/triangle_geometry/triangle_geometry_device.dev_avx2.o tutorials/triangle_geometry/CMakeFiles/triangle_geometry_ispc.dir/triangle_geometry.cpp.o  -o triangle_geometry_ispc  -Wl,-rpath,/wrkdirs/usr/ports/graphics/embree/work/.build:/usr/local/lib: libtutorial.a libimage.a libtutorial_device_ispc.a libnoise.a libnoise_ispc.a libembree.so.2.17.6 libembree_sse42.a libembree_avx.a libembree_avx2.a libsimd.a libtasking.a libtutorial.a libscenegraph.a libimage.a liblexers.a /usr/local/lib/libGL.so /usr/local/lib/libGLU.so /usr/local/lib/libglut.so /usr/local/lib/libXmu.so /usr/local/lib/libXi.so liblights_ispc.a libsys.a -pthread libmath.a && :
/usr/bin/ld: libtutorial_device_ispc.a(tutorial_device.dev_sse2.o): relocation R_X86_64_PC32 against `__stdoutp@@FBSD_1.0' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value
c++: error: linker command failed with exit code 1 (use -v to see invocation)
Comment 1 Alexey Dokuchaev freebsd_committer 2019-03-04 12:26:21 UTC
It does not look like adding -fPIC to LDFLAGS would change anything, as the code is built with -fPIC already, per what I see in the quoted build log.  The problem lies elsewhere.
Comment 2 Rene Ladan freebsd_committer 2019-09-07 13:49:29 UTC
Fix to link this port again committed, see also https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=239314#c3