#442: Can't build a well-behaved Rakudo RPM without being able to specify system
library paths
---------------------+------------------------------------------------------
Reporter: wayland | Type: feature
Status: new | Priority: normal
Milestone: | Component: none
Version: 0.9.1 | Severity: medium
Keywords: | Lang:
Patch: | Platform:
---------------------+------------------------------------------------------
Comment(by wayland):
Sorry, I assumed that this code would be reviewed by someone who'd
probably written the original. I'll see what I can do to explain.
Parrot has three paths internally. These are the Include path, the
Library path, and the Dynamic Extensions (system libraries) path. The
first two of these have an option to change them (-I and -L,
respectively). You'll notice that case 'S' adds to
PARROT_LIB_PATH_DYNEXT, just as case 'L' above it adds to
PARROT_LIB_PATH_LIBRARY, and case 'I' (which doesn't appear in the patch,
but does appear in the C file) adds to PARROT_LIB_PATH_INCLUDE.
I forget now why I needed this (I'll add more information if I come across
the reason again), but it seems to me that parrot is designed to be
compiled with its files in specific locations, and these are not the
locations that RPM wants them to be. With the -S switch, you can help
parrot find the files it needs.
There may be a better way of trying to resolve my specific problem, but I
think it's a good idea in general to allow people to add to the system
library path; if I wanted to do it, others may also have a legitimate
reason for this.
Actually, one more thing has come back to me. I initially solved this
problem by altering the LD_LIBRARY_PATH in my Unix environment, but was
under the impression that this is generally considered a bad thing, and I
thought this alternative was better. So I have the impression that -L on
parrot does the equivalent of gcc's -L, but for Parrot files. But that
means that we don't have a way to do it for actual libraries. That's what
this is trying to fix.
I do remember that I got one step closer to a working Rakudo RPM doing
this. I've disassembled my working parrot RPM to try to construct
separate patches for the issue(s) I'm trying to resolve. If the other
ones get solved first, then I'll no doubt run across this problem again
and be able to give more specifics.
Anyway, I hope the information I've provided helps some. Please ask more
questions if useful.
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/442#comment:3>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets