Opened 20 months ago
Last modified 19 months ago
#71529 assigned defect
pari @2.17.0 +fltk +mt: Undefined fltk symbols
| Reported by: | ballapete (Peter "Pete" Dyballa) | Owned by: | wbl (Watson Ladd) |
|---|---|---|---|
| Priority: | Normal | Milestone: | |
| Component: | ports | Version: | 2.10.5 |
| Keywords: | Cc: | ||
| Port: | pari |
Description
/opt/local/bin/clang-mp-17 -o "/opt/local/var/macports/build/rsync.macports.org_macports_release_tarballs_ports_math_pari/pari/work/pari-2.17.0/Odarwin-x86_64"/libpari-gmp-tls.dylib -dynamiclib -O3 -Wall -fno-strict-aliasing -pipe -Os -arch x86_64 -I/opt/local/include -fPIC -Wl,-compatibility_version,2.17.0,-current_version,2.17.0 mpker.o mpinl.o F2v.o F2x.o F2xqE.o F3v.o FF.o Fle.o Flv.o Flx.o FlxX.o FlxqE.o Flxq_log.o FpE.o FpV.o FpX.o FpXQX_factor.o FpXX.o FpX_factor.o QX_factor.o Qfb.o RgV.o RgX.o Ser.o ZG.o ZV.o ZX.o Zp.o alglin1.o alglin2.o alglin3.o aprcl.o arith1.o arith2.o base1.o base2.o base3.o base4.o base5.o bb_group.o bb_hnf.o bern.o bibli1.o bibli2.o bit.o bnflog.o bnfunits.o buch1.o buch2.o buch3.o buch4.o char.o concat.o crvwtors.o digits.o dirichlet.o ecpp.o ellanal.o elliptic.o ellisog.o ellpadic.o ellpadiclambdamu.o ellrank.o ellsea.o elltors.o factcyclo.o galconj.o gen1.o gen2.o gen3.o grossenchar.o hgm.o hnf_snf.o hyperell.o hypergeom.o ifactor1.o ispower.o kummer.o lambert.o lerch.o lfun.o lfunlarge.o lfunquad.o lfunutils.o lll.o map.o matperm.o mellininv.o mftrace.o modsym.o msfarey.o nffactor.o nflist.o nflistQT.o pclgp.o perm.o polarit1.o polarit2.o polarit3.o polclass.o polmodular.o prime.o qfisom.o qfsolve.o quad.o ramanujantau.o random.o rootpol.o subcyclo.o subfield.o subgroup.o trans1.o trans2.o trans3.o volcano.o zetamult.o anal.o compile.o default.o es.o eval.o forprime.o gplib.o hash.o init.o intnum.o members.o paricfg.o pariinl.o parse.o readline.o str.o sumiter.o algebras.o elldata.o ellfromeqn.o forperm.o forsubset.o galois.o galpol.o genus2red.o groupid.o krasner.o mpqs.o part.o ratpoints.o stark.o thue.o darwin.o mt.o pthread.o plotport.o plottty.o -lgmp -lpthread
if test "libpari-gmp-tls.dylib" != "libpari.dylib"; then rm -f libpari.dylib; ln -s libpari-gmp-tls.dylib libpari.dylib; fi
if test "libpari-gmp-tls.dylib" != "libpari-gmp-tls.dylib"; then rm -f libpari-gmp-tls.dylib; ln -s libpari-gmp-tls.dylib libpari-gmp-tls.dylib; fi
rm -f gp-dyn
/opt/local/bin/clang-mp-17 -o gp-dyn -L"/opt/local/var/macports/build/rsync.macports.org_macports_release_tarballs_ports_math_pari/pari/work/pari-2.17.0/Odarwin-x86_64" -O3 -Wall -fno-strict-aliasing -pipe -Os -arch x86_64 -I/opt/local/include -Wl,-search_paths_first -L/opt/local/lib -Wl,-headerpad_max_install_names -arch x86_64 emacs.o gp.o gp_rl.o texmacs.o whatnow.o plotfltk.o -lreadline -lpari
Undefined symbols for architecture x86_64:
"Fl::run()", referenced from:
draw(PARI_plot*, long*, long*, long*) in plotfltk.o
"Fl::visual(int)", referenced from:
draw(PARI_plot*, long*, long*, long*) in plotfltk.o
"Fl::e_state", referenced from:
Plotter::handle(int) in plotfltk.o
"Fl::e_keysym", referenced from:
Plotter::handle(int) in plotfltk.o
"Fl_Group::end()", referenced from:
draw(PARI_plot*, long*, long*, long*) in plotfltk.o
"Fl_Window::fullscreen()", referenced from:
Plotter::handle(int) in plotfltk.o
"Fl_Window::size_range_()", referenced from:
Plotter::handle(int) in plotfltk.o
draw(PARI_plot*, long*, long*, long*) in plotfltk.o
"Fl_Window::fullscreen_off(int, int, int, int)", referenced from:
Plotter::handle(int) in plotfltk.o
"Fl_Window::hide()", referenced from:
vtable for Plotter in plotfltk.o
"Fl_Window::show()", referenced from:
vtable for Plotter in plotfltk.o
"Fl_Window::flush()", referenced from:
vtable for Plotter in plotfltk.o
"Fl_Window::resize(int, int, int, int)", referenced from:
vtable for Plotter in plotfltk.o
"Fl_Window::Fl_Window(int, int, char const*)", referenced from:
draw(PARI_plot*, long*, long*, long*) in plotfltk.o
Plotter::Plotter(PARI_plot*, long*, long*, long*) in plotfltk.o
Plotter::Plotter(PARI_plot*, long*, long*, long*) in plotfltk.o
"Fl_Window::~Fl_Window()", referenced from:
Plotter::~Plotter() in plotfltk.o
"typeinfo for Fl_Window", referenced from:
typeinfo for Plotter in plotfltk.o
"vtable for __cxxabiv1::__si_class_type_info", referenced from:
typeinfo for Plotter in plotfltk.o
NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
"operator delete(void*, unsigned long)", referenced from:
Plotter::~Plotter() in plotfltk.o
draw(PARI_plot*, long*, long*, long*) in plotfltk.o
"operator new(unsigned long)", referenced from:
draw(PARI_plot*, long*, long*, long*) in plotfltk.o
"___gxx_personality_v0", referenced from:
Dwarf Exception Unwind Info (__eh_frame) in plotfltk.o
"_fl_graphics_driver", referenced from:
DrawArc(void*, long, long, long, long) in plotfltk.o
FillArc(void*, long, long, long, long) in plotfltk.o
DrawRectangle(void*, long, long, long, long) in plotfltk.o
DrawString(void*, long, long, char*, long) in plotfltk.o
fl_color(unsigned int) in plotfltk.o
fl_point(int, int) in plotfltk.o
fl_rectf(int, int, int, int) in plotfltk.o
...
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [gp-dyn] Error 1
make[1]: Leaving directory `/opt/local/var/macports/build/rsync.macports.org_macports_release_tarballs_ports_math_pari/pari/work/pari-2.17.0/Odarwin-x86_64'
Work continued on the command line:
root 2154 /\ cd /opt/local/var/macports/build/rsync.macports.org_macports_release_tarballs_ports_math_pari/pari/work/pari-2.17.0/Odarwin-x86_64
root 2155 /\ /opt/local/bin/clang-mp-17 -o gp-dyn -L"/opt/local/var/macports/build/rsync.macports.org_macports_release_tarballs_ports_math_pari/pari/work/pari-2.17.0/Odarwin-x86_64" -O3 -Wall -fno-strict-aliasing -pipe -Os -arch x86_64 -I/opt/local/include -Wl,-search_paths_first -L/opt/local/lib -Wl,-headerpad_max_install_names -arch x86_64 emacs.o gp.o gp_rl.o texmacs.o whatnow.o plotfltk.o -lreadline -lpari -lfltk
Undefined symbols for architecture x86_64:
"vtable for __cxxabiv1::__si_class_type_info", referenced from:
typeinfo for Plotter in plotfltk.o
NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
"operator delete(void*, unsigned long)", referenced from:
Plotter::~Plotter() in plotfltk.o
draw(PARI_plot*, long*, long*, long*) in plotfltk.o
"operator new(unsigned long)", referenced from:
draw(PARI_plot*, long*, long*, long*) in plotfltk.o
"___gxx_personality_v0", referenced from:
Dwarf Exception Unwind Info (__eh_frame) in plotfltk.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
root 2156 /\ /opt/local/bin/clang-mp-17 -o gp-dyn -L"/opt/local/var/macports/build/rsync.macports.org_macports_release_tarballs_ports_math_pari/pari/work/pari-2.17.0/Odarwin-x86_64" -O3 -Wall -fno-strict-aliasing -pipe -Os -arch x86_64 -I/opt/local/include -Wl,-search_paths_first -L/opt/local/lib -Wl,-headerpad_max_install_names -arch x86_64 emacs.o gp.o gp_rl.o texmacs.o whatnow.o plotfltk.o -lreadline -lpari -lfltk -lstdc++
root 2157 /\ l gp-dyn
-rwxr-xr-x 1 root macports 83960 12 Dez 22:51 gp-dyn
root 2158 /\ ./gp-dyn --help
### Usage: ./gp-dyn [options] [GP files]
Available options:
[-f,--fast] Fast start: do not read .gprc
[-q,--quiet] Quiet mode: do not print banner and history numbers
[-s stacksize] Start with the PARI stack of given size (in bytes)
[--default key=val] Execute default(key,val) on startup
[--emacs] Run as if in Emacs shell
[--help] Print this message
[--test] Test mode. No history, wrap long lines (bench only)
[--texmacs] Run as if using TeXmacs frontend
[--version] Output version info and exit
[--version-short] Output version number and exit
Attachments (1)
Change History (7)
Changed 20 months ago by ballapete (Peter "Pete" Dyballa)
comment:1 Changed 20 months ago by ryandesign (Ryan Carsten Schmidt)
| Cc: | watsonbladd@… removed |
|---|---|
| Keywords: | highsierra removed |
| Owner: | set to wbl |
| Status: | new → assigned |
| Summary: | pari @2.17.0 +fltk +mt does not build o macOS High Sierra, version 10.13.6, because of missing delis → pari @2.17.0 +fltk +mt: Undefined fltk symbols |
Ok, because you've selected the +fltk variant, it builds things that require the fltk library, but it has failed to link with that library, therefore the symbols that would have been found in that library are not found.
I can reproduce it on macOS 12.
comment:2 Changed 20 months ago by ryandesign (Ryan Carsten Schmidt)
Bugs get reported here: https://pari.math.u-bordeaux.fr/Bugs/
comment:3 follow-up: 4 Changed 20 months ago by wbl (Watson Ladd)
I'll look into it this weekend or next.
Does this happen with building from source? Might just be a small adjustment to the portfile needed.
comment:4 Changed 20 months ago by ballapete (Peter "Pete" Dyballa)
Replying to wbl:
Does this happen with building from source? Might just be a small adjustment to the portfile needed.
Yes, I built from Portfile.
comment:5 Changed 20 months ago by wbl (Watson Ladd)
Sorry, i meant building without benefit of macports.
My guess is I need to tweak and tell the linker where we put fltk.
comment:6 Changed 19 months ago by wbl (Watson Ladd)
I've been able to reproduce finally. Will work more on this this weekend: I expect once I get into it it should be a few small tweeks to the link command.

Main.log from High Sierra 10.13.6