Glad you got that working.  Perhaps we can incorporate this workaround into the install script as a special case for SUSE.

If you have time, can you file an issue about this in our issue tracker? That way we will be sure to come back to it when we clear the issue backlog before the next release.

https://bitbucket.org/yt_analysis/yt/issues/new


On Thu, Jun 6, 2013 at 1:56 AM, John Regan <johnanthonyregan@gmail.com> wrote:
Hi Nathan,

I contacted the system admin about the dynamic linking issue. He suggested using the LD_PRELOAD env variable to override other linking variable and that worked.

$ ldd /home/cosmos/users/jr347/2013/YT/yt-x86_64/lib/python2.7/site-packages/matplotlib/_png.so
        linux-vdso.so.1 =>  (0x00002aaaaaaab000)
        /home/cosmos/users/jr347/2013/YT/yt-x86_64/lib64/libpng16.so.16 (0x00002aaaaacda000)
        libpng12.so.0 => /usr/lib64/libpng12.so.0 (0x00002aaaaaf6e000)
        libz.so.1 => /home/cosmos/users/jr347/2013/YT/yt-x86_64/lib/libz.so.1 (0x00002aaaab196000)
        libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00002aaaab3ad000)
        libm.so.6 => /lib64/libm.so.6 (0x00002aaaab6b8000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00002aaaab931000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00002aaaabb47000)
        libc.so.6 => /lib64/libc.so.6 (0x00002aaaabd65000)
        /lib64/ld-linux-x86-64.so.2 (0x0000555555554000)

$ pyyt

Python 2.7.4 (default, Jun  4 2013, 11:02:31)
[GCC 4.3.4 [gcc-4_3-branch revision 152973]] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from yt.mods import *
>>>

So everything is now working nicely. I'm not sure if this is a YT issue or a SUSE issue or maybe even something to do with the configuration of the machine I am working on.
Likely YT's interaction with SUSE I suppose.

Cheers,
John



On 5 June 2013 08:41, John Regan <johnanthonyregan@gmail.com> wrote:
Hi Nathan,

Thanks for looking into this!
OK so I reset the LD_LIBRARY_PATH env variable back to the default for my system. However, ldd then shows that libpng16.so.16 is not found.

jr347@universe:~/2013/YT> echo $LD_LIBRARY_PATH
/opt/intel/composer_xe_2013.2.146/tbb/lib/intel64:/opt/intel/composer_xe_2013.2.146/mkl/lib/intel64:/opt/intel/composer_xe_2013.2.146/ipp/lib/intel64:/opt/intel/composer_xe_2013.2.146/debugger/lib/intel64:/opt/intel/composer_xe_2013.2.146/debugger/gui/intel64:/opt/intel/composer_xe_2013.2.146/compiler/lib/intel64:/opt/intel/mic/myo/lib:/opt/intel/mic/coi/host-linux-release/lib:/home/cosmos/share/x86_64/pp8/lib:/opt/sgi/mpt/mpt-2.07/lib
jr347@universe:~/2013/YT> ldd  /home/cosmos/users/jr347/2013/YT/yt-x86_64/lib/python2.7/site-packages/matplotlib/_png.so
        linux-vdso.so.1 =>  (0x00007fffbfffe000)
        libpng12.so.0 => /usr/lib64/libpng12.so.0 (0x00007fffbfb57000)
        libz.so.1 => /lib64/libz.so.1 (0x00007fffbf940000)
        libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007fffbf636000)
        libm.so.6 => /lib64/libm.so.6 (0x00007fffbf3bd000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fffbf1a6000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fffbef89000)
        libc.so.6 => /lib64/libc.so.6 (0x00007fffbec12000)
        /lib64/ld-linux-x86-64.so.2 (0x0000555555554000)
jr347@universe:~/2013/YT> ldd  /home/cosmos/users/jr347/2013/YT/yt-x86_64/src/yt-hg/yt/utilities/lib/png_writer.so
        linux-vdso.so.1 =>  (0x00007fffbfffe000)
        libm.so.6 => /lib64/libm.so.6 (0x00007fffbfb21000)
        libpng16.so.16 => not found
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fffbf903000)
        libc.so.6 => /lib64/libc.so.6 (0x00007fffbf58c000)
        /lib64/ld-linux-x86-64.so.2 (0x0000555555554000)

