LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Linux From Scratch
User Name
Password
Linux From Scratch This 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


Reply
  Search this Thread
Old 03-29-2015, 12:36 PM   #1
Xenanthropy
Member
 
Registered: Mar 2015
Posts: 34

Rep: Reputation: Disabled
Question CLFS 10.89 Kmod-18 32 Bit Libraries 'make' error


So as the title says, i'm having trouble compiling the kmod 32 bit package in section 10.89 (installing basic system software)(The book isn't online to open directly I think, it's in a tar file, but the path to the page i'm on if you have it extracted is "CLFS-SYSTEMD-TRUNK-GIT-20150207/x86_64/final-system/kmod.html" in the CLFS Version GIT-20150207-x86_64-Multilib version. Also, i'm using CHROOT method instead of BOOT method. It seems to configure fine, but i'll post the config output as well as the attempt at 'make'.

The config:
Code:
root:/sources/kmod-18# PKG_CONFIG_PATH=${PKG_CONFIG_PATH32} CC="gcc ${BUILD32}" \
>   ./configure --prefix=/usr \
>     --bindir=/bin --sysconfdir=/etc \
>     --with-rootlibdir=/lib --libdir=/usr/lib \
>     --with-zlib --with-xz
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking how to create a pax tar archive... gnutar
checking for style of include used by make... GNU
checking for gcc... gcc -m32
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc -m32 accepts -g... yes
checking for gcc -m32 option to accept ISO C89... none needed
checking whether gcc -m32 understands -c and -o together... yes
checking dependency style of gcc -m32... gcc3
checking for gcc -m32 option to accept ISO C99... -std=gnu99
checking for gcc -m32 -std=gnu99 option to accept ISO Standard C... (cached) -std=gnu99
checking how to run the C preprocessor... gcc -m32 -std=gnu99 -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... 64
checking whether make supports nested variables... (cached) yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking how to print strings... printf
checking for a sed that does not truncate output... /bin/sed
checking for fgrep... /bin/grep -F
checking for ld used by gcc -m32 -std=gnu99... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc -m32 -std=gnu99 object... ok
checking for sysroot... no
checking for mt... no
checking if : is a manifest tool... no
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc -m32 -std=gnu99 supports -fno-rtti -fno-exceptions... no
checking for gcc -m32 -std=gnu99 option to produce PIC... -fPIC -DPIC
checking if gcc -m32 -std=gnu99 PIC flag -fPIC -DPIC works... yes
checking if gcc -m32 -std=gnu99 static flag -static works... yes
checking if gcc -m32 -std=gnu99 supports -c -o file.o... yes
checking if gcc -m32 -std=gnu99 supports -c -o file.o... (cached) yes
checking whether the gcc -m32 -std=gnu99 linker (/usr/bin/ld -m elf_i386) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking whether to enable maintainer-specific portions of Makefiles... yes
checking for gcc... (cached) gcc -m32
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc -m32 accepts -g... (cached) yes
checking for gcc -m32 option to accept ISO C89... (cached) none needed
checking whether gcc -m32 understands -c and -o together... (cached) yes
checking dependency style of gcc -m32... (cached) gcc3
checking for gcc -m32 option to accept ISO C99... (cached) -std=gnu99
checking whether gcc -m32 -std=gnu99 needs -traditional... no
checking whether byte ordering is bigendian... no
checking for a sed that does not truncate output... (cached) /bin/sed
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for xsltproc... no
checking for __xstat... yes
checking for __secure_getenv... no
checking for secure_getenv... yes
checking for finit_module... no
checking for struct stat.st_mtim... yes
checking whether strndupa is declared... yes
checking for linux/module.h... no
checking whether _Static_assert() is supported... yes
checking for liblzma... yes
checking for zlib... yes
checking for gtk-doc... no
configure: WARNING:
  You will not be able to create source packages with 'make dist'
  because gtk-doc >= 1.14 is not found.
