Page 1 of 2
Errors related to libPng
Posted: Wed Nov 08, 2017 4:37 pm
by alexdkaiser
Hi all,
The precompiled version of SimVascular is having some trouble opening on my mac with OS 10.13.1. The app will not open, so I tried running the executable in SimVascular.app/Contents/MacOS, and got:
Code: Select all
/Applications/SimVascular.app/Contents/MacOS/SimVascular ; exit;
DN0a22f556:~ alex$ /Applications/SimVascular.app/Contents/MacOS/SimVascular ; exit;
BUNDLE: /Applications/SimVascular.app
RESOURCES: /Applications/SimVascular.app/Contents/Resources
dyld: Symbol not found: _inflateValidate
Referenced from: /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib
Expected in: /Applications/SimVascular.app/Contents/Resources/sv_externals/lib/libz.1.dylib
in /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib
/Applications/SimVascular.app/Contents/Resources/simvascular: line 89: 35581 Abort trap: 6 $SV_HOME/Bin/simvascular $*
I also built from source, which compiles after adding a couple of symlinks for paths to QT, and have a similar error:
Code: Select all
alex$ ./SimVascular-build/sv
dyld: Symbol not found: _inflateValidate
Referenced from: /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib
Expected in: /Users/alex/sfw/SimVascular/Build/Externals-build/sv_externals/bin/appleclang/9.0/x64/python-2.7.11/lib/libz.1.dylib
in /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib
./SimVascular-build/sv: line 103: 34468 Abort trap: 6 $SV_HOME/bin/simvascular $SV_HOME/Tcl/SimVascular_2.0/simvascular_startup.tcl $*
Please let me know if there is anything to try, or if anyone has seen a similar error.
Thank you,
Alex
Re: Errors related to libPng
Posted: Wed Nov 08, 2017 5:51 pm
by alexdkaiser
For what it's worth, someone has fixed a similar issue in a project that has nothing to do with SimVascular. It seems like the problem is related to versions of the file libz.1.dylib:
https://github.com/solvespace/solvespace/issues/294
I attempted their solution, but got an error:
Code: Select all
alex$ install_name_tool -change @executable_path/libz.dylib /usr/lib/libz.1.dylib SimVascular
error: install_name_tool: input file: SimVascular is not a Mach-O file
Another forum (in German, which I don't speak, but translate works fine) suggests that one might copy libz.1.dylib around to fix things. This also did not fix my installation, but perhaps is a clue:
https://www.tabos.org/topic/mac-high-sierra-support/
Related discussion here:
https://github.com/Dead2/zlib-ng/issues/80
Thanks again,
Re: Errors related to libPng
Posted: Thu Nov 09, 2017 5:39 pm
by alexdkaiser
I believe I have fixed the version that was built from source. I copied libz* from
/usr/lib
to
SimVascular/Build/Externals-build/sv_externals/bin/appleclang/9.0/x64/python-2.7.11/lib
It now opens the gui. I'm starting the tutorials now and will post again if anything breaks.
Similar fixes on the prebuilt version did not seem to work. If I click the app still does nothing. If I run SimVascular.app/Contents/MacOS/SimVascular from the command line, my current error is as follows. It is strange, since the file SimVascular.app/Contents/Resources/simvascular is a shell script that should execute under sh, but the error says not a directory, which does not seem to have anything to do with anything.
Code: Select all
MacOS alex$ sh -x SimVascular
+ '[' SimVascular == SimVascular ']'
++ echo SimVascular
++ sed -e 's/\/Contents\/MacOS\/.*//'
+ BUNDLE=SimVascular
+ RESOURCES=SimVascular/Contents/Resources
+ echo 'BUNDLE: SimVascular'
BUNDLE: SimVascular
+ echo 'RESOURCES: SimVascular/Contents/Resources'
RESOURCES: SimVascular/Contents/Resources
+ sh SimVascular/Contents/Resources/simvascular
sh: SimVascular/Contents/Resources/simvascular: Not a directory
Thanks again,
Alex
Re: Errors related to libPng
Posted: Fri Nov 10, 2017 9:22 am
by adam
Hi Alex,
Thanks for the post and following through with attempting fixes. This sounds very odd. Do you have DYLD_LIBRARY_PATH set to something in your bash profile? This could potentially be throwing off the link path. The SimVascular startup script does not overwrite DYLD_LIBRARY_PATH, but rather appends to it.
Was libz not present in the python lib? We actually have not built external libraries for 10.13, so it is probably pulling external libraries from 10.12. It is possible that for some reason the libz library did not get pulled into the externals on 10.12, and we can fix this going forward.
Lastly, if calling from command line, call SimVascular.app/Contents/Resources/simvascular directly. It should not cause problems to do that. Let me know if anything else comes up.
Thanks!
SimVascular Development Team
Re: Errors related to libPng
Posted: Fri Nov 10, 2017 11:06 am
by alexdkaiser
Hi Adam,
Thanks for the detailed response!
My DYLD_LIBRARY_PATH seems okay. Two paths are appended to it:
Code: Select all
DN0a22f94a:~ alex$ grep DYLD_LIBRARY_PATH .bash_profile
export DYLD_LIBRARY_PATH=/usr/local/cuda/lib:$DYLD_LIBRARY_PATH
export DYLD_LIBRARY_PATH=/Applications/VisIt.app/Contents/Resources/2.9.0/darwin-x86_64/lib:$DYLD_LIBRARY_PATH
In the python lib (github, built from source version of SimVascular) there were libz files with a timestamp from 2014. The issue seemed to be related to a function that may or may not be present in some libz versions, at least according to person who posted on the solvespace github forum. Replacing the python libz with the system ones was what fixed the problem.
For the pre-built verions, calling SimVascular.app/Contents/Resources/simvascular gives me an error related to the same libz problem:
Code: Select all
alex$ ./simvascular
dyld: Symbol not found: _inflateValidate
Referenced from: /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib
Expected in: /Applications/SimVascular.app/Contents/Resources/sv_externals/lib/libz.1.dylib
in /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib
./simvascular: line 89: 70600 Abort trap: 6 $SV_HOME/Bin/simvascular $*
Re: Errors related to libPng
Posted: Tue Dec 05, 2017 12:15 am
by lanhz
Hi Alex,
Did you get it work later? I tried your method with the installed SimVascular in macOS 10.13.1. Actually it works!
Just copy libz.1.dylib, libz.1.2.8.dylib, libz.dylib from /usr/lib/ to /Applications/SimVascular.app/Contents/Resources/sv_externals/lib/
Thanks,
Hongzhi
Re: Errors related to libPng
Posted: Wed Dec 06, 2017 5:51 pm
by alexdkaiser
Hi Hongzi,
Yes, this fix seems reliable with the version I built from source. Glad to hear it's working on your machine with the disk-image version as well. (I haven't gone back to the pre-built one, though I'm happy to test if anyone would like.) I'm glad google translate helped me understand that forum!
Best,
Alex
Re: Errors related to libPng
Posted: Thu Dec 07, 2017 8:26 am
by adam
You should no longer have to do this fix if building from source. I created pre-built binares for 10.13 that shouldn't have libz packaged in and simvascular should pick up the system libz. However, if you are using the latest binary, this fix is still necessary. Glad its working for you Alex. Let me know if there are any other issues.
SimVascular Development Team
Re: Errors related to libPng
Posted: Thu Dec 07, 2017 3:05 pm
by alexdkaiser
Hi Adam,
I fetched the latest version from github, which built without problems or moving libraries around.
However, I am experiencing near constant crashes when doing most anything. Opening the simulations perspective by clicking on a saved simulation file reliably causes an abort, for example. No idea what is happening with this, please let me know if you have any idea how to fix it.
Thank you,
Alex
Re: Errors related to libPng
Posted: Thu Dec 07, 2017 3:39 pm
by alexdkaiser
Hi Adam,
I have just tried the same thing on my ubuntu install (which was working fine yesterday) and am seeing similar behavior. It seems to crash when mousing around and opening and closing perspectives. Seems like this new problem is likely unrelated to libz.
Thanks,
Alex