Errors related to libPng

Provides a system for patient-specific cardiovascular modeling and simulation.
User avatar
Alexander Kaiser
Posts: 22
Joined: Mon Nov 06, 2017 2:39 pm

Errors related to libPng

Post by Alexander Kaiser » Wed Nov 08, 2017 4:37 pm

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

User avatar
Alexander Kaiser
Posts: 22
Joined: Mon Nov 06, 2017 2:39 pm

Re: Errors related to libPng

Post by Alexander Kaiser » Wed Nov 08, 2017 5:51 pm

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,

User avatar
Alexander Kaiser
Posts: 22
Joined: Mon Nov 06, 2017 2:39 pm

Re: Errors related to libPng

Post by Alexander Kaiser » Thu Nov 09, 2017 5:39 pm

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

User avatar
Adam Updegrove
Posts: 236
Joined: Fri Aug 30, 2013 4:11 pm

Re: Errors related to libPng

Post by Adam Updegrove » Fri Nov 10, 2017 9:22 am

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

User avatar
Alexander Kaiser
Posts: 22
Joined: Mon Nov 06, 2017 2:39 pm

Re: Errors related to libPng

Post by Alexander Kaiser » Fri Nov 10, 2017 11:06 am

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 $*

User avatar
Hongzhi Lan
Posts: 125
Joined: Mon Aug 04, 2014 3:55 pm

Re: Errors related to libPng

Post by Hongzhi Lan » Tue Dec 05, 2017 12:15 am

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

User avatar
Alexander Kaiser
Posts: 22
Joined: Mon Nov 06, 2017 2:39 pm

Re: Errors related to libPng

Post by Alexander Kaiser » Wed Dec 06, 2017 5:51 pm

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

User avatar
Adam Updegrove
Posts: 236
Joined: Fri Aug 30, 2013 4:11 pm

Re: Errors related to libPng

Post by Adam Updegrove » Thu Dec 07, 2017 8:26 am

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

User avatar
Alexander Kaiser
Posts: 22
Joined: Mon Nov 06, 2017 2:39 pm

Re: Errors related to libPng

Post by Alexander Kaiser » Thu Dec 07, 2017 3:05 pm

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

User avatar
Alexander Kaiser
Posts: 22
Joined: Mon Nov 06, 2017 2:39 pm

Re: Errors related to libPng

Post by Alexander Kaiser » Thu Dec 07, 2017 3:39 pm

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

POST REPLY