Opened 5 months ago

Closed 2 months ago

Last modified 2 months ago

#70175 closed defect (fixed)

ngspice build failure: {standard input}: FATAL: incompatible feature used: directive .non_lazy_symbol_pointer (must specify "-dynamic" to be used)

Reported by: barracuda156 Owned by: bpdegnan (Brian Degnan)
Priority: Normal Milestone:
Component: ports Version: 2.9.3
Keywords: Cc:
Port: ngspice

Description

Immediate issue is that this port requires C++11, but once that is fixed, it fails toward the end of the build:

:info:build /bin/sh ../../../libtool  --tag=CC   --mode=link /opt/local/bin/gcc-mp-13 -static -pipe -Os -arch ppc  -L/opt/local/lib -Wl,-headerpad_max_install_names -arch ppc -o libcidertwod.la  twoadmit.lo twoaval.lo twocond.lo twocont.lo twocurr.lo twodest.lo twodopng.lo twoelect.lo twofield.lo twomesh.lo twomobdv.lo twomobfn.lo twomobil.lo twoncont.lo twopcont.lo twopoiss.lo twoprint.lo twoproj.lo tworead.lo twosetbc.lo twosetup.lo twosolve.lo  -lncurses -lm -lfreetype -lfontconfig   -lstdc++ -lfftw3 -ledit
:info:build libtool: link: ar cr .libs/libcidertwod.a  twoadmit.o twoaval.o twocond.o twocont.o twocurr.o twodest.o twodopng.o twoelect.o twofield.o twomesh.o twomobdv.o twomobfn.o twomobil.o twoncont.o twopcont.o twopoiss.o twoprint.o twoproj.o tworead.o twosetbc.o twosetup.o twosolve.o
:info:build libtool: link: ranlib .libs/libcidertwod.a
:info:build libtool: link: ( cd ".libs" && rm -f "libcidertwod.la" && ln -s "../libcidertwod.la" "libcidertwod.la" )
:info:build make[3]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_science_ngspice/ngspice/work/ngspice-36/src/ciderlib/twod'
:info:build make[3]: Entering directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_science_ngspice/ngspice/work/ngspice-36/src/ciderlib'
:info:build make[3]: Nothing to be done for `all-am'.
:info:build make[3]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_science_ngspice/ngspice/work/ngspice-36/src/ciderlib'
:info:build make[2]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_science_ngspice/ngspice/work/ngspice-36/src/ciderlib'
:info:build make[2]: Entering directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_science_ngspice/ngspice/work/ngspice-36/src'
:info:build /opt/local/bin/gcc-mp-13 -DHAVE_CONFIG_H   -I. -I. -I../src/include -I../src/include -I../src/spicelib/devices  -I/opt/local/include -I/usr/include/freetype2 -DSIMULATOR -I/opt/local/include/freetype2 -I/opt/local/include -static -pipe -Os -arch ppc -MT ngspice-main.o -MD -MP -MF .deps/ngspice-main.Tpo -c -o ngspice-main.o `test -f 'main.c' || echo './'`main.c
:info:build /opt/local/bin/gcc-mp-13 -DHAVE_CONFIG_H   -I. -I. -I../src/include -I../src/include -I../src/spicelib/devices  -I/opt/local/include -I/usr/include/freetype2 -DSIMULATOR -I/opt/local/include/freetype2 -I/opt/local/include -static -pipe -Os -arch ppc -MT ngspice-conf.o -MD -MP -MF .deps/ngspice-conf.Tpo -c -o ngspice-conf.o `test -f 'conf.c' || echo './'`conf.c
:info:build /opt/local/bin/gcc-mp-13 -DHAVE_CONFIG_H   -I. -I. -I../src/include -I../src/include -I../src/spicelib/devices  -I/opt/local/include -I/usr/include/freetype2 -DSIMULATOR -I/opt/local/include/freetype2 -I/opt/local/include -static -pipe -Os -arch ppc -MT ngspice-ngspice.o -MD -MP -MF .deps/ngspice-ngspice.Tpo -c -o ngspice-ngspice.o `test -f 'ngspice.c' || echo './'`ngspice.c
:info:build rm -f spinit spinit.tmp
:info:build srcdir=''; \
:info:build 	  test -f ./spinit.in || srcdir=./; \
:info:build 	  sed -e 's|@XSPICEINIT[@]||g' -e 's|@pkglibdir[@]|/opt/local/lib/ngspice|g' ${srcdir}spinit.in >spinit.tmp
:info:build mv spinit.tmp spinit
:info:build mv -f .deps/ngspice-conf.Tpo .deps/ngspice-conf.Po
:info:build mv -f .deps/ngspice-ngspice.Tpo .deps/ngspice-ngspice.Po
:info:build {standard input}:1644:FATAL:incompatible feature used: directive .non_lazy_symbol_pointer (must specify "-dynamic" to be used)
:info:build make[2]: *** [ngspice-main.o] Error 1
:info:build make[2]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_science_ngspice/ngspice/work/ngspice-36/src'
:info:build make[1]: *** [all-recursive] Error 1
:info:build make[1]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_science_ngspice/ngspice/work/ngspice-36/src'
:info:build make: *** [all-recursive] Error 1

ngspice-lib builds fine, only ngspice fails.

  1. S. Maybe it should just be updated though: v. 36 in MacPorts, v. 42 in upstream.

Change History (4)

comment:1 Changed 2 months ago by bpdegnan (Brian Degnan)

Owner: set to bpdegnan
Resolution: fixed
Status: newclosed

comment:2 in reply to:  1 Changed 2 months ago by barracuda156

Replying to bpdegnan:

In bd31f2cae539d3b9edd892e5b13afecc16c9232a/macports-ports (master):

ngspice: update to version 43 (https://github.com/macports/macports-ports/pull/25041)

Closes: #56552
Closes: #70175
Closes: #70435

Maybe allow someone to test prior to closing the ticket, if this was not tested?

I fails even to configure now, because arbitrarily forces -m64, violating MacPorts arch settings.

comment:3 Changed 2 months ago by barracuda156

Well, okay, it is the portfile hardcoding -m64. Why? MacPorts passes arch flags, there is normally no need to do this manually. (And if it is really needed for some reason, then -m32 / -m64 should be conditional.)

comment:4 Changed 2 months ago by Sergey Fedorov <barracuda@…>

In f6293ac9d36631ade38760671b95873e92e2c40b/macports-ports (master):

ngspice: fix the port for < 10.8 (https://github.com/macports/macports-ports/pull/25537)

  • ngspice: fix compiler choice: it needs C/C++11
  • ngspice: do not hardcode arch flags
  • ngspice: restore accidentally dropped patch
  • ngspice: fix libKLU bug

Closes: #70665

  • ngspice: non-functional: alignment to multiple of 4 spaces
  • ngspice: fix broken linking, finally

Fixes: #70175

  • ngspice: remove unneeded build flags

Co-authored-by: Mark Anderson <mark@…>

Note: See TracTickets for help on using tickets.