SourceForge logo
SourceForge logo
Menu

matplotlib-users

From: Bryan W. <bry...@gm...> - 2015年05月21日 20:08:18
Good afternoon,
My name is Bryan Williams. I work for the Florida Forest Service in their
Forest Logistics and Support Bureau.
I’m working on a program that takes weather data and visualizes it using
matplotlib and Basemap. I’m currently having an issue with matplotlib 1.4.3
for Python 3.4.3 running under Solaris 5.10. I am getting a Runtime Error
whenever I try calling the read_png file from matplotlib._png. (I’m using
this to add a small .png file of the Forest Service’s sheld to the
picture). The error is the following:
Traceback (most recent call last):
 File "drawmaps.py", line 845, in <module>
 arr_lena = read_png(fn)
RuntimeError: Error closing dupe file handle
I don’t quite understand the error I’m getting, and as you can see, the
traceback gives very little information. I also tried Google for help, but
to no avail; entering the error message as is into Google doesn’t return
anything relating to the problem, and putting quotes around "Error closing
dupe file handle" yields about 10 results, with one of them being an
unanswered question from 2014 regarding the same issue.
As per your request on the website, here’s what I get from uname –a:
SunOS [server name withheld] 5.10 Generic_141444-09 sun4v sparc
SUNW,SPARC-Enterprise-T5220
I built Python 3.4.3 from source and installed matplotlib through pip, and
didn’t make any changes to the matplotlibrc file.
I was able to reproduce the problem again running these commands in the
Python interactive prompt, which emulates the snippet of script that causes
the error:
Python 3.4.3 (default, May 15 2015, 13:52:23)
[GCC 4.9.2] on sunos5
Type "help", "copyright", "credits" or "license" for more information.
>>> from matplotlib._png import read_png
>>> from matplotlib.cbook import get_sample_data
>>> import os; path=os.getcwd()
>>> fn = get_sample_data(path + '/resources/shield.png', asfileobj=False)
>>> arr_lena = read_png(fn)
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
RuntimeError: Error closing dupe file handle
If you’d like a copy of the problem script, please let me know. Any and all
help is greatly appreciated.
Thank you in advance!
-- BMW
From: Benjamin R. <ben...@ou...> - 2015年05月24日 18:04:35
Bryan,
First off, avoid importing things from modules that start with an
underscore. Because Python doesn't have semantics for public/private APIs
like C++ and Java does, the underscore is treated as an indicator to
developers that it is to be treated as private. The implication is that we
are free to change the API of "private" modules and functions between
releases, without warning or recourse, which would lead to breakage of your
scripts if you use them. So, use it at your peril.
I would recommend using plt.imread() instead, or use the Pillow package to
read your data as a numpy array that you can then plot.
Now, onto your issue. I suspect it might be related to changes we made in
1.4 to have a cross-platform file-handle. However, the solaris platform is
not regularly tested by anybody, so it is quite likely we broke something
there. Now, in the master branch on github, we completely rewrote nearly
all of the C++ code, so I while it may still be broken there, perhaps we
might get a more useful error message or something different entirely? Can
you try building from the master branch and letting us know?
Cheers!
Ben Root
P.S. - The script in question wasn't perhaps written originally by a former
Meteorologist colleague from the University of Oklahoma? ;-) If it was, he
was my officemate!
On Thu, May 21, 2015 at 4:08 PM, Bryan Williams <
bry...@gm...> wrote:
> Good afternoon,
>
>
>
> My name is Bryan Williams. I work for the Florida Forest Service in their
> Forest Logistics and Support Bureau.
>
>
>
> I’m working on a program that takes weather data and visualizes it using
> matplotlib and Basemap. I’m currently having an issue with matplotlib 1.4.3
> for Python 3.4.3 running under Solaris 5.10. I am getting a Runtime Error
> whenever I try calling the read_png file from matplotlib._png. (I’m using
> this to add a small .png file of the Forest Service’s sheld to the
> picture). The error is the following:
>
>
>
> Traceback (most recent call last):
>
> File "drawmaps.py", line 845, in <module>
>
> arr_lena = read_png(fn)
>
> RuntimeError: Error closing dupe file handle
>
>
>
> I don’t quite understand the error I’m getting, and as you can see, the
> traceback gives very little information. I also tried Google for help, but
> to no avail; entering the error message as is into Google doesn’t return
> anything relating to the problem, and putting quotes around "Error closing
> dupe file handle" yields about 10 results, with one of them being an
> unanswered question from 2014 regarding the same issue.
>
>
>
> As per your request on the website, here’s what I get from uname –a:
>
>
>
> SunOS [server name withheld] 5.10 Generic_141444-09 sun4v sparc
> SUNW,SPARC-Enterprise-T5220
>
>
>
> I built Python 3.4.3 from source and installed matplotlib through pip, and
> didn’t make any changes to the matplotlibrc file.
>
>
>
> I was able to reproduce the problem again running these commands in the
> Python interactive prompt, which emulates the snippet of script that causes
> the error:
>
>
>
> Python 3.4.3 (default, May 15 2015, 13:52:23)
>
> [GCC 4.9.2] on sunos5
>
> Type "help", "copyright", "credits" or "license" for more information.
>
> >>> from matplotlib._png import read_png
>
> >>> from matplotlib.cbook import get_sample_data
>
> >>> import os; path=os.getcwd()
>
> >>> fn = get_sample_data(path + '/resources/shield.png', asfileobj=False)
>
> >>> arr_lena = read_png(fn)
>
> Traceback (most recent call last):
>
> File "<stdin>", line 1, in <module>
>
> RuntimeError: Error closing dupe file handle
>
>
>
>
>
> If you’d like a copy of the problem script, please let me know. Any and
> all help is greatly appreciated.
>
>
>
> Thank you in advance!
>
>
>
> -- BMW
>
>
> ------------------------------------------------------------------------------
> One dashboard for servers and applications across Physical-Virtual-Cloud
> Widest out-of-the-box monitoring support with 50+ applications
> Performance metrics, stats and reports that give you Actionable Insights
> Deep dive visibility with transaction tracing using APM Insight.
> http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
>
From: Thomas C. <tca...@gm...> - 2015年05月24日 18:05:38
Bryan,
If you subscribe to the list you will be able to post with out moderation.
Does this happen with any of the other sample data?
I don't think that `get_sample_data` is doing you any good here as you are
passing it an absolute path (from `os.getcwd()`) which is passed into
`os.path.join` which when it encounters and absolute path discards
everything to the left so that line is just returning back your input.
Does it work to open any other png or does _only_ this png have issues?
You are reaching into the nominally private parts of the mpl api here, I
would suggest using `mpl.image.imread` instead.
It might be worth using something like PIL/pillow, imread (
https://pypi.python.org/pypi/imread), imageio (https://imageio.github.io/)
or scikit-image for alternate implementations of png readers.
None of the core developers have access to a Solaris machine so it is very
difficult for us to provide much better help on this.
Tom
On Sun, May 24, 2015 at 1:38 PM Bryan Williams <bry...@gm...>
wrote:
> Good afternoon,
>
>
>
> My name is Bryan Williams. I work for the Florida Forest Service in their
> Forest Logistics and Support Bureau.
>
>
>
> I’m working on a program that takes weather data and visualizes it using
> matplotlib and Basemap. I’m currently having an issue with matplotlib 1.4.3
> for Python 3.4.3 running under Solaris 5.10. I am getting a Runtime Error
> whenever I try calling the read_png file from matplotlib._png. (I’m using
> this to add a small .png file of the Forest Service’s sheld to the
> picture). The error is the following:
>
>
>
> Traceback (most recent call last):
>
> File "drawmaps.py", line 845, in <module>
>
> arr_lena = read_png(fn)
>
> RuntimeError: Error closing dupe file handle
>
>
>
> I don’t quite understand the error I’m getting, and as you can see, the
> traceback gives very little information. I also tried Google for help, but
> to no avail; entering the error message as is into Google doesn’t return
> anything relating to the problem, and putting quotes around "Error closing
> dupe file handle" yields about 10 results, with one of them being an
> unanswered question from 2014 regarding the same issue.
>
>
>
> As per your request on the website, here’s what I get from uname –a:
>
>
>
> SunOS [server name withheld] 5.10 Generic_141444-09 sun4v sparc
> SUNW,SPARC-Enterprise-T5220
>
>
>
> I built Python 3.4.3 from source and installed matplotlib through pip, and
> didn’t make any changes to the matplotlibrc file.
>
>
>
> I was able to reproduce the problem again running these commands in the
> Python interactive prompt, which emulates the snippet of script that causes
> the error:
>
>
>
> Python 3.4.3 (default, May 15 2015, 13:52:23)
>
> [GCC 4.9.2] on sunos5
>
> Type "help", "copyright", "credits" or "license" for more information.
>
> >>> from matplotlib._png import read_png
>
> >>> from matplotlib.cbook import get_sample_data
>
> >>> import os; path=os.getcwd()
>
> >>> fn = get_sample_data(path + '/resources/shield.png', asfileobj=False)
>
> >>> arr_lena = read_png(fn)
>
> Traceback (most recent call last):
>
> File "<stdin>", line 1, in <module>
>
> RuntimeError: Error closing dupe file handle
>
>
>
>
>
> If you’d like a copy of the problem script, please let me know. Any and
> all help is greatly appreciated.
>
>
>
> Thank you in advance!
>
>
>
> -- BMW
>
> ------------------------------------------------------------------------------
> One dashboard for servers and applications across Physical-Virtual-Cloud
> Widest out-of-the-box monitoring support with 50+ applications
> Performance metrics, stats and reports that give you Actionable Insights
> Deep dive visibility with transaction tracing using APM Insight.
> http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
From: Bryan W. <bry...@gm...> - 2015年05月28日 13:13:40
Thanks to the both of you.
First off, apologies for getting back to you several days late. I was out
of town for the holiday weekend, and I didn't get a chance to work on this
for the last two days as I had other business to tend to on Tuesday, and
was out of the office all day Wednesday.
I tried to install from the master build on Github, and it seemed to run
fine, until I ended up with this error (and verbose details, text wall
incoming):
============================================================================
Edit setup.cfg to change the build options
BUILDING MATPLOTLIB
 matplotlib: yes [1.5.dev1]
 python: yes [3.4.3 (default, May 15 2015, 13:52:23) [GCC
 4.9.2]]
 platform: yes [sunos5]
REQUIRED DEPENDENCIES AND EXTENSIONS
 numpy: yes [version 1.9.2]
 six: yes [using six version 1.9.0]
 dateutil: yes [using dateutil version 2.4.2]
 pytz: yes [using pytz version 2015.4]
 tornado: yes [tornado was not found. It is required for the
 WebAgg backend. pip/easy_install may attempt to
 install it after matplotlib.]
 pyparsing: yes [using pyparsing version 2.0.3]
 libagg: yes [pkg-config information for 'libagg' could not
 be found. Using local copy.]
 freetype: yes [version 2.4.8]
 png: yes [version 1.2.35]
 qhull: yes [pkg-config information for 'qhull' could not be
 found. Using local copy.]
OPTIONAL SUBPACKAGES
 sample_data: yes [installing]
 toolkits: yes [installing]
 tests: yes [using nose version 1.3.6 / using unittest.mock]
 toolkits_tests: yes [using nose version 1.3.6 / using unittest.mock]
OPTIONAL BACKEND EXTENSIONS
 macosx: no [Mac OS-X only]
 qt5agg: no [PyQt5 not found]
 qt4agg: no [PySide not found; PyQt4 not found]
 gtk3agg: no [Requires pygobject to be installed.]
 gtk3cairo: no [Requires cairocffi or pycairo to be installed.]
 gtkagg: no [Requires pygtk]
 tkagg: yes [installing, version not identified]
 wxagg: no [requires wxPython]
 gtk: no [Requires pygtk]
 agg: yes [installing]
 cairo: no [cairocffi or pycairo not found]
 windowing: no [Microsoft Windows only]
OPTIONAL LATEX DEPENDENCIES
 dvipng: no
 ghostscript: no
 latex: no
 pdftops: no
running build
running build_py
copying lib/matplotlib/mpl-data/matplotlibrc ->
build/lib.solaris-2.10-sun4v.32bit-3.4/matplotlib/mpl-data
running build_ext
building 'matplotlib.ft2font' extension
gcc -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -fPIC
-DPY_ARRAY_UNIQUE_SYMBOL=MPL_matplotlib_ft2font_ARRAY_API
-DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION
-I/usr/local/lib/python3.4/site-packages/numpy/core/include
-I/usr/local/include -I/usr/local/include/freetype2 -I/usr/local/include
-I. -I/usr/local/include/python3.4m -c src/ft2font.cpp -o
build/temp.solaris-2.10-sun4v.32bit-3.4/src/ft2font.o
In file included from /usr/local/include/python3.4m/Python.h:8:0,
 from src/mplutils.h:21,
 from src/ft2font.cpp:8:
/usr/local/include/python3.4m/pyconfig.h:1387:0: warning:
"_FILE_OFFSET_BITS" redefined
 #define _FILE_OFFSET_BITS 64
 ^
In file included from
/opt/csw/lib/gcc/sparc-sun-solaris2.10/4.9.2/include-fixed/wchar.h:20:0,
 from /opt/csw/include/c++/4.9.2/cwchar:44,
 from /opt/csw/include/c++/4.9.2/bits/postypes.h:40,
 from /opt/csw/include/c++/4.9.2/bits/char_traits.h:40,
 from /opt/csw/include/c++/4.9.2/string:40,
 from src/ft2font.cpp:5:
/opt/csw/lib/gcc/sparc-sun-solaris2.10/4.9.2/include-fixed/sys/feature_tests.h:196:0:
note: this is the location of the previous definition
 #define _FILE_OFFSET_BITS 32
 ^
gcc -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -fPIC
-DPY_ARRAY_UNIQUE_SYMBOL=MPL_matplotlib_ft2font_ARRAY_API
-DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION
-I/usr/local/lib/python3.4/site-packages/numpy/core/include
-I/usr/local/include -I/usr/local/include/freetype2 -I/usr/local/include
-I. -I/usr/local/include/python3.4m -c src/ft2font_wrapper.cpp -o
build/temp.solaris-2.10-sun4v.32bit-3.4/src/ft2font_wrapper.o
In file included from /usr/local/include/python3.4m/Python.h:8:0,
 from src/mplutils.h:21,
 from src/ft2font_wrapper.cpp:1:
/usr/local/include/python3.4m/pyconfig.h:1387:0: warning:
"_FILE_OFFSET_BITS" redefined
 #define _FILE_OFFSET_BITS 64
 ^
In file included from /usr/include/sys/int_types.h:34:0,
 from /usr/include/sys/stdint.h:17,
 from /usr/include/stdint.h:17,
 from
/opt/csw/lib/gcc/sparc-sun-solaris2.10/4.9.2/include/stdint.h:9,
 from src/mplutils.h:11,
 from src/ft2font_wrapper.cpp:1:
/opt/csw/lib/gcc/sparc-sun-solaris2.10/4.9.2/include-fixed/sys/feature_tests.h:196:0:
note: this is the location of the previous definition
 #define _FILE_OFFSET_BITS 32
 ^
In file included from /usr/local/include/python3.4m/Python.h:36:0,
 from src/mplutils.h:21,
 from src/ft2font_wrapper.cpp:1:
/usr/include/unistd.h:496:75: error: conflicting declaration of C function
'void swab(const void*, void*, ssize_t)'
 extern void swab(const void *_RESTRICT_KYWD, void *_RESTRICT_KYWD,
ssize_t);
 ^
In file included from /usr/local/include/python3.4m/Python.h:34:0,
 from src/mplutils.h:21,
 from src/ft2font_wrapper.cpp:1:
/usr/include/stdlib.h:144:13: note: previous declaration 'void swab(const
char*, char*, ssize_t)'
 extern void swab(const char *, char *, ssize_t);
 ^
