Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 279031 - net-libs/xulrunner-1.9.1-r1 fail to compile with multilib environment (patch attached)
Summary: net-libs/xulrunner-1.9.1-r1 fail to compile with multilib environment (patch ...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Mozilla Gentoo Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-07-25 11:46 UTC by Thomas Sachau
Modified: 2009-08-01 01:33 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
diff for xulrunner to install with multilib setup (xulrunner-1.9.1.1-multilib.patch,1006 bytes, text/plain)
2009-07-26 17:55 UTC, Thomas Sachau
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Sachau gentoo-dev 2009-07-25 11:46:34 UTC
Both ebuilds fail during the java compile step, this is the error output:

gmake[2]: Entering directory `/var/tmp/portage/net-libs/xulrunner-1.9.1-r1/work/mozilla-1.9.1'
libs_tier_app
gmake[3]: Entering directory `/var/tmp/portage/net-libs/xulrunner-1.9.1-r1/work/mozilla-1.9.1'
gmake[3]: `extensions/java/Makefile' is up to date.
gmake[3]: `xulrunner/Makefile' is up to date.
gmake[3]: Leaving directory `/var/tmp/portage/net-libs/xulrunner-1.9.1-r1/work/mozilla-1.9.1'
gmake[3]: Entering directory `/var/tmp/portage/net-libs/xulrunner-1.9.1-r1/work/mozilla-1.9.1/extensions/java'
gmake[4]: Entering directory `/var/tmp/portage/net-libs/xulrunner-1.9.1-r1/work/mozilla-1.9.1/extensions/java/xpcom'
gmake[5]: Entering directory `/var/tmp/portage/net-libs/xulrunner-1.9.1-r1/work/mozilla-1.9.1/extensions/java/xpcom/interfaces'
/var/tmp/portage/net-libs/xulrunner-1.9.1-r1/work/mozilla-1.9.1/config/nsinstall -D _java
/var/tmp/portage/net-libs/xulrunner-1.9.1-r1/work/mozilla-1.9.1/config/nsinstall -D _ifaces
/var/tmp/portage/net-libs/xulrunner-1.9.1-r1/work/mozilla-1.9.1/config/nsinstall -D org/mozilla/xpcom
/var/tmp/portage/net-libs/xulrunner-1.9.1-r1/work/mozilla-1.9.1/config/nsinstall -D ../../../../dist/sdk/lib
Compiling Java interfaces
find ../../../../_javagen/default -name "*.java"  ! -name "*nsIPref.java" > java.files
/usr/bin/perl ./gen-nsError.pl < ../../../../xpcom/base/nsError.h > org/mozilla/xpcom/IXPCOMError.java
"/usr/lib/icedtea6/bin/javac" -source 1.4 -classpath _ifaces 		\
		-d _ifaces -sourcepath ../../../../_javagen/default @java.files
../../../../_javagen/default/org/mozilla/interfaces/nsIPK11Token.java:13: integer number too large: 4294967295
  int ASK_EVERY_TIME = 4294967295;
                       ^
../../../../_javagen/default/org/mozilla/interfaces/nsIDownloadManager.java:21: integer number too large: 4294967295
  short DOWNLOAD_NOTSTARTED = 4294967295;
                              ^
../../../../_javagen/default/org/mozilla/interfaces/nsINavBookmarksService.java:48: integer number too large: 4294967295
  short DEFAULT_INDEX = 4294967295;
                        ^
../../../../_javagen/default/org/mozilla/interfaces/nsIAccessibleText.java:13: integer number too large: 4294967295
  int TEXT_OFFSET_END_OF_TEXT = 4294967295;
                                ^
../../../../_javagen/default/org/mozilla/interfaces/nsIAccessibleText.java:15: integer number too large: 4294967294
  int TEXT_OFFSET_CARET = 4294967294;
                          ^
../../../../_javagen/default/org/mozilla/interfaces/nsIAppShellService.java:32: integer number too large: 4294967295
  int SIZE_TO_CONTENT = 4294967295;
                        ^
../../../../_javagen/default/org/mozilla/interfaces/nsIContentViewerEdit.java:35: integer number too large: 4294967295
  int COPY_IMAGE_ALL = 4294967295;
                       ^
../../../../_javagen/default/org/mozilla/interfaces/nsITreeView.java:71: integer number too large: 4294967295
  short DROP_BEFORE = 4294967295;
                      ^
../../../../_javagen/default/org/mozilla/interfaces/nsIContentPolicy.java:107: integer number too large: 4294967295
  short REJECT_REQUEST = 4294967295;
                         ^
../../../../_javagen/default/org/mozilla/interfaces/nsIContentPolicy.java:116: integer number too large: 4294967294
  short REJECT_TYPE = 4294967294;
                      ^
../../../../_javagen/default/org/mozilla/interfaces/nsIContentPolicy.java:128: integer number too large: 4294967293
  short REJECT_SERVER = 4294967293;
                        ^
../../../../_javagen/default/org/mozilla/interfaces/nsIContentPolicy.java:137: integer number too large: 4294967292
  short REJECT_OTHER = 4294967292;
                       ^
../../../../_javagen/default/org/mozilla/interfaces/nsIImageLoadingContent.java:42: integer number too large: 4294967295
  int UNKNOWN_REQUEST = 4294967295;
                        ^
../../../../_javagen/default/org/mozilla/interfaces/nsIXULTreeBuilderObserver.java:19: integer number too large: 4294967295
  int DROP_BEFORE = 4294967295;
                    ^
../../../../_javagen/default/org/mozilla/interfaces/nsIDOMNSUIEvent.java:13: integer number too large: 4294934528
  int SCROLL_PAGE_UP = 4294934528;
                       ^
../../../../_javagen/default/org/mozilla/interfaces/imgIContainer.java:26: integer number too large: 4294967295
  int kDisposeClearAll = 4294967295;
                         ^
../../../../_javagen/default/org/mozilla/interfaces/jsdIDebuggerService.java:124: integer number too large: 4294967295
  int VERSION_UNKNOWN = 4294967295;
                        ^
../../../../_javagen/default/org/mozilla/interfaces/nsINSSErrorsService.java:51: integer number too large: 4294959104
  int NSS_SEC_ERROR_BASE = 4294959104;
                           ^
../../../../_javagen/default/org/mozilla/interfaces/nsINSSErrorsService.java:53: integer number too large: 4294960104
  int NSS_SEC_ERROR_LIMIT = 4294960104;
                            ^
../../../../_javagen/default/org/mozilla/interfaces/nsINSSErrorsService.java:55: integer number too large: 4294955008
  int NSS_SSL_ERROR_BASE = 4294955008;
                           ^
../../../../_javagen/default/org/mozilla/interfaces/nsINSSErrorsService.java:57: integer number too large: 4294956008
  int NSS_SSL_ERROR_LIMIT = 4294956008;
                            ^
../../../../_javagen/default/org/mozilla/interfaces/nsISupportsPriority.java:27: integer number too large: 4294967276
  int PRIORITY_HIGHEST = 4294967276;
                         ^
../../../../_javagen/default/org/mozilla/interfaces/nsISupportsPriority.java:29: integer number too large: 4294967286
  int PRIORITY_HIGH = 4294967286;
                      ^
23 errors
gmake[5]: *** [_ifaces/org/mozilla/interfaces/nsISupports.class] Error 1


from gnu_andrews at #gentoo-java about it:
gnu_andrew> Tommy[D], looks to me like the file that was generated has invalid values, some error has caused MAX_INT to be used

my emerge --info:

Portage 2.2_rc33-r4 (unavailable, gcc-4.4.0, glibc-2.9_p20081201-r5, 2.6.28-hardened-r9 x86_64)
=================================================================
System uname: Linux-2.6.28-hardened-r9-x86_64-Intel-R-_Core-TM-2_Quad_CPU_Q6600_@_2.40GHz-with-gentoo-2.0.1
Timestamp of tree: Sat Jul 25 07:40:01 CEST 2009
ccache version 2.4 [enabled]
app-shells/bash:     4.0_p24
dev-java/java-config: 2.1.8-r1
dev-lang/python:     2.6.2-r1
dev-python/pycrypto: 2.0.1-r8
dev-util/ccache:     2.4-r8
dev-util/cmake:      2.6.4-r1
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.4.3-r3
sys-apps/sandbox:    2.0
sys-devel/autoconf:  2.13, 2.63-r1
sys-devel/automake:  1.4_p6, 1.9.6-r2, 1.10.2, 1.11
sys-devel/binutils:  2.18-r4
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6a
virtual/os-headers:  2.6.30
ACCEPT_KEYWORDS="amd64 ~amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=nocona -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-march=nocona -O2 -pipe"
DISTDIR="/home/thomas/daten/distfiles"
EMERGE_DEFAULT_OPTS="--keep-going"
FEATURES="assume-digests autoconfig ccache collision-protect distlocks fixpackages metadata-transfer parallel-fetch preserve-libs protect-owned sandbox sfperms sign strict unmerge-logs unmerge-orphans userfetch userpriv usersandbox"
GENTOO_MIRRORS="ftp://mirror.cambrium.nl/pub/os/linux/gentoo/ http://mirror.muntinternet.net/pub/gentoo/"
INSTALL_MASK="/usr/share/gtk-doc"
LANG="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
LDFLAGS="-Wl,--as-needed"
LINGUAS="de"
MAKEOPTS="-j5 --load-average=8"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage/layman/toolchain-overlay /usr/local/portage/layman/toolchain-overlay-testing /usr/local/portage/layman/multilib-overlay /usr/local/portage/layman/sunrise /usr/local/portage/layman/java-overlay /usr/local/portage/layman/enlightenment /usr/local/portage"
SYNC="cvs://tommy@cvs.gentoo.org:/var/cvsroot"
USE="3dnow X alsa amd64 berkdb cracklib crypt cups custom-cflags custom-cxxflags gpm hardened justify midi mmx multilib ncurses nls nptl nptlonly nsplugin ogg opengl openmp pam pic readline scanner sse sse2 ssl sysfs tcpd unicode urandom vorbis xorg zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de" USERLAND="GNU" VIDEO_CARDS="nvidia"
Unset:  CPPFLAGS, CTARGET, FFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Jory A. Pratt gentoo-dev 2009-07-26 00:11:29 UTC
noone on mozilla team has a hardened setup, someone with the knowledge of hardened can tell us what needs to be done and we will assist.
Comment 2 Thomas Sachau gentoo-dev 2009-07-26 11:45:22 UTC
Please dont assign things blindly to hardened just because someone uses a hardened profile. ;-)

