Opened 14 years ago

Last modified 14 years ago

#25107 closed defect

libzzip and i386 compile still links 64 bits. — at Initial Version

Reported by: elebel@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 1.8.2
Keywords: Cc:
Port: texlive_base

Description

Hi There,

I needed to compile libzzip with

sudo port -f install libzzip +universal

and got this error:

[...]

--->  Building texlive_base
Error: Target org.macports.build returned: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_tex_texlive_base/work/texlive_base-2007" && /usr/bin/make all " returned error 2
Command output: 	      -isystem/opt/local/include   -O2 -arch i386 yesno.c -o yesno.o
/usr/bin/gcc-4.2 -DHAVE_CONFIG_H -DHAVE_NCURSES -DUSE_COLORS -DLIBDIR=\"/opt/local/lib\" -DINCLUDEDIR=\"/opt/local/include\" -c -I. -I. \
	      -isystem/opt/local/include   -O2 -arch i386 radiolist.c -o radiolist.o
radiolist.c: In function 'dialog_radiolist':
radiolist.c:312: warning: format not a string literal and no format arguments
/usr/bin/gcc-4.2 -DHAVE_CONFIG_H -DHAVE_NCURSES -DUSE_COLORS -DLIBDIR=\"/opt/local/lib\" -DINCLUDEDIR=\"/opt/local/include\" -c -I. -I. \
	      -isystem/opt/local/include   -O2 -arch i386 gauge.c -o gauge.o
/usr/bin/gcc-4.2 -DHAVE_CONFIG_H -DHAVE_NCURSES -DUSE_COLORS -DLIBDIR=\"/opt/local/lib\" -DINCLUDEDIR=\"/opt/local/include\" -c -I. -I. \
	      -isystem/opt/local/include   -O2 -arch i386 rc.c -o rc.o
/usr/bin/gcc-4.2 -DHAVE_CONFIG_H -DHAVE_NCURSES -DUSE_COLORS -DLIBDIR=\"/opt/local/lib\" -DINCLUDEDIR=\"/opt/local/include\" -c -I. -I. \
	      -isystem/opt/local/include   -O2 -arch i386 strcasecmp.c -o strcasecmp.o
/usr/bin/gcc-4.2 -L/opt/local/lib dialog.o checklist.o inputbox.o menubox.o msgbox.o textbox.o yesno.o radiolist.o gauge.o rc.o strcasecmp.o -o dialog -lncurses
ld: warning: in dialog.o, file was built for i386 which is not the architecture being linked (x86_64)
ld: warning: in checklist.o, file was built for i386 which is not the architecture being linked (x86_64)
ld: warning: in inputbox.o, file was built for i386 which is not the architecture being linked (x86_64)
ld: warning: in menubox.o, file was built for i386 which is not the architecture being linked (x86_64)
ld: warning: in msgbox.o, file was built for i386 which is not the architecture being linked (x86_64)
ld: warning: in textbox.o, file was built for i386 which is not the architecture being linked (x86_64)
ld: warning: in yesno.o, file was built for i386 which is not the architecture being linked (x86_64)
ld: warning: in radiolist.o, file was built for i386 which is not the architecture being linked (x86_64)
ld: warning: in gauge.o, file was built for i386 which is not the architecture being linked (x86_64)
ld: warning: in rc.o, file was built for i386 which is not the architecture being linked (x86_64)
ld: warning: in strcasecmp.o, file was built for i386 which is not the architecture being linked (x86_64)
Undefined symbols:
  "_main", referenced from:
      start in crt1.10.6.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[1]: *** [dialog] Error 1
make: *** [all] Error 1

Error: The following dependencies failed to build: xmlto texlive texlive_base
Error: Status 1 encountered during processing.
Before reporting a bug, first run the command again with the -d flag to get complete output.

that package links by default 64 bits even tough every .o file were compile i386. To fix this I had to change every Makefiles and add -arch i386 to the linker flags when there and add the same thing to every other lines when the compiler linked something (line with a -o in it)....arrrggg....

This should be fix cause, now, since it compiled, all the makefiles I changed are gone...

I'm sure this probleme is in other relatively old package too...

Change History (0)

Note: See TracTickets for help on using tickets.