error: command 'gcc' failed with exit status 1
I have gcc on the box. I also installed the C compiler for Solaris (cc),
but I couldn't seem to find an option to switch it so that it uses cc
rather than gcc.
Thanks again for all you do, and thanks for the help.
-- BMW
On Sun, May 24, 2015 at 2:05 PM, Thomas Caswell <tca...@gm...> wrote:
> Bryan,
>
> If you subscribe to the list you will be able to post with out moderation.
>
> Does this happen with any of the other sample data?
>
> I don't think that `get_sample_data` is doing you any good here as you are
> passing it an absolute path (from `os.getcwd()`) which is passed into
> `os.path.join` which when it encounters and absolute path discards
> everything to the left so that line is just returning back your input.
>
> Does it work to open any other png or does _only_ this png have issues?
>
> You are reaching into the nominally private parts of the mpl api here, I
> would suggest using `mpl.image.imread` instead.
>
> It might be worth using something like PIL/pillow, imread (
> https://pypi.python.org/pypi/imread), imageio (https://imageio.github.io/)
> or scikit-image for alternate implementations of png readers.
>
> None of the core developers have access to a Solaris machine so it is very
> difficult for us to provide much better help on this.
>
> Tom
>
> On Sun, May 24, 2015 at 1:38 PM Bryan Williams <
> bry...@gm...> wrote:
>
>> Good afternoon,
>>
>>
>>
>> My name is Bryan Williams. I work for the Florida Forest Service in their
>> Forest Logistics and Support Bureau.
>>
>>
>>
>> I’m working on a program that takes weather data and visualizes it using
>> matplotlib and Basemap. I’m currently having an issue with matplotlib 1.4.3
>> for Python 3.4.3 running under Solaris 5.10. I am getting a Runtime Error
>> whenever I try calling the read_png file from matplotlib._png. (I’m using
>> this to add a small .png file of the Forest Service’s sheld to the
>> picture). The error is the following:
>>
>>
>>
>> Traceback (most recent call last):
>>
>> File "drawmaps.py", line 845, in <module>
>>
>> arr_lena = read_png(fn)
>>
>> RuntimeError: Error closing dupe file handle
>>
>>
>>
>> I don’t quite understand the error I’m getting, and as you can see, the
>> traceback gives very little information. I also tried Google for help, but
>> to no avail; entering the error message as is into Google doesn’t return
>> anything relating to the problem, and putting quotes around "Error closing
>> dupe file handle" yields about 10 results, with one of them being an
>> unanswered question from 2014 regarding the same issue.
>>
>>
>>
>> As per your request on the website, here’s what I get from uname –a:
>>
>>
>>
>> SunOS [server name withheld] 5.10 Generic_141444-09 sun4v sparc
>> SUNW,SPARC-Enterprise-T5220
>>
>>
>>
>> I built Python 3.4.3 from source and installed matplotlib through pip,
>> and didn’t make any changes to the matplotlibrc file.
>>
>>
>>
>> I was able to reproduce the problem again running these commands in the
>> Python interactive prompt, which emulates the snippet of script that causes
>> the error:
>>
>>
>>
>> Python 3.4.3 (default, May 15 2015, 13:52:23)
>>
>> [GCC 4.9.2] on sunos5
>>
>> Type "help", "copyright", "credits" or "license" for more information.
>>
>> >>> from matplotlib._png import read_png
>>
>> >>> from matplotlib.cbook import get_sample_data
>>
>> >>> import os; path=os.getcwd()
>>
>> >>> fn = get_sample_data(path + '/resources/shield.png', asfileobj=False)
>>
>> >>> arr_lena = read_png(fn)
>>
>> Traceback (most recent call last):
>>
>> File "<stdin>", line 1, in <module>
>>
>> RuntimeError: Error closing dupe file handle
>>
>>
>>
>>
>>
>> If you’d like a copy of the problem script, please let me know. Any and
>> all help is greatly appreciated.
>>
>>
>>
>> Thank you in advance!
>>
>>
>>
>> -- BMW
>>
>> ------------------------------------------------------------------------------
>> One dashboard for servers and applications across Physical-Virtual-Cloud
>> Widest out-of-the-box monitoring support with 50+ applications
>> Performance metrics, stats and reports that give you Actionable Insights
>> Deep dive visibility with transaction tracing using APM Insight.
>> http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
>> _______________________________________________
>> Matplotlib-users mailing list
>> Mat...@li...
>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>>
>
From: Thomas C. <tca...@gm...> - 2015年05月28日 13:55:05
I think there is on open bug about compilation failures on Solaris which we
never sorted out due to not having access to a test machine.
On Thu, May 28, 2015, 09:13 Bryan Williams <bry...@gm...>
wrote:
> Thanks to the both of you.
>
> First off, apologies for getting back to you several days late. I was out
> of town for the holiday weekend, and I didn't get a chance to work on this
> for the last two days as I had other business to tend to on Tuesday, and
> was out of the office all day Wednesday.
>
> I tried to install from the master build on Github, and it seemed to run
> fine, until I ended up with this error (and verbose details, text wall
> incoming):
>
>
> ============================================================================
> Edit setup.cfg to change the build options
>
> BUILDING MATPLOTLIB
> matplotlib: yes [1.5.dev1]
> python: yes [3.4.3 (default, May 15 2015, 13:52:23) [GCC
> 4.9.2]]
> platform: yes [sunos5]
>
> REQUIRED DEPENDENCIES AND EXTENSIONS
> numpy: yes [version 1.9.2]
> six: yes [using six version 1.9.0]
> dateutil: yes [using dateutil version 2.4.2]
> pytz: yes [using pytz version 2015.4]
> tornado: yes [tornado was not found. It is required for the
> WebAgg backend. pip/easy_install may attempt to
> install it after matplotlib.]
> pyparsing: yes [using pyparsing version 2.0.3]
> libagg: yes [pkg-config information for 'libagg' could not
> be found. Using local copy.]
> freetype: yes [version 2.4.8]
> png: yes [version 1.2.35]
> qhull: yes [pkg-config information for 'qhull' could not
> be
> found. Using local copy.]
>
> OPTIONAL SUBPACKAGES
> sample_data: yes [installing]
> toolkits: yes [installing]
> tests: yes [using nose version 1.3.6 / using
> unittest.mock]
> toolkits_tests: yes [using nose version 1.3.6 / using
> unittest.mock]
>
> OPTIONAL BACKEND EXTENSIONS
> macosx: no [Mac OS-X only]
> qt5agg: no [PyQt5 not found]
> qt4agg: no [PySide not found; PyQt4 not found]
> gtk3agg: no [Requires pygobject to be installed.]
> gtk3cairo: no [Requires cairocffi or pycairo to be
> installed.]
> gtkagg: no [Requires pygtk]
> tkagg: yes [installing, version not identified]
> wxagg: no [requires wxPython]
> gtk: no [Requires pygtk]
> agg: yes [installing]
> cairo: no [cairocffi or pycairo not found]
> windowing: no [Microsoft Windows only]
>
> OPTIONAL LATEX DEPENDENCIES
> dvipng: no
> ghostscript: no
> latex: no
> pdftops: no
>
> running build
> running build_py
> copying lib/matplotlib/mpl-data/matplotlibrc ->
> build/lib.solaris-2.10-sun4v.32bit-3.4/matplotlib/mpl-data
> running build_ext
> building 'matplotlib.ft2font' extension
> gcc -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -fPIC
> -DPY_ARRAY_UNIQUE_SYMBOL=MPL_matplotlib_ft2font_ARRAY_API
> -DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION
> -I/usr/local/lib/python3.4/site-packages/numpy/core/include
> -I/usr/local/include -I/usr/local/include/freetype2 -I/usr/local/include
> -I. -I/usr/local/include/python3.4m -c src/ft2font.cpp -o
> build/temp.solaris-2.10-sun4v.32bit-3.4/src/ft2font.o
> In file included from /usr/local/include/python3.4m/Python.h:8:0,
> from src/mplutils.h:21,
> from src/ft2font.cpp:8:
> /usr/local/include/python3.4m/pyconfig.h:1387:0: warning:
> "_FILE_OFFSET_BITS" redefined
> #define _FILE_OFFSET_BITS 64
> ^
> In file included from
> /opt/csw/lib/gcc/sparc-sun-solaris2.10/4.9.2/include-fixed/wchar.h:20:0,
> from /opt/csw/include/c++/4.9.2/cwchar:44,
> from /opt/csw/include/c++/4.9.2/bits/postypes.h:40,
> from /opt/csw/include/c++/4.9.2/bits/char_traits.h:40,
> from /opt/csw/include/c++/4.9.2/string:40,
> from src/ft2font.cpp:5:
> /opt/csw/lib/gcc/sparc-sun-solaris2.10/4.9.2/include-fixed/sys/feature_tests.h:196:0:
> note: this is the location of the previous definition
> #define _FILE_OFFSET_BITS 32
> ^
> gcc -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -fPIC
> -DPY_ARRAY_UNIQUE_SYMBOL=MPL_matplotlib_ft2font_ARRAY_API
> -DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION
> -I/usr/local/lib/python3.4/site-packages/numpy/core/include
> -I/usr/local/include -I/usr/local/include/freetype2 -I/usr/local/include
> -I. -I/usr/local/include/python3.4m -c src/ft2font_wrapper.cpp -o
> build/temp.solaris-2.10-sun4v.32bit-3.4/src/ft2font_wrapper.o
> In file included from /usr/local/include/python3.4m/Python.h:8:0,
> from src/mplutils.h:21,
> from src/ft2font_wrapper.cpp:1:
> /usr/local/include/python3.4m/pyconfig.h:1387:0: warning:
> "_FILE_OFFSET_BITS" redefined
> #define _FILE_OFFSET_BITS 64
> ^
> In file included from /usr/include/sys/int_types.h:34:0,
> from /usr/include/sys/stdint.h:17,
> from /usr/include/stdint.h:17,
> from
> /opt/csw/lib/gcc/sparc-sun-solaris2.10/4.9.2/include/stdint.h:9,
> from src/mplutils.h:11,
> from src/ft2font_wrapper.cpp:1:
> /opt/csw/lib/gcc/sparc-sun-solaris2.10/4.9.2/include-fixed/sys/feature_tests.h:196:0:
> note: this is the location of the previous definition
> #define _FILE_OFFSET_BITS 32
> ^
> In file included from /usr/local/include/python3.4m/Python.h:36:0,
> from src/mplutils.h:21,
> from src/ft2font_wrapper.cpp:1:
> /usr/include/unistd.h:496:75: error: conflicting declaration of C function
> 'void swab(const void*, void*, ssize_t)'
> extern void swab(const void *_RESTRICT_KYWD, void *_RESTRICT_KYWD,
> ssize_t);
>
> ^
> In file included from /usr/local/include/python3.4m/Python.h:34:0,
> from src/mplutils.h:21,
> from src/ft2font_wrapper.cpp:1:
> /usr/include/stdlib.h:144:13: note: previous declaration 'void swab(const
> char*, char*, ssize_t)'
> extern void swab(const char *, char *, ssize_t);
> ^
> error: command 'gcc' failed with exit status 1
>
>
> I have gcc on the box. I also installed the C compiler for Solaris (cc),
> but I couldn't seem to find an option to switch it so that it uses cc
> rather than gcc.
>
> Thanks again for all you do, and thanks for the help.
>
> -- BMW
>
> On Sun, May 24, 2015 at 2:05 PM, Thomas Caswell <tca...@gm...>
> wrote:
>
>> Bryan,
>>
>> If you subscribe to the list you will be able to post with out moderation.
>>
>> Does this happen with any of the other sample data?
>>
>> I don't think that `get_sample_data` is doing you any good here as you
>> are passing it an absolute path (from `os.getcwd()`) which is passed into
>> `os.path.join` which when it encounters and absolute path discards
>> everything to the left so that line is just returning back your input.
>>
>> Does it work to open any other png or does _only_ this png have issues?
>>
>> You are reaching into the nominally private parts of the mpl api here, I
>> would suggest using `mpl.image.imread` instead.
>>
>> It might be worth using something like PIL/pillow, imread (
>> https://pypi.python.org/pypi/imread), imageio (https://imageio.github.io/)
>> or scikit-image for alternate implementations of png readers.
>>
>> None of the core developers have access to a Solaris machine so it is
>> very difficult for us to provide much better help on this.
>>
>> Tom
>>
>> On Sun, May 24, 2015 at 1:38 PM Bryan Williams <
>> bry...@gm...> wrote:
>>
>>> Good afternoon,
>>>
>>>
>>>
>>> My name is Bryan Williams. I work for the Florida Forest Service in
>>> their Forest Logistics and Support Bureau.
>>>
>>>
>>>
>>> I’m working on a program that takes weather data and visualizes it using
>>> matplotlib and Basemap. I’m currently having an issue with matplotlib 1.4.3
>>> for Python 3.4.3 running under Solaris 5.10. I am getting a Runtime Error
>>> whenever I try calling the read_png file from matplotlib._png. (I’m using
>>> this to add a small .png file of the Forest Service’s sheld to the
>>> picture). The error is the following:
>>>
>>>
>>>
>>> Traceback (most recent call last):
>>>
>>> File "drawmaps.py", line 845, in <module>
>>>
>>> arr_lena = read_png(fn)
>>>
>>> RuntimeError: Error closing dupe file handle
>>>
>>>
>>>
>>> I don’t quite understand the error I’m getting, and as you can see, the
>>> traceback gives very little information. I also tried Google for help, but
>>> to no avail; entering the error message as is into Google doesn’t return
>>> anything relating to the problem, and putting quotes around "Error closing
>>> dupe file handle" yields about 10 results, with one of them being an
>>> unanswered question from 2014 regarding the same issue.
>>>
>>>
>>>
>>> As per your request on the website, here’s what I get from uname –a:
>>>
>>>
>>>
>>> SunOS [server name withheld] 5.10 Generic_141444-09 sun4v sparc
>>> SUNW,SPARC-Enterprise-T5220
>>>
>>>
>>>
>>> I built Python 3.4.3 from source and installed matplotlib through pip,
>>> and didn’t make any changes to the matplotlibrc file.
>>>
>>>
>>>
>>> I was able to reproduce the problem again running these commands in the
>>> Python interactive prompt, which emulates the snippet of script that causes
>>> the error:
>>>
>>>
>>>
>>> Python 3.4.3 (default, May 15 2015, 13:52:23)
>>>
>>> [GCC 4.9.2] on sunos5
>>>
>>> Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> >>> from matplotlib._png import read_png
>>>
>>> >>> from matplotlib.cbook import get_sample_data
>>>
>>> >>> import os; path=os.getcwd()
>>>
>>> >>> fn = get_sample_data(path + '/resources/shield.png', asfileobj=False)
>>>
>>> >>> arr_lena = read_png(fn)
>>>
>>> Traceback (most recent call last):
>>>
>>> File "<stdin>", line 1, in <module>
>>>
>>> RuntimeError: Error closing dupe file handle
>>>
>>>
>>>
>>>
>>>
>>> If you’d like a copy of the problem script, please let me know. Any and
>>> all help is greatly appreciated.
>>>
>>>
>>>
>>> Thank you in advance!
>>>
>>>
>>>
>>> -- BMW
>>>
>>> ------------------------------------------------------------------------------
>>> One dashboard for servers and applications across Physical-Virtual-Cloud
>>> Widest out-of-the-box monitoring support with 50+ applications
>>> Performance metrics, stats and reports that give you Actionable Insights
>>> Deep dive visibility with transaction tracing using APM Insight.
>>> http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
>>> _______________________________________________
>>> Matplotlib-users mailing list
>>> Mat...@li...
>>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>>>
>>
>
From: Eric F. <ef...@ha...> - 2015年05月28日 17:50:56
On 2015年05月28日 3:13 AM, Bryan Williams wrote:
> I have gcc on the box. I also installed the C compiler for Solaris (cc),
> but I couldn't seem to find an option to switch it so that it uses cc
> rather than gcc.
Maybe you can do this with an environment variable?
export CC=/usr/bin/cc
It does look like there is a problem with scrambled environments. The 
redefinition warning looks potentially troublesome; and the error looks 
like a conflict between two versions of the standard C library.
 From "man swab" on Solaris:
NAME
 swab - swap bytes
SYNOPSIS
 #include <stdlib.h>
 void swab(const char *src, char *dest, ssize_t nbytes);
 XPG4, SUS, SUSv2, SUSv3
 #include <unistd.h>
 void swab(const void *restrict src, void *restrict dest,
 ssize_t nbytes);
I think you want the second version, consistently, but something is also 
hitting the first version.
Maybe "XPG4" or one of the other 4 options needs to be defined when each 
library is compiled with /usr/bin/cc? I think the stdlib declaration is 
old; the unistd version is more modern.
That's all very vague, I know. Obviously, I don't actually know how to 
solve the problem.
Eric
From: Bryan W. <bry...@gm...> - 2015年05月29日 12:55:07
It seems like it is a conflict of libraries...I've zeroed in to these two
errors:
/usr/include/unistd.h:496:75: error: conflicting declaration of C function
'void swab(const void*, void*, ssize_t)'
and
/usr/include/stdlib.h:144:13: note: previous declaration 'void swab(const
char*, char*, ssize_t)'
I executed a find command and here's what came up:
~>sudo find / -name stdlib.h
*/opt/csw/include/c++/4.9.2/tr1/stdlib.h*
/opt/solarisstudio12.4/lib/compilers/include/CC/gnu/stdlib.h
/opt/solarisstudio12.4/lib/compilers/include/CC/stlport4/stdlib.h
/opt/solarisstudio12.4/lib/compilers/CC-gcc/include/c++/4.8.2/tr1/stdlib.h
*/usr/include/stdlib.h*
>From what it seems, it's calling stdlib.h from the /usr/include folder when
it should be calling it from /opt/csw/include. I'm going to look into
setup.cfg (that or perhaps hack setup.py) and see if it's at all possible
to change it so that it looks in the right one, and then I'll try building
it again.
On Thu, May 28, 2015 at 1:50 PM, Eric Firing <ef...@ha...> wrote:
> On 2015年05月28日 3:13 AM, Bryan Williams wrote:
> > I have gcc on the box. I also installed the C compiler for Solaris (cc),
> > but I couldn't seem to find an option to switch it so that it uses cc
> > rather than gcc.
>
> Maybe you can do this with an environment variable?
>
> export CC=/usr/bin/cc
>
> It does look like there is a problem with scrambled environments. The
> redefinition warning looks potentially troublesome; and the error looks
> like a conflict between two versions of the standard C library.
>
> From "man swab" on Solaris:
>
> NAME
> swab - swap bytes
>
> SYNOPSIS
> #include <stdlib.h>
>
> void swab(const char *src, char *dest, ssize_t nbytes);
>
> XPG4, SUS, SUSv2, SUSv3
> #include <unistd.h>
>
> void swab(const void *restrict src, void *restrict dest,
> ssize_t nbytes);
>
> I think you want the second version, consistently, but something is also
> hitting the first version.
>
> Maybe "XPG4" or one of the other 4 options needs to be defined when each
> library is compiled with /usr/bin/cc? I think the stdlib declaration is
> old; the unistd version is more modern.
>
> That's all very vague, I know. Obviously, I don't actually know how to
> solve the problem.
>
> Eric
>
>
>
>
> ------------------------------------------------------------------------------
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.
Thanks for helping keep SourceForge clean.
X





Briefly describe the problem (required):
Upload screenshot of ad (required):
Select a file, or drag & drop file here.
Screenshot instructions:

Click URL instructions:
Right-click on the ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)

More information about our ad policies

Ad destination/click URL:

AltStyle によって変換されたページ (->オリジナル) /