NCurses menu linking error seit Upgrade auf Mojave

K

koeppea

Registriert
Thread Starter
Dabei seit
25.10.2018
Beiträge
3
Reaktionspunkte
0
Seit dem ich auf MacOS Mojave (10.14) aktualisiert habe, kann ich keine Programmer mehr übersetzen die Menu Elemente enthalten.

Folgendes TestProgramm bricht beim Kompilieren wie folgt ab:

$
$ cat ncurses-test.c
#include <stdlib.h>
#include <curses.h>
#include <menu.h>

int main(void)
{
/* initialize curses */
ITEM* items[2];
ITEM* item;
MENU* menu;

initscr();
cbreak();
noecho();

clear();

item = new_item("Name", "Beschreibung");
items[0] = item;
items[1] = NULL;
menu = new_menu(items);

refresh();
getch();
endwin();

return 0;
}
$
$ cc -o ncurses-test ncurses-test.c -lmenu -lcurses
Undefined symbols for architecture x86_64:
"_new_item", referenced from:
_main in ncurses-test-6621c2.o
"_new_menu", referenced from:
_main in ncurses-test-6621c2.o
ld: symbol(s) not found for architecture x86_64
clang:
error: linker command failed with exit code 1 (use -v to see invocation)
$


Hat jemand eine Idee woran das liegt?
Hab die Information wie genau zu verlinken ist, von der man-page für menu entnommen.
 
ist schon komisch, wenn du mal
nm /usr/lib/libmenu.dylib
machst, dann siehst du ja, dass die symbole definitiv vorhanden sind.

wenn du -lmenu weg lässt, kriegst übrigens den gleichen fehler.
irgendwas scheint mit der /usr/lib/libmenu.dylib nicht zu stimmen.
ich hab mal testweise mit /opt/local/lib/libmenu.dylib von macports gelinkt und das klappte.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: koeppea
Hey super Danke. Du hast voll Recht. Hab zwar gegen die Lib von Homebrew gelinkt aber das funktioniert genauso gut.
Was wäre denn der korrekte Weg dieses Problem bei Apple zu adressieren?
 
Was wäre denn der korrekte Weg dieses Problem bei Apple zu adressieren?

ich hab schon einen bugreport bei apple eingereicht.
falls du wieder mal ein problem findest, kannst das selbst über bugreport.apple.com machen.
einfach mit der appleid einloggen und schön die ganzen schritte ausfüllen.
ab und an kriegst dann lustige antworten von denen, speziell wenn es um sicherheits dinge geht ;)
 
Super cool. Vielen Dank.
 
Zurück
Oben Unten