Closed Bug 485863 Opened 16 years ago Closed 16 years ago

modules/libpr0n/decoders/icon fails to build nsString problems

Categories

(Firefox Build System :: General, defect)

1.9.0 Branch
x86
macOS
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
mozilla1.9.2a1

People

(Reporter: jeremyhu, Assigned: jeremyhu)

Details

Attachments

(2 files)

User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1b3) Gecko/20090305 Firefox/3.1b3 Build Identifier: xulrunner 1.9.0.7 OSX/darwin X11 I'm building xulrunner-1.9.0.7 for darwin/X11. modules/libpr0n/decoders/icon fails to build with: /usr/bin/g++-4.0 -o nsIconModule.o -c -I../../../../dist/include/system_wrappers -include ../../../../config/gcc_hidden.h -DUSE_ICON_DECODER -DOSTYPE=\"Darwin9.6.0\" -DOSARCH=Darwin -I./mac -I. -I. -I../../../../dist/include/xpcom -I../../../../dist/include/string -I../../../../dist/include/gfx -I../../../../dist/include/thebes -I../../../../dist/include/imglib2 -I../../../../dist/include/necko -I../../../../dist/include -I../../../../dist/include/imgicon -I/opt/local/include/nspr -I/opt/local/include/nss -I/opt/local/include -I/opt/local/include -I../../../../dist/sdk/include -I/opt/local/include -fPIC -I/opt/local/include -I/opt/local/include -fno-rtti -fno-exceptions -Wall -Wconversion -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-long-long -O2 -fno-strict-aliasing -fpascal-strings -fno-common -fshort-wchar -pthread -pipe -DNDEBUG -DTRIMMED -O2 -I/opt/local/include -I/opt/local/include -DMOZILLA_CLIENT -include ../../../../mozilla-config.h -Wp,-MD,.deps/nsIconModule.pp nsIconModule.cpp In file included from ../../../../dist/include/string/nsAString.h:43, from ../../../../dist/include/string/nsSubstring.h:43, from ../../../../dist/include/string/nsString.h:44, from ../../../../dist/include/string/nsXPIDLString.h:43, from ./mac/nsIconChannel.h:45, from nsIconModule.cpp:50: ../../../../dist/include/string/nsStringFwd.h:49:2: error: #error Internal string headers are not available from external-linkage code. In file included from ../../../../dist/include/string/nsAString.h:68, from ../../../../dist/include/string/nsSubstring.h:43, from ../../../../dist/include/string/nsString.h:44, from ../../../../dist/include/string/nsXPIDLString.h:43, from ./mac/nsIconChannel.h:45, from nsIconModule.cpp:50: ../../../../dist/include/string/nsTAString.h:41:2: error: #error Cannot use internal string classes without MOZILLA_INTERNAL_API defined. Use the frozen header nsStringAPI.h instead. In file included from ../../../../dist/include/string/nsAString.h:74, from ../../../../dist/include/string/nsSubstring.h:43, from ../../../../dist/include/string/nsString.h:44, from ../../../../dist/include/string/nsXPIDLString.h:43, from ./mac/nsIconChannel.h:45, from nsIconModule.cpp:50: ../../../../dist/include/string/nsTAString.h:41:2: error: #error Cannot use internal string classes without MOZILLA_INTERNAL_API defined. Use the frozen header nsStringAPI.h instead. In file included from ../../../../dist/include/string/nsString.h:201, from ../../../../dist/include/string/nsXPIDLString.h:43, from ./mac/nsIconChannel.h:45, from nsIconModule.cpp:50: ../../../../dist/include/string/nsLiteralString.h:106:1: warning: "NS_LITERAL_STRING" redefined In file included from ../../../../dist/include/xpcom/nsStringGlue.h:52, from nsIconURI.h:45, from nsIconModule.cpp:49: ../../../../dist/include/xpcom/nsStringAPI.h:1081:1: warning: this is the location of the previous definition ../../../../dist/include/string/nsStringFwd.h:63: error: using typedef-name 'nsAutoString' after 'class' ../../../../dist/include/xpcom/nsStringAPI.h:1419: error: 'nsAutoString' has a previous declaration here ../../../../dist/include/string/nsStringFwd.h:83: error: using typedef-name 'nsCAutoString' after 'class' ../../../../dist/include/xpcom/nsStringAPI.h:1418: error: 'nsCAutoString' has a previous declaration here ../../../../dist/include/string/nsTSubstring.h:55: error: redefinition of 'class nsAString' ../../../../dist/include/xpcom/nsStringAPI.h:58: error: previous definition of 'class nsAString' ../../../../dist/include/string/nsTSubstring.h:699: error: expected unqualified-id before '&' token ../../../../dist/include/string/nsTSubstring.h:699: error: expected ',' or '...' before '&' token ../../../../dist/include/string/nsTSubstring.h:699: error: ISO C++ forbids declaration of 'parameter' with no type ../../../../dist/include/string/nsTSubstring.h:703: error: expected unqualified-id before '&' token ../../../../dist/include/string/nsTSubstring.h:703: error: expected ',' or '...' before '&' token ../../../../dist/include/string/nsTSubstring.h:703: error: ISO C++ forbids declaration of 'parameter' with no type ... and more misc fallout from above... Reproducible: Always
Component: General → Build Config
Product: Firefox → Core
QA Contact: general → build-config
Version: unspecified → 1.9.0 Branch
There is no reference to MOZILLA_INTERNAL_API anywhere in libpr0n .... I wonder if the problem is that it's including mac/nsIconChannel.h when it shouldn't. Is mac/nsIconChannel.h just for Cocoa? I don't have the source with me right now, but that's my guess. I'll take a look later when I get back home...
Yeah, it looks like it should be including gtk/nsIconChannel.h ... The problem is that line 70 of Makefile.in is: ifeq ($(OS_ARCH),Darwin) and it should be: ifneq (,$(filter mac cocoa,$(MOZ_WIDGET_TOOLKIT)))
I hope I'm doing the review process correctly. Please tell me if setting "review" to "?" was not the correct thing to do.
Attachment #370258 - Flags: review?
Attachment #370258 - Flags: review? → review?(benjamin)
Comment on attachment 370258 [details] [diff] [review] Fix Makefile.in for Darwin/gtk We don't have a "mac" toolkit any more, just cocoa, so this can just be ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT)) If you can provide the alternate patch, that would be great. If not, let me know and I'll try to put it together.
Attachment #370258 - Flags: review?(benjamin) → review-
Status: UNCONFIRMED → NEW
Ever confirmed: true
Depends on: 486782
No longer depends on: 486782
Ben, I like the idea of using a new variable to differentiate this. It's possible that at some point there will be a native gtk based cocoa bundle option or something similar... the best way to decide this is to divorce the filesystem layout from the OS or toolkit choice. See #486782
Depends on: 486782
Assignee: nobody → jeremyhu
Attachment #371099 - Flags: review?(benjamin)
No longer depends on: 486782
Status: NEW → ASSIGNED
Attachment #371099 - Flags: review?(benjamin) → review+
Keywords: checkin-needed
Status: ASSIGNED → RESOLVED
Closed: 16 years ago
Keywords: checkin-needed
Resolution: --- → FIXED
Target Milestone: --- → mozilla1.9.2a1
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: