-
-
Notifications
You must be signed in to change notification settings - Fork 7.9k
trunk fails to build in AIX #17829
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Is it a matter of flags or do we need to patch the freetype as well? If it is flags / proper calls to the compilers we can add the details to Lines 518 to 643 in b2a11c7
How can we reliably tell if we are on AIX? Probably the simplest change would be change Lines 138 to 144 in b2a11c7
to --- a/setupext.py
+++ b/setupext.py
@@ -138,7 +138,7 @@ if os.path.exists(setup_cfg):
options = {
'backend': config.get('rc_options', 'backend', fallback=None),
'system_freetype': config.getboolean('libs', 'system_freetype',
- fallback=False),
+ fallback=am_i_on_aix()),
'system_qhull': config.getboolean('libs', 'system_qhull',
fallback=False),
} We should document more prominently the |
Ah, found it, was not looking in the right part of the docs |
@ayappanec Do you have the same issue with qhull? |
Our internal freetype build fails due to incorrect compiler flags. The easy path to make sure AIX users will be able to pip install is to default to system freetype when on AIX. closes matplotlib#17829
Can you please confirm that this works for you again @ayappanec ? Thank you for reporting this! |
@tacaswell Great. It works now. Thank you for the quick response and support. |
Building the trunk fails in AIX with the following errors
builds/unix/ftsystem.c: In function 'ft_close_stream_by_munmap':
builds/unix/ftsystem.c:197:5: warning: implicit declaration of function 'munmap' [-Wimplicit-function-declaration]
munmap( (MUNMAP_ARG_CAST)stream->descriptor.pointer, stream->size );
^~~~~~
builds/unix/ftsystem.c: In function 'FT_Stream_Open':
builds/unix/ftsystem.c:234:18: error: storage size of 'stat_buf' isn't known
struct stat stat_buf;
^~~~~~~~
builds/unix/ftsystem.c:241:12: warning: implicit declaration of function 'open'; did you mean 'fopen'? [-Wimplicit-function-declaration]
file = open( filepathname, O_RDONLY );
^~~~
fopen
builds/unix/ftsystem.c:241:32: error: 'O_RDONLY' undeclared (first use in this function)
file = open( filepathname, O_RDONLY );
This happens during the freetype build.
I am able to overcome this issue by making use of system freetype setting via setup.cfg
AIX build mechanism, unlike linux or other well tested opensource platforms, is very unique and needs special compiler flags.
So the technique of downloading freetype source code and building it just using the configure is not going to work in AIX.
The point here is once there is a new matplotlib release and when users start using "pip install matplotlib" , AIX users will face this issue. So i would probably suggest for AIX platform, matplotlib has to rely on system softwares ( in this case it's freetype)
The text was updated successfully, but these errors were encountered: