Opened 14 years ago

Last modified 14 years ago

#1391 closed defect (fixed)

Dynamic library versions not found

Reported by: PDM Owned by: PDM
Priority: high Milestone:
Component: Version: trunk
Keywords: Cc: PDM,

Description

I've installed openmodelica-devel r7522 on an Intel iMac running OSX 10.5.8, using MacPorts and XCode 3.1.4, and after upgrading outdated ports. When I execute OMShell I get the following:

bash-3.2$ OMShell
dyld: Library not loaded: /opt/local/lib/libssl.0.9.8.dylib
  Referenced from: /opt/local/lib/libQtNetwork.4.dylib
  Reason: image not found
Trace/BPT trap

/opt/local/lib contains the alias libssl.dylib and its target libssl.1.0.0.dylib, but not libssl.0.9.8.dylib.

I've no experience with patching dynamic libraries, but I tried making libssl.0.9.8.dylib an alias for libssl.1.0.0.dylib. That gave me:

bash-3.2$ OMShell
dyld: Library not loaded: /opt/local/lib/libcrypto.0.9.8.dylib
  Referenced from: /opt/local/lib/libQtNetwork.4.dylib
  Reason: image not found

After making libcrypto.0.9.8.dylib an alias for libcrypto.1.0.0.dylib, OMShell loaded, but gave the following series of errors/warnings:

basic_string::_S_construct NULL not valid

Was unable to start OMC, therefore OMShell will not work correctly.

Could not find environment variable OPENMODELICAHOME, command completion will not work.

Could not open file: /share/omshell/commands.xml
Could not create command completion class!

after which the OMShell window appeared. Unsurprisingly, loadModel(Modelica) then gave {{[[ERROR] No OMC serer started - unable to restart OMC}}.

Change History (2)

comment:1 by Martin Sjölund, 14 years ago

You need to set the environment variable OPENMODELICAHOME=/opt/local. Most of the qtclients are not smart enough to infer it.

comment:2 by Martin Sjölund, 14 years ago

Just to clarify; yes, dynamic library symlinks usually solve these problems. But it's also possible to recompile OpenModelica and link against the newer version of the library.
Also, I fixed so it's possible to start OMShell on Unix without the environment variable set (but OMNotebook/OMEdit still require it).

Note: See TracTickets for help on using tickets.