checking for gtkdoc-check... no
checking for gtkdoc-check... no
checking for gtkdoc-rebase... no
checking for gtkdoc-mkpdf... no
checking whether to build gtk-doc documentation... no
checking for GTKDOC_DEPS... no
checking if gcc -m32 -std=gnu99 supports flag -pipe in envvar CFLAGS... yes
checking if gcc -m32 -std=gnu99 supports flag -DANOTHER_BRICK_IN_THE in envvar CFLAGS... yes
checking if gcc -m32 -std=gnu99 supports flag -Wall in envvar CFLAGS... yes
checking if gcc -m32 -std=gnu99 supports flag -W in envvar CFLAGS... yes
checking if gcc -m32 -std=gnu99 supports flag -Wextra in envvar CFLAGS... yes
checking if gcc -m32 -std=gnu99 supports flag -Wno-inline in envvar CFLAGS... yes
checking if gcc -m32 -std=gnu99 supports flag -Wvla in envvar CFLAGS... yes
checking if gcc -m32 -std=gnu99 supports flag -Wundef in envvar CFLAGS... yes
checking if gcc -m32 -std=gnu99 supports flag -Wformat=2 in envvar CFLAGS... yes
checking if gcc -m32 -std=gnu99 supports flag -Wlogical-op in envvar CFLAGS... yes
checking if gcc -m32 -std=gnu99 supports flag -Wsign-compare in envvar CFLAGS... yes
checking if gcc -m32 -std=gnu99 supports flag -Wformat-security in envvar CFLAGS... no
checking if gcc -m32 -std=gnu99 supports flag -Wmissing-include-dirs in envvar CFLAGS... yes
checking if gcc -m32 -std=gnu99 supports flag -Wformat-nonliteral in envvar CFLAGS... no
checking if gcc -m32 -std=gnu99 supports flag -Wold-style-definition in envvar CFLAGS... yes
checking if gcc -m32 -std=gnu99 supports flag -Wpointer-arith in envvar CFLAGS... yes
checking if gcc -m32 -std=gnu99 supports flag -Winit-self in envvar CFLAGS... yes
checking if gcc -m32 -std=gnu99 supports flag -Wdeclaration-after-statement in envvar CFLAGS... yes
checking if gcc -m32 -std=gnu99 supports flag -Wfloat-equal in envvar CFLAGS... yes
checking if gcc -m32 -std=gnu99 supports flag -Wmissing-prototypes in envvar CFLAGS... yes
checking if gcc -m32 -std=gnu99 supports flag -Wstrict-prototypes in envvar CFLAGS... yes
checking if gcc -m32 -std=gnu99 supports flag -Wredundant-decls in envvar CFLAGS... yes
checking if gcc -m32 -std=gnu99 supports flag -Wmissing-declarations in envvar CFLAGS... yes
checking if gcc -m32 -std=gnu99 supports flag -Wmissing-noreturn in envvar CFLAGS... yes
checking if gcc -m32 -std=gnu99 supports flag -Wshadow in envvar CFLAGS... yes
checking if gcc -m32 -std=gnu99 supports flag -Wendif-labels in envvar CFLAGS... yes
checking if gcc -m32 -std=gnu99 supports flag -Wstrict-aliasing=3 in envvar CFLAGS... yes
checking if gcc -m32 -std=gnu99 supports flag -Wwrite-strings in envvar CFLAGS... yes
checking if gcc -m32 -std=gnu99 supports flag -Wno-long-long in envvar CFLAGS... yes
checking if gcc -m32 -std=gnu99 supports flag -Wno-overlength-strings in envvar CFLAGS... yes
checking if gcc -m32 -std=gnu99 supports flag -Wno-unused-parameter in envvar CFLAGS... yes
checking if gcc -m32 -std=gnu99 supports flag -Wno-missing-field-initializers in envvar CFLAGS... yes
checking if gcc -m32 -std=gnu99 supports flag -Wno-unused-result in envvar CFLAGS... yes
checking if gcc -m32 -std=gnu99 supports flag -Wnested-externs in envvar CFLAGS... yes
checking if gcc -m32 -std=gnu99 supports flag -Wchar-subscripts in envvar CFLAGS... yes
checking if gcc -m32 -std=gnu99 supports flag -Wtype-limits in envvar CFLAGS... yes
checking if gcc -m32 -std=gnu99 supports flag -Wuninitialized in envvar CFLAGS... yes
checking if gcc -m32 -std=gnu99 supports flag -fno-common in envvar CFLAGS... yes
checking if gcc -m32 -std=gnu99 supports flag -fdiagnostics-show-option in envvar CFLAGS... yes
checking if gcc -m32 -std=gnu99 supports flag -fdiagnostics-color=auto in envvar CFLAGS... no
checking if gcc -m32 -std=gnu99 supports flag -fvisibility=hidden in envvar CFLAGS... yes
checking if gcc -m32 -std=gnu99 supports flag -ffunction-sections in envvar CFLAGS... yes
checking if gcc -m32 -std=gnu99 supports flag -fdata-sections in envvar CFLAGS... yes
checking if gcc -m32 -std=gnu99 supports flag -Wl,--as-needed in envvar LDFLAGS... yes
checking if gcc -m32 -std=gnu99 supports flag -Wl,--gc-sections in envvar LDFLAGS... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating man/Makefile
config.status: creating libkmod/docs/Makefile
config.status: creating libkmod/docs/version.xml
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands

	kmod 18
	=======

	prefix:			/usr
	sysconfdir:		/etc
	libdir:			/usr/lib
	rootlibdir:		/lib
	includedir:		${prefix}/include
	bindir:			/bin
	Bash completions dir:   ${datarootdir}/bash-completion/completions

	compiler:		gcc -m32 -std=gnu99
	cflags:			 -pipe -DANOTHER_BRICK_IN_THE -Wall -W -Wextra -Wno-inline -Wvla -Wundef -Wformat=2 -Wlogical-op -Wsign-compare -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wmissing-declarations -Wmissing-noreturn -Wshadow -Wendif-labels -Wstrict-aliasing=3 -Wwrite-strings -Wno-long-long -Wno-overlength-strings -Wno-unused-parameter -Wno-missing-field-initializers -Wno-unused-result -Wnested-externs -Wchar-subscripts -Wtype-limits -Wuninitialized -fno-common -fdiagnostics-show-option -fvisibility=hidden -ffunction-sections -fdata-sections -g -O2
	ldflags:		 -Wl,--as-needed -Wl,--gc-sections 

	tools:			yes
	python bindings:	no
	logging:		yes
	compression:		xz=yes  zlib=yes
	debug:			no
	doc:			no
	man:			yes
