[MacPorts] #25107: libzzip and i386 compile still links 64 bits.

MacPorts noreply at macports.org
Wed Jun 2 10:03:11 PDT 2010


#25107: libzzip and i386 compile still links 64 bits.
-------------------------------+--------------------------------------------
 Reporter:  elebel@…           |       Owner:  macports-tickets@…                   
     Type:  defect             |      Status:  new                                  
 Priority:  Normal             |   Milestone:                                       
Component:  ports              |     Version:  1.8.2                                
 Keywords:  i386               |        Port:                                       
-------------------------------+--------------------------------------------
 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...

-- 
Ticket URL: <http://trac.macports.org/ticket/25107>
MacPorts <http://www.macports.org/>
Ports system for Mac OS


More information about the macports-tickets mailing list