[Solved] /usr/bin/ld: cannot find -lslang collect2: error: ld returned 1 exit status
Linux From ScratchThis Forum is for the discussion of LFS.
LFS is a project that provides you with the steps necessary to build your own custom Linux system.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
[Solved] /usr/bin/ld: cannot find -lslang collect2: error: ld returned 1 exit status
During building beyond the LFS i experienced the following during building midnight commander.
in the BLFS-guide (2018-02-12) is mentioned that slang-2.3.1 is recommended but it is required for completing the building/installing process.
Actually the system was very bare. see below
Quote:
blfs-bootscripts-20180105 --> Ok
dhcpcd-7.0.1 --> Ok <-- make install-service-dhcpcd
slang-2.3.1 --> Ok --> after bash scripts added # Nok # Optional for nano
nano-2.9.3 --> Ok --> Redone after slang
iptables-1.6.2 --> Ok <-- make install-iptables
pcre-8.4.1 --> Ok
glib-2.54.3 --> Ok --> after bash scripts added # Nok # needed for mc
mc-4.8.20 --> Ok # Mandatory depends: slang glib and pcre
So before there weren't any '/etc/profile.d/i18n.sh'-profile which makes the packages fail listed above marked "Nok" (including slang)
below the full output of the failing building of mc-4.8.20
Code:
make all-recursive
make[1]: Map '/sources/mc-4.8.20' wordt binnengegaan
Making all in intl
make[2]: Map '/sources/mc-4.8.20/intl' wordt binnengegaan
make[2]: Er hoeft niets gedaan te worden voor 'all'.
make[2]: Map '/sources/mc-4.8.20/intl' wordt verlaten
Making all in po
make[2]: Map '/sources/mc-4.8.20/po' wordt binnengegaan
make[2]: Map '/sources/mc-4.8.20/po' wordt verlaten
Making all in lib
make[2]: Map '/sources/mc-4.8.20/lib' wordt binnengegaan
Making all in event
make[3]: Map '/sources/mc-4.8.20/lib/event' wordt binnengegaan
CC event.lo
CC manage.lo
CC raise.lo
CCLD libmcevent.la
make[3]: Map '/sources/mc-4.8.20/lib/event' wordt verlaten
Making all in filehighlight
make[3]: Map '/sources/mc-4.8.20/lib/filehighlight' wordt binnengegaan
CC common.lo
CC get-color.lo
CC ini-file-read.lo
CCLD libmcfilehighlight.la
make[3]: Map '/sources/mc-4.8.20/lib/filehighlight' wordt verlaten
Making all in mcconfig
make[3]: Map '/sources/mc-4.8.20/lib/mcconfig' wordt binnengegaan
CC common.lo
CC get.lo
CC set.lo
CC paths.lo
CCLD libmcconfig.la
make[3]: Map '/sources/mc-4.8.20/lib/mcconfig' wordt verlaten
Making all in search
make[3]: Map '/sources/mc-4.8.20/lib/search' wordt binnengegaan
CC search.lo
CC lib.lo
CC normal.lo
CC regex.lo
CC glob.lo
CC hex.lo
CCLD libsearch.la
make[3]: Map '/sources/mc-4.8.20/lib/search' wordt verlaten
Making all in skin
make[3]: Map '/sources/mc-4.8.20/lib/skin' wordt binnengegaan
CC colors.lo
CC colors-old.lo
CC common.lo
CC hc-skins.lo
CC ini-file.lo
CC lines.lo
CCLD libmcskin.la
make[3]: Map '/sources/mc-4.8.20/lib/skin' wordt verlaten
Making all in tty
make[3]: Map '/sources/mc-4.8.20/lib/tty' wordt binnengegaan
CC color-internal.lo
CC color.lo
CC key.lo
CC keyxdef.lo
CC mouse.lo
CC tty.lo
CC win.lo
CC color-slang.lo
CC tty-slang.lo
CCLD libmctty.la
make[3]: Map '/sources/mc-4.8.20/lib/tty' wordt verlaten
Making all in vfs
make[3]: Map '/sources/mc-4.8.20/lib/vfs' wordt binnengegaan
CC direntry.lo
CC gc.lo
CC interface.lo
CC parse_ls_vga.lo
parse_ls_vga.c: In functie 'vfs_parse_ls_lga':
parse_ls_vga.c:790:13: let op: In the GNU C Library, "makedev" is defined
by <sys/sysmacros.h>. For historical compatibility, it is
currently defined by <sys/types.h> as well, but we plan to
remove this soon. To use "makedev", include <sys/sysmacros.h>
directly. If you did not intend to use a system-defined macro
"makedev", you should undefine it after including <sys/types.h>.
s->st_rdev = makedev (maj, min);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
CC path.lo
CC vfs.lo
CC utilvfs.lo
CC netutil.lo
CCLD libmcvfs.la
make[3]: Map '/sources/mc-4.8.20/lib/vfs' wordt verlaten
Making all in strutil
make[3]: Map '/sources/mc-4.8.20/lib/strutil' wordt binnengegaan
CC replace.lo
CC strescape.lo
CC strutil8bit.lo
CC strutilascii.lo
CC strutil.lo
CC strutilutf8.lo
CC strverscmp.lo
CC xstrtol.lo
CCLD libmcstrutil.la
make[3]: Map '/sources/mc-4.8.20/lib/strutil' wordt verlaten
Making all in widget
make[3]: Map '/sources/mc-4.8.20/lib/widget' wordt binnengegaan
CC button.lo
CC buttonbar.lo
CC check.lo
CC dialog.lo
CC dialog-switch.lo
CC gauge.lo
CC groupbox.lo
CC hline.lo
CC history.lo
CC input.lo
CC input_complete.lo
CC listbox-window.lo
CC listbox.lo
CC label.lo
CC menu.lo
CC mouse.lo
CC quick.lo
CC radio.lo
CC widget-common.lo
CC wtools.lo
CCLD libmcwidget.la
make[3]: Map '/sources/mc-4.8.20/lib/widget' wordt verlaten
Making all in .
make[3]: Map '/sources/mc-4.8.20/lib' wordt binnengegaan
CC utilunix.lo
CC util.lo
CC hook.lo
CC glibcompat.lo
CC global.lo
CC keybind.lo
CC lock.lo
CC serialize.lo
CC shell.lo
CC timefmt.lo
CC timer.lo
CC charsets.lo
CCLD libmc.la
copying selected object files to avoid basename conflicts...
make[3]: Map '/sources/mc-4.8.20/lib' wordt verlaten
make[2]: Map '/sources/mc-4.8.20/lib' wordt verlaten
Making all in src
make[2]: Map '/sources/mc-4.8.20/src' wordt binnengegaan
Making all in filemanager
make[3]: Map '/sources/mc-4.8.20/src/filemanager' wordt binnengegaan
CC achown.lo
CC boxes.lo
CC chmod.lo
CC chown.lo
CC cmd.lo
CC command.lo
CC dir.lo
CC ext.lo
CC file.lo
CC filegui.lo
CC filenot.lo
CC fileopctx.lo
CC find.lo
CC hotlist.lo
CC info.lo
info.c: In functie 'info_show_info':
info.c:231:13: let op: In the GNU C Library, "major" is defined
by <sys/sysmacros.h>. For historical compatibility, it is
currently defined by <sys/types.h> as well, but we plan to
remove this soon. To use "major", include <sys/sysmacros.h>
directly. If you did not intend to use a system-defined macro
"major", you should undefine it after including <sys/types.h>.
(unsigned long) major (st.st_rdev), (unsigned long) minor (st.st_rdev));
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
info.c:231:13: let op: In the GNU C Library, "minor" is defined
by <sys/sysmacros.h>. For historical compatibility, it is
currently defined by <sys/types.h> as well, but we plan to
remove this soon. To use "minor", include <sys/sysmacros.h>
directly. If you did not intend to use a system-defined macro
"minor", you should undefine it after including <sys/types.h>.
(unsigned long) major (st.st_rdev), (unsigned long) minor (st.st_rdev));
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CC layout.lo
CC midnight.lo
CC mountlist.lo
mountlist.c: In functie 'read_file_system_list':
mountlist.c:751:13: let op: In the GNU C Library, "makedev" is defined
by <sys/sysmacros.h>. For historical compatibility, it is
currently defined by <sys/types.h> as well, but we plan to
remove this soon. To use "makedev", include <sys/sysmacros.h>
directly. If you did not intend to use a system-defined macro
"makedev", you should undefine it after including <sys/types.h>.
me->me_dev = makedev (devmaj, devmin);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CC panelize.lo
CC panel.lo
panel.c: In functie 'format_device_number':
panel.c:490:13: let op: In the GNU C Library, "major" is defined
by <sys/sysmacros.h>. For historical compatibility, it is
currently defined by <sys/types.h> as well, but we plan to
remove this soon. To use "major", include <sys/sysmacros.h>
directly. If you did not intend to use a system-defined macro
"major", you should undefine it after including <sys/types.h>.
dev_t major_dev = major (dev);
^~~~~~~~~~~~~~~~~~~~~~
panel.c:491:13: let op: In the GNU C Library, "minor" is defined
by <sys/sysmacros.h>. For historical compatibility, it is
currently defined by <sys/types.h> as well, but we plan to
remove this soon. To use "minor", include <sys/sysmacros.h>
directly. If you did not intend to use a system-defined macro
"minor", you should undefine it after including <sys/types.h>.
dev_t minor_dev = minor (dev);
^~~~~~~~~~~~~~~~~~~~~~
CC tree.lo
CC treestore.lo
CCLD libmcfilemanager.la
make[3]: Map '/sources/mc-4.8.20/src/filemanager' wordt verlaten
Making all in man2hlp
make[3]: Map '/sources/mc-4.8.20/src/man2hlp' wordt binnengegaan
make[3]: Er hoeft niets gedaan te worden voor 'all'.
make[3]: Map '/sources/mc-4.8.20/src/man2hlp' wordt verlaten
Making all in vfs
make[3]: Map '/sources/mc-4.8.20/src/vfs' wordt binnengegaan
Making all in local
make[4]: Map '/sources/mc-4.8.20/src/vfs/local' wordt binnengegaan
CC local.lo
CCLD libvfs-local.la
make[4]: Map '/sources/mc-4.8.20/src/vfs/local' wordt verlaten
Making all in cpio
make[4]: Map '/sources/mc-4.8.20/src/vfs/cpio' wordt binnengegaan
CC cpio.lo
cpio.c: In functie 'cpio_read_crc_head':
cpio.c:741:13: let op: In the GNU C Library, "makedev" is defined
by <sys/sysmacros.h>. For historical compatibility, it is
currently defined by <sys/types.h> as well, but we plan to
remove this soon. To use "makedev", include <sys/sysmacros.h>
directly. If you did not intend to use a system-defined macro
"makedev", you should undefine it after including <sys/types.h>.
u.st.st_dev = makedev (hd.c_dev, hd.c_devmin);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cpio.c:748:13: let op: In the GNU C Library, "makedev" is defined
by <sys/sysmacros.h>. For historical compatibility, it is
currently defined by <sys/types.h> as well, but we plan to
remove this soon. To use "makedev", include <sys/sysmacros.h>
directly. If you did not intend to use a system-defined macro
"makedev", you should undefine it after including <sys/types.h>.
u.st.st_rdev = makedev (hd.c_rdev, hd.c_rdevmin);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CCLD libvfs-cpio.la
make[4]: Map '/sources/mc-4.8.20/src/vfs/cpio' wordt verlaten
Making all in extfs
make[4]: Map '/sources/mc-4.8.20/src/vfs/extfs' wordt binnengegaan
Making all in helpers
make[5]: Map '/sources/mc-4.8.20/src/vfs/extfs/helpers' wordt binnengegaan
make[5]: Er hoeft niets gedaan te worden voor 'all'.
make[5]: Map '/sources/mc-4.8.20/src/vfs/extfs/helpers' wordt verlaten
make[5]: Map '/sources/mc-4.8.20/src/vfs/extfs' wordt binnengegaan
CC extfs.lo
CCLD libvfs-extfs.la
make[5]: Map '/sources/mc-4.8.20/src/vfs/extfs' wordt verlaten
make[4]: Map '/sources/mc-4.8.20/src/vfs/extfs' wordt verlaten
Making all in fish
make[4]: Map '/sources/mc-4.8.20/src/vfs/fish' wordt binnengegaan
Making all in helpers
make[5]: Map '/sources/mc-4.8.20/src/vfs/fish/helpers' wordt binnengegaan
make[5]: Er hoeft niets gedaan te worden voor 'all'.
make[5]: Map '/sources/mc-4.8.20/src/vfs/fish/helpers' wordt verlaten
make[5]: Map '/sources/mc-4.8.20/src/vfs/fish' wordt binnengegaan
CC fish.lo
fish.c: In functie 'fish_dir_load':
fish.c:864:13: let op: In the GNU C Library, "makedev" is defined
by <sys/sysmacros.h>. For historical compatibility, it is
currently defined by <sys/types.h> as well, but we plan to
remove this soon. To use "makedev", include <sys/sysmacros.h>
directly. If you did not intend to use a system-defined macro
"makedev", you should undefine it after including <sys/types.h>.
ST.st_rdev = makedev (maj, min);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CCLD libvfs-fish.la
make[5]: Map '/sources/mc-4.8.20/src/vfs/fish' wordt verlaten
make[4]: Map '/sources/mc-4.8.20/src/vfs/fish' wordt verlaten
Making all in ftpfs
make[4]: Map '/sources/mc-4.8.20/src/vfs/ftpfs' wordt binnengegaan
CC ftpfs.lo
CCLD libvfs-ftpfs.la
make[4]: Map '/sources/mc-4.8.20/src/vfs/ftpfs' wordt verlaten
Making all in sfs
make[4]: Map '/sources/mc-4.8.20/src/vfs/sfs' wordt binnengegaan
CC sfs.lo
CCLD libvfs-sfs.la
make[4]: Map '/sources/mc-4.8.20/src/vfs/sfs' wordt verlaten
Making all in tar
make[4]: Map '/sources/mc-4.8.20/src/vfs/tar' wordt binnengegaan
CC tar.lo
tar.c: In functie 'tar_fill_stat':
tar.c:476:13: let op: In the GNU C Library, "makedev" is defined
by <sys/sysmacros.h>. For historical compatibility, it is
currently defined by <sys/types.h> as well, but we plan to
remove this soon. To use "makedev", include <sys/sysmacros.h>
directly. If you did not intend to use a system-defined macro
"makedev", you should undefine it after including <sys/types.h>.
tar_from_oct (8, header->header.devminor));
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CCLD libvfs-tar.la
make[4]: Map '/sources/mc-4.8.20/src/vfs/tar' wordt verlaten
make[4]: Map '/sources/mc-4.8.20/src/vfs' wordt binnengegaan
CC plugins_init.lo
CCLD libmc-vfs.la
make[4]: Map '/sources/mc-4.8.20/src/vfs' wordt verlaten
make[3]: Map '/sources/mc-4.8.20/src/vfs' wordt verlaten
Making all in viewer
make[3]: Map '/sources/mc-4.8.20/src/viewer' wordt binnengegaan
CC actions_cmd.lo
CC ascii.lo
CC coord_cache.lo
CC datasource.lo
CC dialogs.lo
CC display.lo
CC growbuf.lo
CC hex.lo
CC lib.lo
CC mcviewer.lo
CC move.lo
CC nroff.lo
CC search.lo
CCLD libmcviewer.la
copying selected object files to avoid basename conflicts...
make[3]: Map '/sources/mc-4.8.20/src/viewer' wordt verlaten
Making all in editor
make[3]: Map '/sources/mc-4.8.20/src/editor' wordt binnengegaan
CC bookmark.lo
CC choosesyntax.lo
CC edit.lo
CC editbuffer.lo
CC editcmd.lo
CC editcmd_dialogs.lo
CC editdraw.lo
CC editmenu.lo
CC editoptions.lo
CC editwidget.lo
CC etags.lo
CC format.lo
CC syntax.lo
CCLD libedit.la
make[3]: Map '/sources/mc-4.8.20/src/editor' wordt verlaten
Making all in diffviewer
make[3]: Map '/sources/mc-4.8.20/src/diffviewer' wordt binnengegaan
CC search.lo
CC ydiff.lo
CCLD libdiffviewer.la
copying selected object files to avoid basename conflicts...
make[3]: Map '/sources/mc-4.8.20/src/diffviewer' wordt verlaten
Making all in subshell
make[3]: Map '/sources/mc-4.8.20/src/subshell' wordt binnengegaan
CC common.lo
CC proxyfunc.lo
CCLD libsubshell.la
make[3]: Map '/sources/mc-4.8.20/src/subshell' wordt verlaten
Making all in consaver
make[3]: Map '/sources/mc-4.8.20/src/consaver' wordt binnengegaan
CC cons.saver.o
CCLD cons.saver
make[3]: Map '/sources/mc-4.8.20/src/consaver' wordt verlaten
make[3]: Map '/sources/mc-4.8.20/src' wordt binnengegaan
CC cons.handler.lo
CC args.lo
CC clipboard.lo
CC events_init.lo
CC execute.lo
CC help.lo
CC keybind-defaults.lo
CC learn.lo
CC setup.lo
CC textconf.lo
CC usermenu.lo
CC util.lo
CC selcodepage.lo
CC background.lo
CCLD libinternal.la
copying selected object files to avoid basename conflicts...
CC main.o
CCLD mc
/usr/bin/ld: cannot find -lslang
collect2: error: ld returned 1 exit status
make[3]: *** [Makefile:663: mc] Fout 1
make[3]: Map '/sources/mc-4.8.20/src' wordt verlaten
make[2]: *** [Makefile:721: all-recursive] Fout 1
make[2]: Map '/sources/mc-4.8.20/src' wordt verlaten
make[1]: *** [Makefile:622: all-recursive] Fout 1
make[1]: Map '/sources/mc-4.8.20' wordt verlaten
make: *** [Makefile:550: all] Fout 2
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.