Opened 6 months ago

Closed 4 months ago

Last modified 4 months ago

#69795 closed defect (fixed)

t1lib @5.1.2_3: has implicit int which is not supported under Xcode 15

Reported by: rbeyer (Ross Beyer) Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.9.3
Keywords: Cc: mcmara (Jack McMara)
Port: t1lib

Description

Upon trying to build t1lib (for texlive), it failed to build with this error:

:info:build regions.c:602:45: error: parameter 'y2' was not declared, defaults to 'int'; ISO C99 and later do not support implicit int [-Wimplicit-int]

There was another of the same kind for x2 but this likely another issue with Xcode 15 being more strict than the past. Hopefully this is another easy port fix.

Attachments (1)

t1lib-main.log (205.5 KB) - added by rbeyer (Ross Beyer) 6 months ago.
main.log file from run of port install t1lib

Download all attachments as: .zip

Change History (10)

Changed 6 months ago by rbeyer (Ross Beyer)

Attachment: t1lib-main.log added

main.log file from run of port install t1lib

comment:1 Changed 6 months ago by jmroot (Joshua Root)

Red Hat has some patches that should help: https://src.fedoraproject.org/rpms/t1lib/tree/rawhide

We should also make sure it uses an appropriately old standard like -std=gnu89 since this issue is on top of the fact that the code uses K&R style declarations, which are no longer allowed as of C23.

comment:2 Changed 5 months ago by rbeyer (Ross Beyer)

I don't have the expertise to fix this, and was hoping that someone else might be able to patch up this portfile? It is currently blocking my ability to build texlive, and may be a blocker for others. Thank you.

comment:3 Changed 5 months ago by rbeyer (Ross Beyer)

I can confirm that by applying the simple fix in

https://src.fedoraproject.org/rpms/t1lib/blob/rawhide/f/t1lib-c99.patch

to the appropriate file in the port allows t1lib to compile and build correctly under Xcode 15, and no other modifications appeared to be necessary.

I'm not entirely sure how to submit a correction to the port the right way, despite spending some time trying to read through the docs. Since its such a simple diff, I hope that it is easy for a maintainer to fix up.

comment:4 Changed 5 months ago by ryandesign (Ryan Carsten Schmidt)

More than just that one patch should be applied. Compiling successfully does not guarantee the program works correctly. There are C99 compatibility problems in the configure script as well, for example, some of which are solved by another rawhide patch in that same directory and some of which are not fixed by any of their patches. This means some of the configure script's results do not actually reflect the features they were intended to test.

comment:5 Changed 4 months ago by mcmara (Jack McMara)

The same problem breaks, among others, the installation of the whole texlive package (Intel, Sonoma 14.5, macports 2.9.3):

$ port -N install texlive
--->  Computing dependencies for texlive
--->  Dependencies to be installed: texlive-bin-extra texlive-context texlive-fontutils dvipng dvisvgm p5.34-file-homedir p5.34-log-dispatch p5.34-log-log4perl p5.34-mime-charset p5.34-unicode-linebreak p5.34-yaml-tiny p5.34-libwww-perl p5.34-lwp-protocol-https p5.34-file-copy-recursive p5.34-html-formatter p5.34-www-mechanize pstoedit t1lib autoconf-archive woff2 mupdf gumbo-parser leptonica tesseract p5.34-mac-systemdirectory p5.34-ipc-run3 p5.34-devel-globaldestruction p5.34-dist-checkconflicts p5.34-module-runtime p5.34-namespace-autoclean p5.34-params-validationcompiler p5.34-specio p5.34-sys-syslog p5.34-scope-guard p5.34-sub-exporter-progressive p5.34-yaml p5.34-test-yaml p5.34-test-base p5.34-text-diff p5.34-spiffy p5.34-b-hooks-endofscope p5.34-namespace-clean p5.34-sub-identify p5.34-module-implementation p5.34-variable-magic p5.34-test-requires p5.34-package-stash p5.34-package-stash-xs p5.34-test2-suite p5.34-test2-plugin-nowarnings p5.34-test-without-module p5.34-class-xsaccessor p5.34-eval-closure p5.34-exception-class p5.34-json-maybexs p5.34-module-pluggable p5.34-term-table p5.34-time-hires p5.34-cpanel-json-xs p5.34-time-piece p5.34-term-size-any p5.34-devel-hide p5.34-term-size-perl p5.34-devel-lexalias p5.34-padwalker p5.34-test-output p5.34-devel-caller p5.34-devel-stacktrace p5.34-class-data-inheritable p5.34-ref-util p5.34-role-tiny p5.34-sub-quote p5.34-xstring p5.34-ref-util-xs p5.34-readonly p5.34-module-build-tiny p5.34-extutils-config p5.34-extutils-helpers p5.34-extutils-install p5.34-extutils-installpaths p5.34-test-harness p5.34-class-method-modifiers p5.34-dbd-csv p5.34-dbd-sqlite p5.34-dbi p5.34-log-dispatch-filerotate p5.34-sql-statement p5.34-xml-dom p5.34-text-csv_xs p5.34-path-tiny p5.34-date-manip p5.34-test-mockrandom p5.34-pathtools p5.34-unicode-utf8 p5.34-test-inter p5.34-math-base-convert p5.34-math-complex p5.34-text-balanced p5.34-text-soundex p5.34-math-bigint p5.34-xml-parser p5.34-libxml-perl p5.34-xml-regexp p5.34-encode-din66003 p5.34-encode-eucjpascii p5.34-encode-hanextra p5.34-encode-jisx0213 p5.34-pod2-base p5.34-encode-iso2022 p5.34-http-cookiejar p5.34-test-requiresinternet p5.34-data-dump p5.34-file-listing p5.34-html-form p5.34-http-cookies p5.34-http-daemon p5.34-http-negotiate p5.34-net-http p5.34-www-robotrules p5.34-test-file p5.34-html-tree p5.34-font-afm p5.34-test-memory-cycle p5.34-test-taint p5.34-devel-cycle ImageMagick libzip plotutils djvulibre libraw fftw-3 gcc13 libgcc isl libmpc gcc_select gcc13-libcxx clang-16 llvm-16 libgcc13 luametatex lcdf-typetools ps2eps t1utils
--->  Building t1lib
Error: Failed to build t1lib: command execution failed
Error: See /Users/xxxxx/dev/install/macports/var/macports/logs/_Users_xxxxx_dev_install_macports_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_t1lib/t1lib/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug.
Error: Processing of port texlive failed

So latex is now broken on my machine.

comment:6 Changed 4 months ago by ryandesign (Ryan Carsten Schmidt)

Owner: set to ryandesign
Status: newaccepted
Summary: t1lib 5.1.2_3: has implicit int which is not supported under Xcode 15t1lib @5.1.2_3: has implicit int which is not supported under Xcode 15

comment:7 Changed 4 months ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: acceptedclosed

In a9a615199c41c0dcc050fdc0d47244fbc5be9dd0/macports-ports (master):

t1lib: Fix implicit func decls and implicit int

Closes: #69795

Use -std=gnu89 because the code uses old K&R-style declarations.

comment:8 Changed 4 months ago by ryandesign (Ryan Carsten Schmidt)

Cc: mcmara added

Jack, in an hour or more, you can run sudo port selfupdate and then try again to receive the fix.

comment:9 Changed 4 months ago by mcmara (Jack McMara)

Thank you: very appreciated.

Note: See TracTickets for help on using tickets.