Opened 15 years ago
Closed 15 years ago
#24184 closed defect (fixed)
Spidermonkey build failure (undefined symbols) with non-default build_arch
Reported by: | breaker.dave@… | Owned by: | akitada@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 1.8.2 |
Keywords: | Cc: | MarcusCalhoun-Lopez (Marcus Calhoun-Lopez) | |
Port: | spidermonkey |
Description (last modified by jmroot (Joshua Root))
The spidermonkey port on 32bit OS X 10.6/32bit firmware fails.
macports.conf settings are:
build_arch i386 # machine architectures universal_archs i386
The following ports are currently installed: apache2 @2.2.14_1+darwin+preforkmpm (active) apr @1.3.12_1 (active) apr-util @1.3.9_2 (active) bzip2 @1.0.5_3+darwin (active) db46 @4.6.21_6 (active) expat @2.0.1_0 (active) gperf @3.0.4_0 (active) icu @4.3.4_0 (active) libiconv @1.13.1_0 (active) ncurses @5.7_0+darwin_10 (active) ncursesw @5.7_0+darwin_10 (active) openssl @0.9.8m_0+darwin (active) pcre @7.9_0 (active) readline @6.1.000_1+darwin (active) sqlite3 @3.6.23_0 (active) xercesc @2.8.0_2+darwin (active) zlib @1.2.4_1 (active)
DEBUG: Found port in file:///opt/local/var/macports/sources/rsync.macports.org/release/ports/lang/spidermonkey DEBUG: Changing to port directory: /opt/local/var/macports/sources/rsync.macports.org/release/ports/lang/spidermonkey DEBUG: OS Platform: darwin DEBUG: OS Version: 10.2.0 DEBUG: Mac OS X Version: 10.6 DEBUG: System Arch: i386 DEBUG: setting option os.universal_supported to yes DEBUG: org.macports.load registered provides 'load', a pre-existing procedure. Target override will not be provided DEBUG: org.macports.unload registered provides 'unload', a pre-existing procedure. Target override will not be provided DEBUG: org.macports.distfiles registered provides 'distfiles', a pre-existing procedure. Target override will not be provided DEBUG: Using group file /opt/local/var/macports/sources/rsync.macports.org/release/ports/_resources/port1.0/group/muniversal-1.0.tcl DEBUG: Reading variant descriptions from /opt/local/var/macports/sources/rsync.macports.org/release/ports/_resources/port1.0/variant_descriptions.conf DEBUG: universal variant already exists, so not adding the default one DEBUG: Requested variant darwin is not provided by port spidermonkey. DEBUG: Requested variant i386 is not provided by port spidermonkey. DEBUG: Requested variant macosx is not provided by port spidermonkey. DEBUG: Found port in file:///opt/local/var/macports/sources/rsync.macports.org/release/ports/devel/readline DEBUG: epoch: in tree: 0 installed: 0 DEBUG: readline 6.1.000_1 exists in the ports tree DEBUG: readline 6.1.000_1 +darwin is the latest installed DEBUG: readline 6.1.000_1 +darwin is active DEBUG: Merging existing variants darwin into variants DEBUG: new fully merged portvariants: DEBUG: Changing to port directory: /opt/local/var/macports/sources/rsync.macports.org/release/ports/devel/readline DEBUG: OS Platform: darwin DEBUG: OS Version: 10.2.0 DEBUG: Mac OS X Version: 10.6 DEBUG: System Arch: i386 DEBUG: setting option os.universal_supported to yes DEBUG: org.macports.load registered provides 'load', a pre-existing procedure. Target override will not be provided DEBUG: org.macports.unload registered provides 'unload', a pre-existing procedure. Target override will not be provided DEBUG: org.macports.distfiles registered provides 'distfiles', a pre-existing procedure. Target override will not be provided DEBUG: Using group file /opt/local/var/macports/sources/rsync.macports.org/release/ports/_resources/port1.0/group/muniversal-1.0.tcl DEBUG: Reading variant descriptions from /opt/local/var/macports/sources/rsync.macports.org/release/ports/_resources/port1.0/variant_descriptions.conf DEBUG: universal variant already exists, so not adding the default one DEBUG: Requested variant i386 is not provided by port readline. DEBUG: Requested variant macosx is not provided by port readline. DEBUG: Executing variant darwin provides darwin DEBUG: Found port in file:///opt/local/var/macports/sources/rsync.macports.org/release/ports/devel/ncurses DEBUG: epoch: in tree: 0 installed: 0 DEBUG: ncurses 5.7_0 exists in the ports tree DEBUG: ncurses 5.7_0 +darwin_10 is the latest installed DEBUG: ncurses 5.7_0 +darwin_10 is active DEBUG: Merging existing variants darwin_10 into variants DEBUG: new fully merged portvariants: DEBUG: Changing to port directory: /opt/local/var/macports/sources/rsync.macports.org/release/ports/devel/ncurses DEBUG: OS Platform: darwin DEBUG: OS Version: 10.2.0 DEBUG: Mac OS X Version: 10.6 DEBUG: System Arch: i386 DEBUG: setting option os.universal_supported to yes DEBUG: org.macports.load registered provides 'load', a pre-existing procedure. Target override will not be provided DEBUG: org.macports.unload registered provides 'unload', a pre-existing procedure. Target override will not be provided DEBUG: org.macports.distfiles registered provides 'distfiles', a pre-existing procedure. Target override will not be provided DEBUG: Using group file /opt/local/var/macports/sources/rsync.macports.org/release/ports/_resources/port1.0/group/muniversal-1.0.tcl DEBUG: Reading variant descriptions from /opt/local/var/macports/sources/rsync.macports.org/release/ports/_resources/port1.0/variant_descriptions.conf DEBUG: universal variant already exists, so not adding the default one DEBUG: Requested variant darwin is not provided by port ncurses. DEBUG: Requested variant i386 is not provided by port ncurses. DEBUG: Requested variant macosx is not provided by port ncurses. DEBUG: Executing variant darwin_10 provides darwin_10 DEBUG: Found port in file:///opt/local/var/macports/sources/rsync.macports.org/release/ports/devel/ncursesw DEBUG: epoch: in tree: 0 installed: 0 DEBUG: ncursesw 5.7_0 exists in the ports tree DEBUG: ncursesw 5.7_0 +darwin_10 is the latest installed DEBUG: ncursesw 5.7_0 +darwin_10 is active DEBUG: Merging existing variants darwin_10 into variants DEBUG: new fully merged portvariants: DEBUG: Changing to port directory: /opt/local/var/macports/sources/rsync.macports.org/release/ports/devel/ncursesw DEBUG: OS Platform: darwin DEBUG: OS Version: 10.2.0 DEBUG: Mac OS X Version: 10.6 DEBUG: System Arch: i386 DEBUG: setting option os.universal_supported to yes DEBUG: org.macports.load registered provides 'load', a pre-existing procedure. Target override will not be provided DEBUG: org.macports.unload registered provides 'unload', a pre-existing procedure. Target override will not be provided DEBUG: org.macports.distfiles registered provides 'distfiles', a pre-existing procedure. Target override will not be provided DEBUG: Using group file /opt/local/var/macports/sources/rsync.macports.org/release/ports/_resources/port1.0/group/muniversal-1.0.tcl DEBUG: Reading variant descriptions from /opt/local/var/macports/sources/rsync.macports.org/release/ports/_resources/port1.0/variant_descriptions.conf DEBUG: universal variant already exists, so not adding the default one DEBUG: Requested variant darwin is not provided by port ncursesw. DEBUG: Requested variant i386 is not provided by port ncursesw. DEBUG: Requested variant macosx is not provided by port ncursesw. DEBUG: Executing variant darwin_10 provides darwin_10 DEBUG: No need to upgrade! ncursesw 5.7_0 >= ncursesw 5.7_0 DEBUG: No need to upgrade! ncurses 5.7_0 >= ncurses 5.7_0 DEBUG: No need to upgrade! readline 6.1.000_1 >= readline 6.1.000_1 ---> Computing dependencies for spidermonkey DEBUG: Searching for dependency: nspr DEBUG: Didn't find receipt, going to depspec regex for: nspr DEBUG: Found port in file:///opt/local/var/macports/sources/rsync.macports.org/release/ports/devel/nspr DEBUG: Changing to port directory: /opt/local/var/macports/sources/rsync.macports.org/release/ports/devel/nspr DEBUG: OS Platform: darwin DEBUG: OS Version: 10.2.0 DEBUG: Mac OS X Version: 10.6 DEBUG: System Arch: i386 DEBUG: setting option os.universal_supported to yes DEBUG: org.macports.load registered provides 'load', a pre-existing procedure. Target override will not be provided DEBUG: org.macports.unload registered provides 'unload', a pre-existing procedure. Target override will not be provided DEBUG: org.macports.distfiles registered provides 'distfiles', a pre-existing procedure. Target override will not be provided DEBUG: Using group file /opt/local/var/macports/sources/rsync.macports.org/release/ports/_resources/port1.0/group/muniversal-1.0.tcl DEBUG: Reading variant descriptions from /opt/local/var/macports/sources/rsync.macports.org/release/ports/_resources/port1.0/variant_descriptions.conf DEBUG: universal variant already exists, so not adding the default one DEBUG: Requested variant darwin is not provided by port nspr. DEBUG: Requested variant i386 is not provided by port nspr. DEBUG: Requested variant macosx is not provided by port nspr. DEBUG: Searching for dependency: readline DEBUG: Found Dependency: receipt exists for readline DEBUG: Executing org.macports.main (nspr) DEBUG: Skipping completed org.macports.fetch (nspr) DEBUG: Skipping completed org.macports.checksum (nspr) DEBUG: Skipping completed org.macports.extract (nspr) DEBUG: Skipping completed org.macports.patch (nspr) DEBUG: Skipping completed org.macports.configure (nspr) ---> Building nspr DEBUG: Executing org.macports.build (nspr) DEBUG: Environment: MACOSX_DEPLOYMENT_TARGET='10.6' DEBUG: Assembled command: 'cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_nspr/work/nspr-4.8.3/mozilla/nsprpub" && /usr/bin/make -j3 all' /usr/bin/make -j1 -C config export make[1]: warning: -jN forced in submake: disabling jobserver mode. /usr/bin/gcc-4.2 now.o -L/opt/local/lib -o now ld: warning: in now.o, file is not of required architecture Undefined symbols: "_main", referenced from: start in crt1.10.6.o ld: symbol(s) not found collect2: ld returned 1 exit status make[1]: *** [now] Error 1 make: *** [export] Error 2 Error: Target org.macports.build returned: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_nspr/work/nspr-4.8.3/mozilla/nsprpub" && /usr/bin/make -j3 all " returned error 2 DEBUG: Backtrace: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_nspr/work/nspr-4.8.3/mozilla/nsprpub" && /usr/bin/make -j3 all " returned error 2 while executing "command_exec build" (procedure "portbuild::build_main" line 9) invoked from within "$procedure $targetname" Warning: the following items did not execute (for nspr): org.macports.activate org.macports.build org.macports.destroot org.macports.install Error: The following dependencies failed to build: nspr Error: Status 1 encountered during processing.
Change History (4)
comment:1 Changed 15 years ago by jmroot (Joshua Root)
Description: | modified (diff) |
---|---|
Keywords: | spidernonkey javascript removed |
Owner: | changed from macports-tickets@… to akitada@… |
Port: | spidermonkey added; 1.7.0 removed |
comment:2 Changed 15 years ago by breaker.dave@…
At this stage we are just tring to get a 32bit version of our in house app ported from Linux to OSX. It relies on Xerces, Xalan and Spidermonkey. From reading the Macports documentation we thought that by setting the architecture to i386 we would only get 32-bit binaries of the libraries. Is this not correct?
hw.cpu64bit_capable
hw.cpu64bit_capable: 1
Model Name: Mac Pro
Model Identifier: MacPro1,1
Processor Name: Dual-Core Intel Xeon
Processor Speed: 3 GHz
Number Of Processors: 2
Total Number Of Cores: 4
L2 Cache (per processor): 4 MB
Memory: 2 GB
Bus Speed: 1.33 GHz
Boot ROM Version: MP11.005C.B08
SMC Version (system): 1.7f10
comment:3 Changed 15 years ago by jmroot (Joshua Root)
Summary: | Spidermonkey build failure (undefined symbols) on 32-bit OS X 10.6 → Spidermonkey build failure (undefined symbols) with non-default build_arch |
---|
Setting 'build_arch i386' is the correct way to get macports to build for i386, yes. The important thing here is that you are on an x86_64 machine, which means 10.6's gcc produces x86_64 binaries by default. This is a bug, but not the bug you initially described.
comment:4 Changed 15 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | mcalhoun@… added |
---|---|
Resolution: | → fixed |
Status: | new → closed |
Marcus fixed spidermonkey so it respects build_arch in r63295.
Please remember to preview and use WikiFormatting, and cc the maintainer.
Please show the output of
sysctl hw.cpu64bit_capable
. BTW, although it likely has nothing to do with this problem, setting universal_archs to a single arch makes no sense.