This one is not related to hardened, but to multilib/crosscompile setup:

It happens, when you call "gcc -m32" with an x86 environment on amd64 (probably similar issue as bug 277546.

Some conversation lines from #gentoo-multilib-overlay:

<ferret_> Tommy[D]: I think I have found the problem
<ferret_> http://www.mozilla.org/scriptable/xpidl/idl-authors-guide/rules.html#types
<ferret_> See the table right at the bottom of that page
<ferret_> I'm guessing that the compiler should be complaining about the unsigned long not being a long or a short; and due to the lack of that compiler error, the bad code is being let through
<ferret_> But once the (not quite correct) C++ is generated it is only actually causing a later compile fail on this specific platform setup
<ferret_> lol, this thing is screwed.  I think we need an upstream bug report
<ferret_> this code goes in: const unsigned short TYPE_PRUINT32          = 7;
<ferret_> This code comes out: enum { TYPE_PRUINT32 = 577744183020748807U };
<fow> wtf...
<fow> const PRUint32 RESERVED             = 1 << 31; // I would guess the problem with this line is that the result of (1 << 31) is signed when expected to be unsigned
<fow> Does this IDL stuff have integer literal suffixes?
<fow> Asking geordi (#geordi) yields -2147483648 instead of the most likely expected 2147483648
<ferret_> no
<ferret_> it doesn't have such suffixes
<ferret_> fow: You can change it to 1 << 30 and the compile will continue
<ferret_> at least until it gets to the line I mentioned which outputs that crazy 577744183020748807U value
<ferret_> Which checking against the same value generated with USE=-lib32 should be 7U
<ferret_> On amd64 ABI with that const set to 2 << 31: enum { RESERVED = 2147483648U };
<ferret_> on x86 ABI with that const set to 2 << 30 to bypass the compiler error: enum { RESERVED = 577985707285413888U };
<ferret_> Totally bogus values
<ferret_> (the x86 ABI one I mean)
Comment 3 Thomas Sachau gentoo-dev 2009-07-26 17:55:59 UTC
Created attachment 199244 [details]
diff for xulrunner to install with multilib setup

Current state: This issue was due to a 64bit link in 32bit phase, after sorting this out and adding the above patch, xulrunner-1.9.1.1 from mozilla overlay does install without a problem
Comment 4 Jory A. Pratt gentoo-dev 2009-07-27 02:09:02 UTC
Tommy I thought about this all day, for the moment if you would add it to the multilib overlay, ping me on irc and we will discuss more.
Comment 5 Thomas Sachau gentoo-dev 2009-07-27 16:13:18 UTC
(In reply to comment #4)
> Tommy I thought about this all day, for the moment if you would add it to the
> multilib overlay, ping me on irc and we will discuss more.
> 

I mainly work on the portage-multilib branch, which has the goal to provide a modified portage, which works with all ebuilds, independent from their source (main tree, official overlay, private overlay). I currently dont have the time to add and maintain xulrunner in my branch.

Can you tell me, what is your problem about adding some var lines (or instead of using those vars using the complete line with $(get_libdir)?
Comment 6 Jory A. Pratt gentoo-dev 2009-07-28 01:06:25 UTC
Tommy I went ahead and fixed the xulrunner in the overlay, I will fix firefox before the night is over.
Comment 7 Thomas Sachau gentoo-dev 2009-07-29 18:09:15 UTC
Please leave the bug open until it is fixed in main tree.

The version on mozilla overlay seems to work for me, so it needs someone to move it to the main tree.
Comment 8 Jory A. Pratt gentoo-dev 2009-08-01 01:33:20 UTC
Already been commited to the tree.