Rerunning the install script and sourcing the activation script updates LD_LIBRARY_PATH with the yt library path but this doesn't contain the libpng16.so.16 library so ldd still shows a problem. Running yt help gives an import error on libpng.so

(yt-x86_64)jr347@universe:~/2013/YT> yt help

Traceback (most recent call last):
  File "/home/cosmos/users/jr347/2013/YT/yt-x86_64/bin/yt", line 9, in <module>
    load_entry_point('yt==2.5.3', 'console_scripts', 'yt')()
  File "/home/cosmos/users/jr347/2013/YT/yt-x86_64/lib/python2.7/site-packages/distribute-0.6.32-py2.7.egg/pkg_resources.py", line 337, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/home/cosmos/users/jr347/2013/YT/yt-x86_64/lib/python2.7/site-packages/distribute-0.6.32-py2.7.egg/pkg_resources.py", line 2311, in load_entry_point
    return ep.load()
  File "/home/cosmos/users/jr347/2013/YT/yt-x86_64/lib/python2.7/site-packages/distribute-0.6.32-py2.7.egg/pkg_resources.py", line 2017, in load
    entry = __import__(self.module_name, globals(),globals(), ['__name__'])
  File "/nfs/scratch/jr347/2013/YT/yt-x86_64/src/yt-hg/yt/utilities/command_line.py", line 29, in <module>
    from yt.mods import *
  File "/nfs/scratch/jr347/2013/YT/yt-x86_64/src/yt-hg/yt/mods.py", line 60, in <module>

    from yt.data_objects.api import \
  File "/nfs/scratch/jr347/2013/YT/yt-x86_64/src/yt-hg/yt/data_objects/api.py", line 31, in <module>
    from grid_patch import \
  File "/nfs/scratch/jr347/2013/YT/yt-x86_64/src/yt-hg/yt/data_objects/grid_patch.py", line 35, in <module>
    from yt.data_objects.data_containers import YTFieldData
  File "/nfs/scratch/jr347/2013/YT/yt-x86_64/src/yt-hg/yt/data_objects/data_containers.py", line 45, in <module>
    from yt.data_objects.derived_quantities import GridChildMaskWrapper
  File "/nfs/scratch/jr347/2013/YT/yt-x86_64/src/yt-hg/yt/data_objects/derived_quantities.py", line 36, in <module>
    from yt.utilities.parallel_tools.parallel_analysis_interface import \
  File "/nfs/scratch/jr347/2013/YT/yt-x86_64/src/yt-hg/yt/utilities/parallel_tools/parallel_analysis_interface.py", line 39, in <module>
    from yt.utilities.lib import \
  File "/nfs/scratch/jr347/2013/YT/yt-x86_64/src/yt-hg/yt/utilities/lib/__init__.py", line 35, in <module>
    from .png_writer import *
ImportError: libpng16.so.16: cannot open shared object file: No such file or directory


Cheers,
John




On 4 June 2013 18:32, Nathan Goldbaum <nathan12343@gmail.com> wrote:
Hi John,

So the issue is that matplotlib's png extension _png.so, is dynamically linking against /usr/lib65/libpng12.so.0.  yt builds its own libpng, which lives in /yt-x86_64/lib64/libpng16.so.16.  When things are working correctly, ldd should show that _png.so is pointing at yt's libpng.

You mentioned that you added libpng to your LD_LIBRARY_PATH in your first e-mail.  First, I'd like you to delete that entry.  After resetting LD_LIBRARY_PATH, ldd should show that _png.so is loading yt's libpng.  Next, to make sure that everything is configured correctly, I'd like you to remove the 'done' file that lives in the matplotlib source directory in yt-x86_64/src/matplotlib-1.2.1, then rerun the install script.  Do not rerun the install script in the yt environment (i.e. you should not see (yt-x86_64) in your prompt).

