New Ticket     Wiki     Browse Source     Timeline     Roadmap     Ticket Reports     Search

Ticket #9167 (closed enhancement: fixed)

Opened 6 years ago

Last modified 3 years ago

BUG: inventor-2.1.5 dylibs lack install_names

Reported by: bhu@… Owned by: css@…
Priority: Low Milestone:
Component: ports Version:
Keywords: Cc:
Port: inventor

Description (last modified by css@…) (diff)

The shared libraries (libInventor.dylib and libInventorXt.dylib) are not given "install_name" when linked. The consequence is that we need to set DYLD_LIBRARY_PATH to use the executables that are linked against the libraries. Adding the "install_name" option to the linker's command line should solve the problem.

1) patch for lib/GNUmakefile:

--- GNUmakefile 2006-05-29 21:21:36.000000000 -0400
+++ GNUmakefile.new     2006-05-29 21:21:49.000000000 -0400
@@ -3,7 +3,7 @@

 LIBDSO = libInventor.so

-LLDDSOOPTS += -L$(IVDEPTH)/libimage -L$(FLDIR)
+LLDDSOOPTS += -L$(IVDEPTH)/libimage -install_name /opt/local/lib/libInventor.dylib -L$(FLDIR)

 LLDLIBS = \
        -ljpeg -limage $(FLLIB) \

2) patch for .../libSoXt

--- GNUmakefile 2006-05-29 21:24:59.000000000 -0400
+++ GNUmakefile.new     2006-05-29 21:24:39.000000000 -0400
@@ -7,6 +7,8 @@
        -lXm -lXt -lXext -lXi -lX11 -lm \
        -lInventor -lGLU -lGL

+LLDDSOOPTS += -install_name /opt/local/lib/libInventorXt.dylib
+
 LLDLIBS += $(shell [ -e $(X11LIBDIR)/libXp.so ] && echo -lXp)

 OBJECTS = \

Change History

Changed 6 years ago by mww@…

  • summary changed from Specifying names for the dynamic shared libraries to RFE: libinventor? Specifying names for the dynamic shared libraries

would you mind at least mentioning the name of the port in the summary? ;)

Changed 6 years ago by cssdev@…

Use of a library load path environment variable is considered official practice for SGI Open Inventor. However, the enhancement would certainly be useful. (I could probably also check about contributing it upstream.) Any use of install_name should use ${prefix} to properly work with DarwinPorts installations placed into other locations. I'll have to check, but it might be best to use IVPREFIX to pick up the install location from make/ivcommondefs.

Changed 6 years ago by rhwood@…

  • severity changed from minor to enhancement

Make the list of bugs easier to scan.

Changed 5 years ago by css@…

  • owner changed from macports-tickets@… to css@…

Reassign to maintainer.

Changed 5 years ago by css@…

  • status changed from new to assigned

Changed 5 years ago by css@…

  • cc cssdev@… removed
  • summary changed from RFE: libinventor? Specifying names for the dynamic shared libraries to RFE: inventor-2.1.5: dylibs lack install_names

Modified summary to match the port name and the specific issue.

Changed 5 years ago by pipping@…

  • milestone set to Available Ports

Changed 5 years ago by pipping@…

  • milestone changed from Available Ports to Port Enhancements

Changed 5 years ago by nox@…

  • priority changed from Nice to have to Low
  • summary changed from RFE: inventor-2.1.5: dylibs lack install_names to BUG: inventor-2.1.5 dylibs lack install_names
  • version 1.2 deleted
  • milestone changed from Port Enhancements to Port Bugs

Changed 3 years ago by css@…

  • port set to inventor
  • description modified (diff)

Changed 3 years ago by css@…

  • description modified (diff)

It should be feasible to use -install_name $(IVPREFIX)/$(LIBDSO) in each GNUmakefile.

Changed 3 years ago by css@…

  • status changed from assigned to closed
  • resolution set to fixed

r44643 adds -install_name $(IVPREFIX)/lib/$(LIBDSO) when linking each library.

Changed 3 years ago by anonymous

  • milestone Port Bugs deleted

Milestone Port Bugs deleted

Note: See TracTickets for help on using tickets.