Opened 18 years ago

Closed 18 years ago

Last modified 18 years ago

#6995 closed defect (fixed)

RFE: typo in portfile for environment variable

Reported by: ra5ul@… Owned by: gwright@…
Priority: Normal Milestone:
Component: ports Version: 1.0
Keywords: Cc:
Port:

Description

"dlyd_library_path" should be "dyld_library_path." trivial error.

the guile INSTALL file states that setting this env. variable is probably necessary to get the modules to load, but if someone knows how to compile this option in that would be more convenient.

Change History (5)

comment:1 Changed 18 years ago by mww@…

Cc: gwright@… removed
Owner: changed from darwinports-bugs@… to gwright@…
Summary: typo in portfile for environment variableRFE: typo in portfile for environment variable
  1. we are in no way affiliated with darwinports.com
  2. were does the lang/guile Portfile state "dlyd_library_path"???

comment:2 Changed 18 years ago by gwright@…

Status: newassigned

I'll fix this.

-Greg

PS - Markus, The DYLD_LIBRARY_PATH is mentioned in a comment in the Portfile. It might be necessary to set it to ${prefix}/lib if you are using guile as an extension language (i.e., libguile) with an application you compile yourself. Loadable modules are optional and loaded by guile's own runtime loader (using on libdl). The design is that loadable modules can be anywhere, so if for some reason they are not on the standard search path, DYLD_LIBRARY_PATH has to be set. /greg

comment:3 Changed 18 years ago by gwright@…

Resolution: fixed
Status: assignedclosed

Revised comment committed.

-Greg

comment:4 Changed 18 years ago by ra5ul@…

right. i probably should have referenced "http://www.darwinports.org/darwinports/dports/lang/guile/Portfile" instead.

greg,

is there any way to change the standard search path (say, via config. arguments)? i read somewhere in the mailing lists that DYLD... shouldn't, in general, be set.

comment:5 Changed 18 years ago by gwright@…

Hi Rahul,

Well, DYLD_LIBRARY_PATH is there for a reason, and as it turns out, this is just the case in which it is properly used. Guile is designed to be a library, linked with into a user application. You may want to include certain guile modules when you ship your application. But you might want to have your modules install in a non-standard directory (for example, you might want everything to go /Applications/MyApp.app.) Guile gives you complete flexibility, but sometimes you have to give it a hint where you put stuff, by using DYLD_LIBRARY_PATH.

Now it _is_ a bad idea to set DYLD_LIBRARY_PATH globally. If you want to set it, you should do it in a wrapper script that calls your executable. Then that environment variable will only persist thorugh the running of the wrapper script.

The underlying reason for this seeming over-flexibility is that guile is not really meant to be standalone (except for development and testing). The developers did not want for any particular file system layout on the application developer. This was appropriate, given their desire to make guile a "ubiquitous" extension language. There is no way to change guile's search path using configuration options. I suspect at least one of guile's developers had a bad experience with compiled-in search paths (I have too).

Best Wishes, Greg

Note: See TracTickets for help on using tickets.