Opened 2 years ago

Closed 2 years ago

#64511 closed defect (fixed)

ngspice: absolute addressing not allowed in code signed PIE

Reported by: ra1nb0w Owned by: kencu (Ken)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: ngspice

Description (last modified by ra1nb0w)

I am trying to update ngspice to version 36 and I noticed that old version and new one fail with openmp variant on x86_64 and arm64. In attachment the full log. Seems that the problem was introduced by https://trac.macports.org/changeset/efe35a4a0f0819b52f6a987917c48404938da269/macports-ports

I don't know openmp therefore, How can I fix? thank you

Attachments (1)

main.log (3.1 MB) - added by ra1nb0w 2 years ago.

Change History (10)

Changed 2 years ago by ra1nb0w

Attachment: main.log added

comment:1 Changed 2 years ago by ra1nb0w

Description: modified (diff)

comment:2 Changed 2 years ago by kencu (Ken)

I would have tested it before that commit, but just revert it and do the spec manually again if you like.

Then you’re back where you were, and you can see what happens.

With that error, I suspect the openmp issue will turn out to be unrelated to how it is included, but you never know for sure until you play a bit.

comment:3 Changed 2 years ago by kencu (Ken)

come to think, there is another ticket or pr somewhere where we worked through an openmp version spec issue.

different clangs defaulted to different versions of openmp, and we had to spec the exact openmp version to build this port I can’t recall just atm with some newer clang…

this PIE error may yet be something else though…

Last edited 2 years ago by kencu (Ken) (previous) (diff)

comment:4 Changed 2 years ago by ra1nb0w

Maybe, I can remove +openmp for the moment (should not hurt to much) and try to discuss the problem with upstream developers?

Last edited 2 years ago by ra1nb0w (previous) (diff)

comment:5 Changed 2 years ago by kencu (Ken)

so I see this built all the way back to 10.6 after my openmp commit above, so that commit is not likely the cause of this error given that…

comment:6 Changed 2 years ago by ra1nb0w

mmm, so this is even more mysterious...but without openmp it works therefore there is something related to this either in ngspice or in macports.

Upstream: he can't help since it works for him and don't know which can be the cause.

comment:7 Changed 2 years ago by kencu (Ken)

looks like he’s forcing a link against libstdc++ for some reason.

Might try removing that and see what happens…

building with openmp on macos is rarely tested by anyone, in particular with clang

comment:8 Changed 2 years ago by ra1nb0w

-mcmodel=large do the trick and the linking is working fine but I don't understand why openmp requires so much memory allocation for the program and the symbols. Said that, I remove openmp as default variant since it is poorly tested and also upstream doesn't use that.

thank you for the help and sorry for the noise ;-)

Last edited 2 years ago by ra1nb0w (previous) (diff)

comment:9 Changed 2 years ago by Davide Gerhard <ra1nb0w@…>

Resolution: fixed
Status: assignedclosed

In 8db2114e4fe802f0291fe358c3dfb99312a9cffc/macports-ports (master):

ngspice: update version to 36

Closes: #64511

Note: See TracTickets for help on using tickets.