Please let us know if you run into any issues once you've done that.  Also please feel free to stop by on our IRC channel (webchat is here: http://yt-project.org/irc.html) so we can help you out in real time.

Cheers,

Nathan




On Tue, Jun 4, 2013 at 9:41 AM, John Regan <johnanthonyregan@gmail.com> wrote:
Hi Matt,

(yt-x86_64)jr347@universe:~/2013/Stats/Halo1/DMonly/Enzo_Analysis/YT> ldd  /home/cosmos/users/jr347/2013/YT/yt-x86_64/lib/python2.7/site-packages/matplotlib/_png.so
        linux-vdso.so.1 =>  (0x00007fffbfffe000)
        libpng12.so.0 => /usr/lib64/libpng12.so.0 (0x00007fffbfb56000)
        libz.so.1 => /home/cosmos/users/jr347/2013/YT/yt-x86_64/lib/libz.so.1 (0x00007fffbf93f000)
        libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007fffbf635000)
        libm.so.6 => /lib64/libm.so.6 (0x00007fffbf3bb000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fffbf1a5000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fffbef88000)
        libc.so.6 => /lib64/libc.so.6 (0x00007fffbec10000)
        /lib64/ld-linux-x86-64.so.2 (0x0000555555554000)
(yt-x86_64)jr347@universe:~/2013/Stats/Halo1/DMonly/Enzo_Analysis/YT>
(yt-x86_64)jr347@universe:~/2013/Stats/Halo1/DMonly/Enzo_Analysis/YT> ldd  /home/cosmos/users/jr347/2013/YT/yt-x86_64/src/yt-hg/yt/utilities/lib/png_writer.so
        linux-vdso.so.1 =>  (0x00007fffbfffe000)
        libm.so.6 => /lib64/libm.so.6 (0x00007fffbfb20000)
        libpng16.so.16 => /home/cosmos/users/jr347/2013/YT/yt-x86_64/lib64/libpng16.so.16 (0x00007fffbf8de000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fffbf6c1000)
        libc.so.6 => /lib64/libc.so.6 (0x00007fffbf349000)
        libz.so.1 => /home/cosmos/users/jr347/2013/YT/yt-x86_64/lib/libz.so.1 (0x00007fffbf132000)
        /lib64/ld-linux-x86-64.so.2 (0x0000555555554000)
(yt-x86_64)jr347@universe:~/2013/Stats/Halo1/DMonly/Enzo_Analysis/YT>


Anything there look out of place?

John



On 4 June 2013 17:32, Matthew Turk <matthewturk@gmail.com> wrote:
Hi John,

Ah, thanks.  So png_set_longjmp_fn is something that we disable inside
libpng when we build it, through the flag PNG_SETJMP_NOT_SUPPORTED
(line 193 or so of yt/utilities/lib/setup.py) which leads me to
believe that something is amiss with how _png.so is compiled.  What's
the output of:

ldd  /home/cosmos/users/jr347/2013/YT/yt-x86_64/lib/python2.7/site-packages/matplotlib/_png.so
ldd  /home/cosmos/users/jr347/2013/YT/yt-x86_64/src/yt-hg/yt/utilities/lib/png_writer.so

-Matt

