Opened 17 months ago
Last modified 3 months ago
#71092 assigned defect
tecla @1.6.3: error: incompatible function pointer types passing 'TputsRetType (TputsArgType)' (aka 'void (int)') to parameter of type 'int (*)(int)' [-Wincompatible-function-pointer-types]
| Reported by: | 2-of-1 | Owned by: | michaelld (Michael Dickens) |
|---|---|---|---|
| Priority: | Normal | Milestone: | |
| Component: | ports | Version: | |
| Keywords: | sequoia | Cc: | thomasrussellmurphy (Thomas Russell Murphy), bitwhyz, madler (Mark Adler) |
| Port: | tecla |
Description
Hello.
Tried to install GQRX using Mac Ports on Sonoma but the installation fails due to the inability to download and install the Tecla sources. Even the -b switch didn't solve the problem.
Thanks in advance,
2of1
Attachments (3)
Change History (18)
comment:1 Changed 17 months ago by ryandesign (Ryan Carsten Schmidt)
| Keywords: | sonoma added |
|---|---|
| Owner: | set to michaelld |
| Port: | tecla added; gqrx removed |
| Status: | new → assigned |
| Summary: | Unable to install GQRX because of Tecla can't be build → tecla: Fetch failure |
Changed 17 months ago by 2-of-1
| Attachment: | main_gqrx.log added |
|---|
Changed 17 months ago by 2-of-1
| Attachment: | main_tecla.log added |
|---|
comment:3 Changed 17 months ago by ryandesign (Ryan Carsten Schmidt)
| Keywords: | sequoia added; sonoma removed |
|---|---|
| Summary: | tecla: Fetch failure → tecla @1.6.3: error: incompatible function pointer types passing 'TputsRetType (TputsArgType)' (aka 'void (int)') to parameter of type 'int (*)(int)' [-Wincompatible-function-pointer-types] |
Ok, so the failure to fetch precompiled archives is not the bug; see #60756. The real problem is that the port doesn't build:
./getline.c:3931:34: error: incompatible function pointer types passing 'TputsRetType (TputsArgType)' (aka 'void (int)') to parameter of type 'int (*)(int)' [-Wincompatible-function-pointer-types]
3931 | tputs((char *)string, nline, gl_tputs_putchar);
| ^~~~~~~~~~~~~~~~
/opt/local/include/term.h:848:60: note: passing argument to parameter here
848 | extern NCURSES_EXPORT(int) tputs (const char *, int, int (*)(int));
| ^
1 error generated.
Just to get the correct info into the bug: You said you're using macOS Sonoma but the log shows macOS 15 which is Sequoia.
comment:4 Changed 17 months ago by 2-of-1
Thanks for filing the ticket under the right hashtags. You are right, its Sequoia, not Sonoma. Any idea how to fix this compilation Error?
comment:5 Changed 17 months ago by ryandesign (Ryan Carsten Schmidt)
The project's code evidently contains a mistake where one type of information is being passed to a function that expects a different type of information. Compilers have issued warnings about incompatible function pointer types for years. Now, the latest compilers no longer tolerate such mistakes and consider them to be errors. Ideally, someone would fix the problem so that the correct type of information is being passed. Less ideally, the error could be downgraded back to a warning.
Usually mistakes in a project's code should be reported to its developers so they can fix it. I'm not sure if this project is still being developed though, since the last version was released ten years ago.
comment:6 follow-up: 13 Changed 14 months ago by bitwhyz
I'm running MacOS Sequoia 15.2 on Intel 64-bit macbook pro, and encountered an issue when doing the "port migrate" from MacPorts base version 2.10.1 to 2.10.5, the migrate failed on the tecla package when attempting to fetch from the following URLs the main.log file shows the errors below:
:info:archivefetch ---> tecla-1.6.3_0.darwin_24.x86_64.tbz2 doesn't seem to exist in /opt/local/var/macports/incoming/verified :msg:archivefetch ---> Attempting to fetch tecla-1.6.3_0.darwin_24.x86_64.tbz2 from https://packages.macports.org/tecla :debug:archivefetch Fetching archive failed: The requested URL returned error: 404 :msg:archivefetch ---> Attempting to fetch tecla-1.6.3_0.darwin_24.x86_64.tbz2 from http://mirror.fcix.net/macports/packages/tecla :debug:archivefetch Fetching archive failed: The requested URL returned error: 404 :msg:archivefetch ---> Attempting to fetch tecla-1.6.3_0.darwin_24.x86_64.tbz2 from https://ywg.ca.packages.macports.org/mirror/macports/packages/tecla :debug:archivefetch Fetching archive failed: The requested URL returned error: 404 The darwin_24.x86_64 package is missing and causes the ensuing Error 404.
The previous "darwin_23" versions exist at those URLs but the macports migration to 2.10.5 specifically points to darwin_24 versions, as all other packages migrated used darwin_24 versions as well. It seems that building the tecla-1.6.3_0.darwin_24.x86_64.tbz2 and placing it at those URLs would be the fix, or if it's not being developed further, then point the macports migration to the darwin_23 version if its compatible with Sequoia. Is there a way to do that?
comment:7 Changed 13 months ago by thomasrussellmurphy (Thomas Russell Murphy)
| Cc: | thomasrussellmurphy added |
|---|
comment:8 Changed 12 months ago by madler (Mark Adler)
Is there a way for me to fix the source code that has been downloaded on my system for the build (looks like an easy fix), and then pick up the install where it left off? And then move on with my life?
comment:9 Changed 12 months ago by mcquiggi (Kevin McQuiggin)
Same issue here. I need tecla in order to be able to build the port for the bladeRF SDR.
comment:10 Changed 12 months ago by mcquiggi (Kevin McQuiggin)
Sequoia 15.3.2 and the latest Xcode and command line tools: I should have added that on the original message.
comment:11 Changed 12 months ago by mcquiggi (Kevin McQuiggin)
Hi All:
I was able to fix this by adding a casting to line 3931 of getline.c, as noted in the error message above:
Old line 3931 (getline.c):
tputs((char *)string, nline, gl_tputs_putchar);
Revision:
tputs((char *)string, nline, (int * ) &gl_tputs_putchar);
This resolved the build issue.
I am not a GitHub expert/user, so if the assigned bug person reads this, here is a potential fix!!!
Sorry I can't do the ""pull" et cetera myself but I would like break many other things!
Kevin
comment:12 follow-up: 14 Changed 12 months ago by madler (Mark Adler)
Kevin: So how do I do this in the middle of a port install? Where do I find getline.c on my system, and how do I resume the port install after it stops due to the error?
comment:13 Changed 12 months ago by ryandesign (Ryan Carsten Schmidt)
Replying to bitwhyz:
It seems that building the tecla-1.6.3_0.darwin_24.x86_64.tbz2 and placing it at those URLs would be the fix
That will happen automatically as soon as someone commits a fix that allows it to build. Right now, as reported in this ticket, it cannot build.
comment:14 Changed 12 months ago by ryandesign (Ryan Carsten Schmidt)
| Cc: | bitwhyz madler added |
|---|
Replying to madler:
So how do I do this in the middle of a port install? Where do I find getline.c on my system,
find $(port work tecla) -name getline.c
and how do I resume the port install after it stops due to the error?
sudo port install tecla
Also, needless to say, this is a bug in tecla. It needs to be reported to the developers of tecla so they can fix it.
Changed 3 months ago by DanielO (Daniel O'Connor)
| Attachment: | 0001-Patch-to-build-on-newer-Sonoma-macOS.patch added |
|---|
Fix build on modern (Sonoma+?) macOS
comment:15 Changed 3 months ago by DanielO (Daniel O'Connor)
The attached patch works for me. I am not sure of the boundary of the change though, and not sure how I can find out.
I had a look at upstream but the last change was 2014 so not sure the author is active anymore.

Please attach the main.log file.