The attempt at compiling:

Code:
root:/sources/kmod-18# make
make --no-print-directory all-recursive
Making all in .
  CCLD     libkmod/libkmod.la
/tools/lib64/liblzma.so: error adding symbols: File in wrong format
collect2: error: ld returned 1 exit status
Makefile:1220: recipe for target 'libkmod/libkmod.la' failed
make[2]: *** [libkmod/libkmod.la] Error 1
Makefile:1833: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
Makefile:1039: recipe for target 'all' failed
make: *** [all] Error 2
As you can see, it stops basically immediately. As far as I can tell, it seems like it's trying to add the 32bit library into the lib64 folder for some reason or another. I think it's important to mention that I had to exit out of the chroot twice at one point, the first time was about 10 minutes before I got to this page, the terminal just crashed for some reason (I was installing a program on another terminal, maybe it had a problem) and I went back to the page about setting up chroot, I entered in all the mount commands again, even though it said they were all mounted anyway, and I entered the code to hop back in. Everything seemed fine until I got to XML-parser, where I saw that it wasn't downloaded (the link to xml parser in the book (and the wget-list file) is dead) so I had to browse the internet for a while to find the exact version that the book specifies. So once I found it, I had to exit, since the chroot doesn't have access to wget, and whenever I downloaded something from outside into the folder, it wouldn't show up and had different permissions (for obvious reasons) So i hopped back onto the clfs user, wgetted the xml parser, then changed back to root and hopped back into the chroot. everything was working fine (there's just 1 package between xml-parser and kmod, it's intltool-0.50.2) until I got to the kmod package, which configured fine, but would not make. I've tried searching the internet and have found various errors of the same caliber (/foo/bar/libgeneric.extension: error adding symbols: File in wrong format) but they were all different files, and every solution was code specific to whatever program was having the error, so I wasn't able to try out any of those. Any help would be appreciated. If it also helps, i'm running Arch Linux 64 bit.
 
Old 03-29-2015, 02:05 PM   #2
veerain
Senior Member
 
Registered: Mar 2005
Location: Earth bound to Helios
Distribution: Custom
Posts: 2,524

Rep: Reputation: 319Reputation: 319Reputation: 319Reputation: 319
Error is getting produced because the configure script and make is using 64 bit library of lzma part of Xz-utils to build 32 bit version of kmod.

Install 32 bit version of xz-utils or specifically it's library.
 
1 members found this post helpful.
Old 03-29-2015, 02:07 PM   #3
Xenanthropy
Member
 
Registered: Mar 2015
Posts: 34

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by veerain View Post
Error is getting produced because the configure script and make is using 64 bit library of lzma part of Xz-utils to build 32 bit version of kmod.

Install 32 bit version of xz-utils or specifically it's library.
Do i need to go all the way back (well I think it's only a few programs back) and recompile them in the same order? Or can I just do the xz-utils and continue on from kmod?
 
Old 03-29-2015, 02:13 PM   #4
veerain
Senior Member
 
Registered: Mar 2005
Location: Earth bound to Helios
Distribution: Custom
Posts: 2,524

Rep: Reputation: 319Reputation: 319Reputation: 319Reputation: 319
Actually the book installs 64 bit version of xz-utils package and also 64 bit version of kmod if you want the boot option.
 
1 members found this post helpful.
Old 03-29-2015, 02:18 PM   #5
Xenanthropy
Member
 
Registered: Mar 2015
Posts: 34

Original Poster
Rep: Reputation: Disabled
Fixed it! Honestly, I was so tired last night, had been compiling packages for hours, I probably just accidentally skipped over the 32bit version of xz-utils. Went back and installed it, then compiled kmod and it compiled, checked, and installed fine. Thanks for the help! (Marking as solved now)
 
  


Reply

Tags
clfs, compile error, kmod, make, multilib



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[CLFS] GCC compilation error with shared libraries DeeGee Linux From Scratch 1 07-29-2013 03:54 PM
CLFS 1.2 Multilib x86_64 on Ubuntu 11.04 - 10.8.*EGLIBC-2.13 64-Bit Make Test Error samuraixp Linux From Scratch 1 03-27-2012 01:19 AM
Urgent help on "Glibc make error with clfs" rushadrenaline Linux From Scratch 11 03-01-2010 12:14 PM
[SOLVED] CLFS 64 bit multilib and pure 64 bit pacthes wanted Openumerix Linux From Scratch 1 11-16-2009 12:23 AM
error in make menuconfig: ncurses libraries ashlesha Linux - General 3 07-09-2006 06:59 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Linux From Scratch

All times are GMT -5. The time now is 12:06 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration