Opened 10 years ago

Closed 10 years ago

#42521 closed defect (fixed)

mozjs24: fails to configure on SL buildbot, needs newer compiler.

Reported by: dbevans (David B. Evans) Owned by: juanrgar (Juan R. García Blanco)
Priority: Normal Milestone:
Component: ports Version: 2.2.1
Keywords: snowleopard Cc: jeremyhu (Jeremy Huddleston Sequoia), cooljeanius (Eric Gallager)
Port: mozjs24

Description

Build log attached. Perhaps jeremyhu@ can suggest an appropriate compiler configuration.

Attachments (3)

buildbot-sl.log (3.2 MB) - added by dbevans (David B. Evans) 10 years ago.
Buildbot SL log showing configuration failure
mozjs24-pr39608.tgz (586 bytes) - added by juanrgar (Juan R. García Blanco) 10 years ago.
blacklist-Portfile.diff (463 bytes) - added by juanrgar (Juan R. García Blanco) 10 years ago.

Change History (13)

Changed 10 years ago by dbevans (David B. Evans)

Attachment: buildbot-sl.log added

Buildbot SL log showing configuration failure

comment:1 Changed 10 years ago by cooljeanius (Eric Gallager)

I think the "snowleopard" keyword is just one word...

comment:2 Changed 10 years ago by cooljeanius (Eric Gallager)

Cc: egall@… added

Cc Me!

comment:3 Changed 10 years ago by dbevans (David B. Evans)

Keywords: snowleopard added; snow leopard removed

comment:4 Changed 10 years ago by juanrgar (Juan R. García Blanco)

When I first read the build log I thought we could just simply disable the failing check, because we are not building firefox but just mozjs. However, after reading https://bugzilla.mozilla.org/show_bug.cgi?id=788276 I don't think this could be solved so easily. I will upload a patch to disable checking for pr39608. The other option would be to depend on clang to build mozjs24.

Changed 10 years ago by juanrgar (Juan R. García Blanco)

Attachment: mozjs24-pr39608.tgz added

comment:5 Changed 10 years ago by dbevans (David B. Evans)

Probably not a good idea to disable the pr39608 check, as I fear they have a good reason for doing this. The usual procedure in a case like this is to blacklist the compilers that don't work using compiler.blacklist and then let MacPorts select what to fall back to from those that are left. Any required dependencies should be automatically added.

Note that Lion and up build OK so this only needs to apply if building on Snow Leopard or earlier.

comment:6 Changed 10 years ago by juanrgar (Juan R. García Blanco)

Ok, I totally agree. In fact we are already blacklisting all gcc compilers, but not g++ compilers. mozjs24 will not build with g++-4.2, which SL uses (llvm-g++-4.2 according to the build log). Therefore, I'd blacklist all gcc <=4.2 and g++ <= 4.2. Blacklisting all gcc version seems too restrictive; maybe we should apply a similar fix to mozjs17.

Changed 10 years ago by juanrgar (Juan R. García Blanco)

Attachment: blacklist-Portfile.diff added

comment:7 Changed 10 years ago by juanrgar (Juan R. García Blanco)

Sorry, don't mind my last patch, I tried to blacklist compilers and not compiler suites.

We are blacklisting all gcc compilers; with that we shouldn't get that build log. The configure script is taking llvm-g++-4.2 as the compiler it will use to build mozjs24. I think compiler.blacklist isn't in effect here, but I don't know why. Is there any option we are missing here? E.g. gettext blacklist some versions of clang, and it also includes the compiler_blacklist_versions portgroup.

comment:8 Changed 10 years ago by jeremyhu (Jeremy Huddleston Sequoia)

DEBUG: Environment: CPATH='/opt/local/include' CFLAGS='-pipe -Os -arch x86_64' CPPFLAGS='-I/opt/local/include' CXXFLAGS='-pipe -Os -arch x86_64' LIBRARY_PATH='/opt/local/lib' MACOSX_DEPLOYMENT_TARGET='10.6' CXX='/usr/bin/llvm-g++-4.2' CC_PRINT_OPTIONS_FILE='/opt/local/var/macports/build/_opt_mports_dports_lang_mozjs24/mozjs24/work/.CC_PRINT_OPTIONS' F90FLAGS='-pipe -Os -m64' LDFLAGS='-L/opt/local/lib -Wl,-headerpad_max_install_names -arch x86_64' FCFLAGS='-pipe -Os -m64' OBJC='/usr/bin/clang' OBJCXX='/usr/bin/llvm-g++-4.2' INSTALL='/usr/bin/install -c' OBJCFLAGS='-pipe -Os -arch x86_64' OBJCXXFLAGS='-pipe -Os -arch x86_64' FFLAGS='-pipe -Os -m64' CC_PRINT_OPTIONS='YES' CC='/usr/bin/clang'
DEBUG: Assembled command: 'cd "/opt/local/var/macports/build/_opt_mports_dports_lang_mozjs24/mozjs24/work/mozjs-24.2.0/js/src" && ./configure --prefix=/opt/local --with-system-nspr --enable-system-ffi --disable-readline --enable-threadsafe --host=x86_64-apple-darwin10 --build=x86_64-apple-darwin10 --target=x86_64-apple-darwin10'
DEBUG: Executing command line:  cd "/opt/local/var/macports/build/_opt_mports_dports_lang_mozjs24/mozjs24/work/mozjs-24.2.0/js/src" && ./configure --prefix=/opt/local --with-system-nspr --enable-system-ffi --disable-readline --enable-threadsafe --host=x86_64-apple-darwin10 --build=x86_64-apple-darwin10 --target=x86_64-apple-darwin10 

comment:9 Changed 10 years ago by juanrgar (Juan R. García Blanco)

Mmm, CC is ok, while CXX isn't...

comment:10 Changed 10 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Resolution: fixed
Status: newclosed

The version of clang in Xcode 3.2.6 does not have clang++ yet. Thus to really blacklist llvm-g++-4.2, you need to blacklist older clang as well.

r117108

Note: See TracTickets for help on using tickets.