#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

Reply via email to