From: Olga G. <ol...@gm...> - 2010-12-03 15:47:52
|
If anyone is interested, I figured out what 32-bit libraries need to be installed in order to compile TrustedGrub on a 64-bit Fedora 13 platform: Install: glibc-devel.i686, libgcc45-32bit-4.5.0-20100604-1.12, and compat-gcc-34-3.4.6-18 (x86_64) After I installed these libraries, all error messages below went away, and I was able to compile TrustedGrub with no problems. Olga On Wed, Nov 24, 2010 at 9:28 AM, Olga Gelbart <ol...@gm...> wrote: > Hi Marcel, > I ran the gcc -print-multi-lib command, and I get pretty much the same > output as you: > .; > 32;@m32 > > I thought maybe I am missing some i686 libraries, so I installed > glibc-static.i686, glibc-devel.i686, and libgcc.i686. > That didn't help! > Then I edited the the configure script to remove -m32 from CFLAGS. That > fixed it. I was able to run configure and create the appropriate make files. > Now it's chocking on the compilation: > > Here is a snippet of the output: > > - Compiling TrustedGRUB > make all-recursive > make[1]: Entering directory `/root/TrustedGRUB-1.1.5/TrustedGRUB-1.1.5' > Making all in netboot > make[2]: Entering directory > `/root/TrustedGRUB-1.1.5/TrustedGRUB-1.1.5/netboot' > make[2]: Nothing to be done for `all'. > make[2]: Leaving directory > `/root/TrustedGRUB-1.1.5/TrustedGRUB-1.1.5/netboot' > Making all in stage2 > make[2]: Entering directory > `/root/TrustedGRUB-1.1.5/TrustedGRUB-1.1.5/stage2' > gcc -DHAVE_CONFIG_H -I. -I.. -I../stage1 -Wall -Wmissing-prototypes > -Wunused -Wshadow -Wpointer-arith -falign-jumps=1 -falign-loops=1 > -falign-functions=1 -Wundef -I../stage1 -fno-builtin -nostdinc > -DSUPPORT_SERIAL=1 -DSUPPORT_HERCULES=1 -DFSYS_EXT2FS=1 -DFSYS_FAT=1 > -DFSYS_NTFS=1 -DFSYS_FFS=1 -DFSYS_UFS2=1 -DFSYS_MINIX=1 -DFSYS_REISERFS=1 > -DFSYS_VSTAFS=1 -DFSYS_JFS=1 -DFSYS_XFS=1 -DFSYS_ISO9660=1 > -DUSE_MD5_PASSWORDS=1 -DSHOW_SHA1 -fno-stack-protector -MT > pre_stage2_exec-disk_io.o -MD -MP -MF .deps/pre_stage2_exec-disk_io.Tpo -c > -o pre_stage2_exec-disk_io.o `test -f 'disk_io.c' || echo './'`disk_io.c > disk_io.c:2056:8: warning: extra tokens at end of #endif directive > disk_io.c: In function ‘make_saved_active’: > disk_io.c:484: warning: cast from pointer to integer of different size > disk_io.c:484: warning: cast to pointer from integer of different size > disk_io.c:484: warning: cast from pointer to integer of different size > disk_io.c:484: warning: cast to pointer from integer of different size > disk_io.c:484: warning: cast from pointer to integer of different size > disk_io.c:484: warning: cast to pointer from integer of different size > disk_io.c:491: warning: cast from pointer to integer of different size > disk_io.c:491: warning: cast to pointer from integer of different size > disk_io.c:497: warning: cast from pointer to integer of different size > disk_io.c:497: warning: cast to pointer from integer of different size > disk_io.c:500: warning: cast from pointer to integer of different size > disk_io.c:500: warning: cast to pointer from integer of different size > disk_io.c: In function ‘set_partition_hidden_flag’: > disk_io.c:551: warning: cast from pointer to integer of different size > disk_io.c:551: warning: cast to pointer from integer of different size > disk_io.c:553: warning: cast from pointer to integer of different size > disk_io.c:553: warning: cast to pointer from integer of different size > disk_io.c: In function ‘next_bsd_partition’: > disk_io.c:629: warning: cast from pointer to integer of different size > disk_io.c:629: warning: cast to pointer from integer of different size > disk_io.c:639: warning: cast from pointer to integer of different size > disk_io.c:639: warning: cast to pointer from integer of different size > disk_io.c:641: warning: cast from pointer to integer of different size > disk_io.c:641: warning: cast to pointer from integer of different size > disk_io.c:645: warning: cast from pointer to integer of different size > disk_io.c:645: warning: cast to pointer from integer of different size > disk_io.c:646: warning: cast from pointer to integer of different size > disk_io.c:646: warning: cast to pointer from integer of different size > disk_io.c:647: warning: cast from pointer to integer of different size > disk_io.c:647: warning: cast to pointer from integer of different size > disk_io.c:652: warning: cast from pointer to integer of different size > disk_io.c:652: warning: cast to pointer from integer of different size > disk_io.c: In function ‘next_pc_slice’: > disk_io.c:684: warning: cast from pointer to integer of different size > disk_io.c:684: warning: cast to pointer from integer of different size > disk_io.c:701: warning: cast from pointer to integer of different size > disk_io.c:701: warning: cast to pointer from integer of different size > disk_io.c:701: warning: cast from pointer to integer of different size > disk_io.c:701: warning: cast to pointer from integer of different size > disk_io.c:701: warning: cast from pointer to integer of different size > disk_io.c:701: warning: cast to pointer from integer of different size > disk_io.c:705: warning: cast from pointer to integer of different size > disk_io.c:705: warning: cast to pointer from integer of different size > disk_io.c:717: warning: cast from pointer to integer of different size > disk_io.c:717: warning: cast to pointer from integer of different size > disk_io.c:718: warning: cast from pointer to integer of different size > disk_io.c:718: warning: cast to pointer from integer of different size > disk_io.c:719: warning: cast from pointer to integer of different size > disk_io.c:719: warning: cast to pointer from integer of different size > disk_io.c: In function ‘set_bootdev’: > disk_io.c:1186: warning: cast to pointer from integer of different size > disk_io.c: In function ‘grub_open’: > disk_io.c:1662: warning: cast to pointer from integer of different size > disk_io.c:1673: warning: cast to pointer from integer of different size > disk_io.c: In function ‘grub_read’: > disk_io.c:1836: warning: passing argument 2 of ‘grub_memmove’ makes pointer > from integer without a cast > ./shared.h:924: note: expected ‘const void *’ but argument is of type ‘long > unsigned int’ > disk_io.c:1867: warning: pointer targets in passing argument 2 of > ‘sha1_update’ differ in signedness > ./shared.h:982: note: expected ‘t_U8 *’ but argument is of type ‘char *’ > disk_io.c:1900: warning: cast to pointer from integer of different size > disk_io.c:1911: warning: cast to pointer from integer of different size > disk_io.c:1919: warning: cast to pointer from integer of different size > disk_io.c:1948: warning: pointer targets in passing argument 2 of > ‘sha1_update’ differ in signedness > ./shared.h:982: note: expected ‘t_U8 *’ but argument is of type ‘char *’ > disk_io.c: In function ‘grub_close’: > disk_io.c:2006: warning: statement with no effect > disk_io.c: Assembler messages: > disk_io.c:151: Error: Incorrect register `%rax' used with `l' suffix > make[2]: *** [pre_stage2_exec-disk_io.o] Error 1 > make[2]: Leaving directory > `/root/TrustedGRUB-1.1.5/TrustedGRUB-1.1.5/stage2' > make[1]: *** [all-recursive] Error 1 > make[1]: Leaving directory `/root/TrustedGRUB-1.1.5/TrustedGRUB-1.1.5' > make: *** [all] Error 2 > > I did look through the config.log file and even though it worked and > created Makefiles, there were some errors in it too. I don't know if they > are related to these compilation errors or not. Maybe I should not have > installed those additional libraries! > > I am attaching the config.log file just in case it might be helpful. > > Thanks so much for looking into it! > > Sincerely, > Olga > > > > On Wed, Nov 24, 2010 at 4:18 AM, Marcel Selhorst <m.s...@si...>wrote: > >> Hi Olga, >> >> can you try to remove the "-m32" parameter, and see if that works on your >> 64-Bit machine? This indeed looks like a multilib-issue, but I am not too >> familiar with Fedora, so I can't tell, whether there is a special multilib >> package for GCC. What is the output of: >> >> $ gcc -print-multi-lib >> >> Mine also shows "32;@m32" >> >> Cheers, >> Marcel >> >> Am 23.11.2010 19:07, schrieb Olga Gelbart: >> > Hello, >> > I am trying to compile TrustedGrub on a 64-bit Fedora 13 distribution >> > (2.6.32.25 kernel) >> > >> > I am getting the following error (excerpt from config.log): >> > ---------------------------------- >> > configure:3340: checking whether the C compiler works >> > configure:3362: gcc -m32 -DSHOW_SHA1 -fno-stack-protector conftest.c >> >&5 >> > /usr/bin/ld: skipping incompatible >> > /usr/lib/gcc/x86_64-redhat-linux/4.4.4/libgcc_s.so when searching for >> -lgcc_s >> > /usr/bin/ld: skipping incompatible >> > /usr/lib/gcc/x86_64-redhat-linux/4.4.4/libgcc_s.so when searching for >> -lgcc_s >> > /usr/bin/ld: cannot find -lgcc_s >> > collect2: ld returned 1 exit status >> > configure:3366: $? = 1 >> > configure:3404: result: no >> > configure: failed program was: >> > | /* confdefs.h */ >> > | #define PACKAGE_NAME "GRUB" >> > | #define PACKAGE_TARNAME "grub" >> > | #define PACKAGE_VERSION "1.1.5" >> > | #define PACKAGE_STRING "GRUB 1.1.5" >> > | #define PACKAGE_BUGREPORT "m.s...@si... >> > <mailto:m.s...@si...>" >> > | #define PACKAGE_URL "" >> > | #define PACKAGE "grub" >> > | #define VERSION "1.1.5" >> > | /* end confdefs.h. */ >> > | >> > | int >> > | main () >> > | { >> > | >> > | ; >> > | return 0; >> > | } >> > configure:3409: error: in `/root/TrustedGRUB-1.1.5/TrustedGRUB-1.1.5': >> > configure:3413: error: C compiler cannot create executables >> > ---------------------------------- >> > I've looked this up and it looks I need multilib in gcc. It's readily >> > available as a package (gcc-multilib) for Ubuntu or Debian. Does anyone >> > know if it's available for Fedora? Or is there another way to fix this >> problem? >> > Thanks in advance, >> > Olga >> -- >> Sirrix AG security technologies -- http://www.sirrix.com >> Dipl.-Ing. Marcel Selhorst eMail: m.s...@si... >> Tel: +49 (234) 610071-126 Fax: +49 (234) 610071-526 >> Tel: +49 (681) 95986-126 Fax: +49 (681) 95986-526 >> Get my public key from keyserver, KeyId: 0x7C9821CC >> Fingerprint 4138 E617 E62E 79D3 E663 BE5A 14E7 1CD8 7C98 21CC >> >> Vorstand: Ammar Alkassar (Vors.), Christian Stueble >> Vorsitzender des Aufsichtsrates: Prof. Dr. Kai Rannenberg >> Sitz der Gesellschaft: Homburg/Saar, HRB 3857 Amtsgericht Saarbruecken >> >> This message may contain confidential and/or privileged information. >> If you are not the addressee, you must not use, copy, disclose or >> take any action based on this message or any information herein. >> If you have received this message in error, please advise the sender >> immediately by reply e-mail and delete this message. >> > > |