rdaly525 / coreir

BSD 3-Clause "New" or "Revised" License
100 stars 24 forks source link

RPATH for installed libraries #851

Open rswarbrick opened 4 years ago

rswarbrick commented 4 years ago

If I build coreir like this:

cmake .. -DCMAKE_INSTALL_PATH=/opt/coreir
make -j4
make install

The RPATH-hacking code in src/CMakeLists.txt seems to successfully populate DT_RUNPATH in /opt/coreir/lib/libcoreir.so, but not in /opt/coreir/lib/libcoreir-c.so and friends. Specifically, I see:

$ for lib in /opt/coreir/lib/*.so; do echo $lib; readelf -a $lib | grep RUNPATH; done
/opt/coreir/lib/libcoreir-aetherlinglib.so
 0x000000000000001d (RUNPATH)            Library runpath: [/src/lr/cosa/coreir/build/lib]
/opt/coreir/lib/libcoreir-commonlib.so
 0x000000000000001d (RUNPATH)            Library runpath: [/src/lr/cosa/coreir/build/lib]
/opt/coreir/lib/libcoreir-c.so
 0x000000000000001d (RUNPATH)            Library runpath: [/src/lr/cosa/coreir/build/lib]
/opt/coreir/lib/libcoreir-float_CW.so
 0x000000000000001d (RUNPATH)            Library runpath: [/src/lr/cosa/coreir/build/lib]
/opt/coreir/lib/libcoreir-float_DW.so
 0x000000000000001d (RUNPATH)            Library runpath: [/src/lr/cosa/coreir/build/lib]
/opt/coreir/lib/libcoreir-float.so
 0x000000000000001d (RUNPATH)            Library runpath: [/src/lr/cosa/coreir/build/lib]
/opt/coreir/lib/libcoreir-ice40.so
 0x000000000000001d (RUNPATH)            Library runpath: [/src/lr/cosa/coreir/build/lib]
/opt/coreir/lib/libcoreir-rtlil.so
 0x000000000000001d (RUNPATH)            Library runpath: [/src/lr/cosa/coreir/build/lib]
/opt/coreir/lib/libcoreirsim-c.so
 0x000000000000001d (RUNPATH)            Library runpath: [/src/lr/cosa/coreir/build/lib]
/opt/coreir/lib/libcoreirsim.so
 0x000000000000001d (RUNPATH)            Library runpath: [/src/lr/cosa/coreir/build/lib]
/opt/coreir/lib/libcoreir.so
 0x000000000000001d (RUNPATH)            Library runpath: [/opt/coreir/lib]
/opt/coreir/lib/libverilogAST.so

I think that all the RUNPATHs should have been fixed up.