Using MacPorts gcc14 (stdio.h trouble error: unknown type name 'FILE)

Chris Jones jonesc at hep.phy.cam.ac.uk
Thu Feb 13 14:30:38 UTC 2025



On 13/02/2025 2:17 pm, Gerben Wierda wrote:
> I see. Thanks for the info.
> 
> I thought, let’s build gcc14 from source then, but that fails.
> 
> --->  Fetching distfiles for isl
> 
> --->  Attempting to fetch isl-0.24.tar.bz2 from http:// 
> netcologne.dl.sourceforge.net/libisl
> 
> --->  Verifying checksums for isl
> 
> --->  Extracting isl
> 
> --->  Applying patches to isl
> 
> --->  Configuring isl
> 
> --->  Building isl
> 
> Error: Failed to build isl: command execution failed
> 
> Error: See /opt/local/var/macports/logs/ 
> _Users_gerben_MacPortsDev_macports-ports_devel_isl/isl/main.log for details.
> 
> 
> I’m not getting much wiser from the log
> 
> :info:build libtool: link: /usr/bin/clang -Wall -pipe -Os -isysroot/ 
> Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -arch x86_64 -Wl,- 
> headerpad_max_install_names -Wl,-syslibroot -Wl,/Library/Developer/ 
> CommandLineTools/SDKs/MacOSX14.sdk -arch x86_64 -o .libs/isl_codegen 
> codegen.o  -L/opt/local/lib ./.libs/libisl.dylib -lgmp
> 
> :info:build make[2]: Leaving directory `/opt/local/var/macports/build/ 
> _Users_gerben_MacPortsDev_macports-ports_devel_isl/isl/work/isl-0.24'
> 
> :info:build make[1]: *** [all-recursive] Error 1
> 
> :info:build make[1]: Leaving directory `/opt/local/var/macports/build/ 
> _Users_gerben_MacPortsDev_macports-ports_devel_isl/isl/work/isl-0.24'
> 
> :info:build make: *** [all] Error 2
> 
> :info:build make: Leaving directory `/opt/local/var/macports/build/ 
> _Users_gerben_MacPortsDev_macports-ports_devel_isl/isl/work/isl-0.24'
> 
> :info:build Command failed:  cd "/opt/local/var/macports/build/ 
> _Users_gerben_MacPortsDev_macports-ports_devel_isl/isl/work/isl-0.24" 
> && /usr/bin/make -j8 -w all
> 
> :info:build Exit code: 2
> 
> :error:build Failed to build isl: command execution failed
> 
> :debug:build Error code: CHILDSTATUS 22283 2
> 
> :debug:build Backtrace: command execution failed
> 
> :debug:build     while executing
> 
> :debug:build "system {*}$notty {*}$callback {*}$nice $fullcmdstring"
> 
> :debug:build     invoked from within
> 
> :debug:build "command_exec -callback 
> portprogress::target_progress_callback build"
> 
> 
> 
> Hmm. I’ve seen this before on a port. When downloading a binary, it 
> works. But trying to compile yourself fails. I’ve started to suspect 
> that MacPorts is not a very certain route when compiling yourself is 
> part of the mix.


Not all all true. Builds from source works just fine, I in fact do it 
all the time for all ports, as we do not yet have *any* binary tarballs 
for macOS15 arm

isl also builds just fine on pretty much all platforms

https://ports.macports.org/port/isl/details/

why its failing for you is hard to say as you have not provided enough 
information really to comment.

> 
> Anyway, building with MacPorts from source seems to use /Library/ 
> Developer/CommandLineTools/SDKs and not /Applications/Xcode.app/ 
> Contents/Developer/Platforms/MacOSX.platform/ Developer/SDKs, and there 
> I can find de 14.x SDK.so I might try the compiled version with that - 
> isysroot

If you are on macOS14, but do not have a consistent SDK under /Library/
 > Developer/CommandLineTools/SDKs then *your* installation is a bit 
messed up. You should look into reinstalling your CLT using the correct 
version for your OS.

Chris


> 
> G
> 
>> On 13 Feb 2025, at 12:46, Chris Jones via macports-users <macports- 
>> users at lists.macports.org> wrote:
>>
>> Hi,
>>
>> Looks like its this
>>
>> https://github.com/iains/gcc-14-branch/issues/7
>>
>> Basically, GCC is sensitive to the SDK it was built against. Looks 
>> like you are likely using the binary install of gcc14 on macOS14, 
>> which would have been built using the macOS14 SDK, but you are giving 
>> it the macOS15 SDK. This is known to have problems, see the above.
>>
>> You need to match SDKs. So either build GKlib using macOS14 SDK, or 
>> rebuild locally your gcc14 port against macOS15 SDK.
>>
>> Or just use clang, which is anyway the defacto default C(C++) compiler 
>> on macOS.
>>
>> Chris
>>
>>
>> On 12/02/2025 9:46 pm, Gerben Wierda wrote:
>>> I am trying to compile a library (GKlib) with MacPorts gcc14 on 
>>> Sonoma 14.7,3. MacPorts is up to date
>>> I have set thing sup with
>>> git clone https://github.com/KarypisLab/GKlib.git <https:// 
>>> github.com/ KarypisLab/GKlib.git>
>>> cd GKlib
>>> make config cc=gcc-mp-14 prefix=../GKlibInstall
>>> make
>>> /opt/local/bin/gcc-mp-14  -I/Users/gerben/RenskeDev/Leon/fromsource/ 
>>> GKlib/. -I/Users/gerben/RenskeDev/Leon/fromsource/GKlib/test -DLINUX 
>>> - D_FILE_OFFSET_BITS=64 -std=c99 -fno-strict-aliasing -march=native - 
>>> fPIC -Werror -Wall -pedantic -Wno-unused-function -Wno-unused-but- 
>>> set- variable -Wno-unused-variable -Wno-unknown-pragmas -Wno-unused- 
>>> label - DNDEBUG -DNDEBUG2 -DHAVE_EXECINFO_H -DHAVE_GETLINE -O3 - 
>>> isysroot / Applications/Xcode.app/Contents/Developer/Platforms/ 
>>> MacOSX.platform/ Developer/SDKs/MacOSX15.2.sdk -mmacosx-version- 
>>> min=14.7 -MD -MT CMakeFiles/GKlib.dir/b64.c.o -MF CMakeFiles/ 
>>> GKlib.dir/b64.c.o.d -o CMakeFiles/GKlib.dir/b64.c.o -c /Users/gerben/ 
>>> RenskeDev/Leon/fromsource/ GKlib/b64.c
>>> In file included from */Users/gerben/RenskeDev/Leon/fromsource/GKlib/ 
>>> GKlib.h:32*,
>>>                  from */Users/gerben/RenskeDev/Leon/fromsource/GKlib/ 
>>> b64.c:20*:
>>> */opt/local/lib/gcc14/gcc/x86_64-apple-darwin23/14.2.0/include-fixed/ 
>>> stdio.h:83:8:* *error: *unknown type name '*FILE*'
>>>    83 | extern *FILE**__stdinp;
>>>       | *^~~~*
>>> *
>>> *
>>> A test file in the directory above compiles fine. I’ve seen messages 
>>> with this kind of trouble but I don’t understand exactly where this 
>>> is going wrong.
>>> */opt/local/lib/gcc14/gcc/x86_64-apple-darwin23/14.2.0/include-fixed/ 
>>> stdio.h* starts with:
>>> #ifndef _STDIO_H_
>>> #define _STDIO_H_
>>> #include <_stdio.h>
>>> #include <sys/_types/_seek_set.h>
>>> __BEGIN_DECLS
>>> extern FILE *__stdinp;
>>> When testing with the test file, the culprit seems to be
>>>  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/ 
>>> MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk
>>> It’s been far too long I have been doing stuff like this, so I could 
>>> use tips.
>>> Thanks,
>>> G
>>
> 



More information about the macports-users mailing list