On Tue, Jun 4, 2013 at 12:27 PM, John Regan <johnanthonyregan@gmail.com> wrote:
> Hi Matt,
>
> Yes first thing I did was source the activation script (prefix yt env shown
> below).
> yt help throws up similar errors:
>
> (yt-x86_64)jr347@universe:~/2013/Stats/Halo1/DMonly/Enzo_Analysis/YT> yt
> help
>
> Traceback (most recent call last):
>   File "/home/cosmos/users/jr347/2013/YT/yt-x86_64/bin/yt", line 9, in
> <module>
>     load_entry_point('yt==2.5.3', 'console_scripts', 'yt')()
>   File
> "/home/cosmos/users/jr347/2013/YT/yt-x86_64/lib/python2.7/site-packages/distribute-0.6.32-py2.7.egg/pkg_resources.py",
> line 337, in load_entry_point
>     return get_distribution(dist).load_entry_point(group, name)
>   File
> "/home/cosmos/users/jr347/2013/YT/yt-x86_64/lib/python2.7/site-packages/distribute-0.6.32-py2.7.egg/pkg_resources.py",
> line 2311, in load_entry_point
>     return ep.load()
>   File
> "/home/cosmos/users/jr347/2013/YT/yt-x86_64/lib/python2.7/site-packages/distribute-0.6.32-py2.7.egg/pkg_resources.py",
> line 2017, in load
>     entry = __import__(self.module_name, globals(),globals(), ['__name__'])
>   File
> "/nfs/scratch/jr347/2013/YT/yt-x86_64/src/yt-hg/yt/utilities/command_line.py",
> line 29, in <module>
>     from yt.mods import *
>
>   File "/nfs/scratch/jr347/2013/YT/yt-x86_64/src/yt-hg/yt/mods.py", line
> 129, in <module>
>     from yt.visualization.api import \
>   File
> "/nfs/scratch/jr347/2013/YT/yt-x86_64/src/yt-hg/yt/visualization/api.py",
> line 34, in <module>
>     from plot_collection import \
>   File
> "/nfs/scratch/jr347/2013/YT/yt-x86_64/src/yt-hg/yt/visualization/plot_collection.py",
> line 26, in <module>
>     from matplotlib import figure
>   File
> "/home/cosmos/users/jr347/2013/YT/yt-x86_64/lib/python2.7/site-packages/matplotlib/figure.py",
> line 32, in <module>
>     from matplotlib.image import FigureImage
>   File
> "/home/cosmos/users/jr347/2013/YT/yt-x86_64/lib/python2.7/site-packages/matplotlib/image.py",
> line 22, in <module>
>     import matplotlib._png as _png
> ImportError:
> /home/cosmos/users/jr347/2013/YT/yt-x86_64/lib/python2.7/site-packages/matplotlib/_png.so:
> undefined symbol: png_set_longjmp_fn
>
> Cheers,
> John
>
>
> On 4 June 2013 17:19, Matthew Turk <matthewturk@gmail.com> wrote:
>>
>> Hi John,
>>
>> Sorry to hear you're having trouble!  When you first tried running,
>> did you source the environment file that yt creates?  I believe for
>> your environment it would be something like this:
>>
>> source /home/cosmos/users/jr347/2013/YT/yt-x86_64/bin/activate
>>
>> which would set the various environment variables and so on.  Then you
>> can try doing something simple like "yt help" to see if it will import
>> correctly.
>>
>> Thanks,
>>
>> -Matt
>>
>> On Tue, Jun 4, 2013 at 12:10 PM, John Regan <johnanthonyregan@gmail.com>
>> wrote:
>> > Hi,
>> >
>> > I just installed YT and it's failing at the very start.
>> >
>> > Python 2.7.4 (default, Jun  4 2013, 11:02:31)
>> > [GCC 4.3.4 [gcc-4_3-branch revision 152973]] on linux2
>> > Type "help", "copyright", "credits" or "license" for more information.
>> >>>> from yt.mods import *
>> > Traceback (most recent call last):
>> >   File "<stdin>", line 1, in <module>
>> >   File "/nfs/scratch/jr347/2013/YT/yt-x86_64/src/yt-hg/yt/mods.py", line
>> > 60,
>> > in <module>
>> >     from yt.data_objects.api import \
>> >   File
>> > "/nfs/scratch/jr347/2013/YT/yt-x86_64/src/yt-hg/yt/data_objects/api.py",
>> > line 31, in <module>
>> >     from grid_patch import \
>> >   File
>> >
>> > "/nfs/scratch/jr347/2013/YT/yt-x86_64/src/yt-hg/yt/data_objects/grid_patch.py",
>> > line 35, in <module>
>> >     from yt.data_objects.data_containers import YTFieldData
>> >   File
>> >
>> > "/nfs/scratch/jr347/2013/YT/yt-x86_64/src/yt-hg/yt/data_objects/data_containers.py",
>> > line 45, in <module>
>> >     from yt.data_objects.derived_quantities import GridChildMaskWrapper
>> >   File
>> >
>> > "/nfs/scratch/jr347/2013/YT/yt-x86_64/src/yt-hg/yt/data_objects/derived_quantities.py",
>> > line 36, in <module>
>> >     from yt.utilities.parallel_tools.parallel_analysis_interface import
>> > \
>> >   File
>> >
>> > "/nfs/scratch/jr347/2013/YT/yt-x86_64/src/yt-hg/yt/utilities/parallel_tools/parallel_analysis_interface.py",
>> > line 39, in <module>
>> >     from yt.utilities.lib import \
>> >   File
>> >
>> > "/nfs/scratch/jr347/2013/YT/yt-x86_64/src/yt-hg/yt/utilities/lib/__init__.py",
>> > line 35, in <module>
>> >     from .png_writer import *
>> > ImportError: libpng16.so.16: cannot open shared object file: No such
>> > file or
>> > directory
>> >>>>
>> >
>> > Adding the path to the libpng16.so.16 library gets me to here (it also
>> > seems
>> > strange that the .so file was not already in the LD_LIBRARY_PATH - is
>> > there
>> > a hint in there somewhere?):
>> >
>> > Python 2.7.4 (default, Jun  4 2013, 11:02:31)
>> > [GCC 4.3.4 [gcc-4_3-branch revision 152973]] on linux2
>> > Type "help", "copyright", "credits" or "license" for more information.
>> >>>> from yt.mods import *
>> > Traceback (most recent call last):
>> >   File "<stdin>", line 1, in <module>
>> >   File "/nfs/scratch/jr347/2013/YT/yt-x86_64/src/yt-hg/yt/mods.py", line
>> > 129, in <module>
>> >     from yt.visualization.api import \
>> >   File
>> >
>> > "/nfs/scratch/jr347/2013/YT/yt-x86_64/src/yt-hg/yt/visualization/api.py",
>> > line 34, in <module>
>> >     from plot_collection import \
>> >   File
>> >
>> > "/nfs/scratch/jr347/2013/YT/yt-x86_64/src/yt-hg/yt/visualization/plot_collection.py",
>> > line 26, in <module>
>> >     from matplotlib import figure
>> >   File
>> >
>> > "/home/cosmos/users/jr347/2013/YT/yt-x86_64/lib/python2.7/site-packages/matplotlib/figure.py",
>> > line 32, in <module>
>> >     from matplotlib.image import FigureImage
>> >   File
>> >
>> > "/home/cosmos/users/jr347/2013/YT/yt-x86_64/lib/python2.7/site-packages/matplotlib/image.py",
>> > line 22, in <module>
>> >     import matplotlib._png as _png
>> > ImportError:
>> >
>> > /home/cosmos/users/jr347/2013/YT/yt-x86_64/lib/python2.7/site-packages/matplotlib/_png.so:
>> > undefined symbol: png_set_longjmp_fn
>> >
>> >
>> > Anybody come across this kind of error before.
>> > The code is built on a shared memory machine, using gcc. icc is actually
>> > the
>> > default compiler but the YT script seems to pick up gcc by default and
>> > it
>> > builds (it doesn't build at all with icc).
>> >
>> > Install script attached in case it's helpful.
>> >
>> > Let me know if you need anymore info. Thanks in advance!
>> >
>> > John
>> >
>> >
>> >
>> >
>> > _______________________________________________
>> > yt-users mailing list
>> > yt-users@lists.spacepope.org
>> > http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
>> >
>> _______________________________________________
>> yt-users mailing list
>> yt-users@lists.spacepope.org
>> http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
>
>
>
> _______________________________________________
> yt-users mailing list
> yt-users@lists.spacepope.org
> http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
>
_______________________________________________
yt-users mailing list
yt-users@lists.spacepope.org
http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org


_______________________________________________
yt-users mailing list
yt-users@lists.spacepope.org
http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org



_______________________________________________
yt-users mailing list
yt-users@lists.spacepope.org
http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org




_______________________________________________
yt-users mailing list
yt-users@lists.spacepope.org
http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org