Hinko Kocevar <[email protected]> skribis: > The package builds fine, but validate-runpath phase fails with messages: > > starting phase `validate-runpath' > validating RUNPATH of 10 binaries in > "/gnu/store/i7qkw5j3d0rm00l2k88p0bbaj6b204fh-epics-adandor-R2-7/lib"... > /gnu/store/i7qkw5j3d0rm00l2k88p0bbaj6b204fh-epics-adandor-R2-7/lib/linux-x86_64-debug/libandor.so: > error: depends on 'libstdc++.so.6', which cannot be found in RUNPATH ()
What this phase does is traverse all the binaries and make sure that every shared library they depend on (the ‘NEEDED’ entry of the ELF file) can be found in their ‘RUNPATH’. IOW, that’s a QA check that we make on packages by default. Packages built on systems that follow the file system hierarchy standard (FHS) typically don’t do that because they assume that things like libstdc++.so can be found in the “standard location”—i.e., /usr/lib or similar. Anyway, you can forcefully bypass this check if you think it’s unneeded, by adding: #:validate-runpath? #f to the ‘arguments’ field of your package. HTH, Ludo’.
