GNU bug report logs -
#47325
newlib-nano: are lib names wrong?
Previous Next
Full log
View this message in rfc822 format
Hi guix!
A program I'm packaging requires newlib-nano, but when building, the
linker fails to find g_nano and c_nano.
I found out those names are taken from the nano.specs file we install
> cat $(guix build newlib-nano)/arm-none-eabi/lib/nano.specs | grep -- -l
-lc_nano
%{specs=rdimon.specs:-lrdimon_nano} %{specs=nosys.specs:-lnosys}
%(nano_link) %:replace-outfile(-lc -lc_nano) %:replace-outfile(-lg -lg_nano)
%:replace-outfile(-lrdimon -lrdimon_nano) %:replace-outfile(-lstdc++ -lstdc++_nano)
%:replace-outfile(-lsupc++ -lsupc++_nano)
%{!shared:%{g*:-lg_nano} %{!p:%{!pg:-lc_nano}}%{p:-lc_p}%{pg:-lc_p}}
However, those files are missing:
> ls $(guix build newlib-nano)/arm-none-eabi/lib/ | grep lib
libc.a
libg.a
libgloss-linux.a
libm.a
libnosys.a
librdimon.a
librdimon-v2m.a
librdpmon.a
I was able to build the program by modifing the .specs file with:
(add-after 'install 'remove-suffix
(lambda* (#:key outputs #:allow-other-keys)
(substitute*
(string-append
(assoc-ref outputs "out")
"/arm-none-eabi/lib/nano.specs")
(("_nano") ""))
#t))
But reading online, it seems the _nano is a common suffix. Should we
rename the output libs? Should we symlink? I know nothing about this,
but it might be a bug.
Thanks! Nicolò
This bug report was last modified 4 years and 95 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.