Opened 14 years ago

Closed 14 years ago

#25162 closed defect (duplicate)

qt4-mac-devel fails to build, error in storage/StorageEvent.h:38

Reported by: macports@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 1.9.99
Keywords: Cc: ryandesign (Ryan Carsten Schmidt)
Port: qt4-mac-devel

Description

qt4-mac-devel fails to build, both on MacPorts 1.8.2 and 1.9.0-rc2.

:info:build In file included from storage/StorageEvent.cpp:27:
:info:build storage/StorageEvent.h:38: error: expected class-name before '{' token
:info:build storage/StorageEvent.h:41: error: expected ',' or '...' before '&' token
:info:build storage/StorageEvent.h:41: error: ISO C++ forbids declaration of 'AtomicString' with no type
:info:build storage/StorageEvent.h:49: error: expected ',' or '...' before '&' token
:info:build storage/StorageEvent.h:49: error: ISO C++ forbids declaration of 'AtomicString' with no type
:info:build storage/StorageEvent.h:58: error: expected ',' or '...' before '&' token
:info:build storage/StorageEvent.h:58: error: ISO C++ forbids declaration of 'AtomicString' with no type
:info:build storage/StorageEvent.cpp:44: error: expected ',' or '...' before '&' token
:info:build storage/StorageEvent.cpp:44: error: ISO C++ forbids declaration of 'AtomicString' with no type
:info:build storage/StorageEvent.cpp: In static member function 'static WTF::PassRefPtr<WebCore::StorageEvent> WebCore::StorageEvent::create(int)':
:info:build storage/StorageEvent.cpp:46: error: 'type' was not declared in this scope
...
:info:build ../JavaScriptCore/wtf/PassRefPtr.h: In function 'void WTF::derefIfNotNull(T*) [with T = WebCore::StorageEvent]':
:info:build ../JavaScriptCore/wtf/PassRefPtr.h:66:   instantiated from 'WTF::PassRefPtr<T>::~PassRefPtr() [with T = WebCore::StorageEvent]'
:info:build storage/StorageEvent.cpp:37:   instantiated from here
:info:build ../JavaScriptCore/wtf/PassRefPtr.h:42: error: 'class WebCore::StorageEvent' has no member named 'deref'
:info:build make[2]: *** [obj/debug/StorageEvent.o] Error 1
:info:build make[1]: *** [debug-all] Error 2

Attachments (1)

main.log.gz (119.0 KB) - added by macports@… 14 years ago.
Log file from build

Download all attachments as: .zip

Change History (4)

Changed 14 years ago by macports@…

Attachment: main.log.gz added

Log file from build

comment:1 Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: ryandesign@… added
Milestone: MacPorts 1.9.0

Please don't set the Milestone field for port tickets.

You should probably be using qt4-mac instead of qt4-mac-devel. They're both at the same version right now so it doesn't much matter, but unless you want to be using development versions of qt4-mac in the future, you'll be safer with qt4-mac (which tracks only stable versions).

Do you have any of the following ports installed: kdelibs3 kdelibs4 libevent xmlrpcxx

If so, deactivate them before trying to build qt4-mac (or qt4-mac-devel) (and clean qt4-mac (or qt4-mac-devel) before attempting to build again); they interfere with the build process.

comment:2 Changed 14 years ago by macports@…

Thanks, deactivating libevent did the trick. Maybe qt4-mac should conflict with those packages -- or at least display a helpful message after a failed build?

Also, thanks for the tip about qt4-mac vs qt4-mac-devel. I though I needed qt4-mac-devel to do QT development.

comment:3 in reply to:  2 Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: duplicate
Status: newclosed

Replying to macports@…:

Thanks, deactivating libevent did the trick. Maybe qt4-mac should conflict with those packages -- or at least display a helpful message after a failed build?

qt4-mac is already marked as conflicting with libevent. The problem is that the conflicts keyword was not designed to model build-time conflicts like this. (It was designed to model activation-time conflicts.) MacPorts base needs to be given a new keyword to model build-time conflicts.

So this ticket is a duplicate of #20199.

Also, thanks for the tip about qt4-mac vs qt4-mac-devel. I though I needed qt4-mac-devel to do QT development.

MacPorts does not follow that naming convention. In other package managers, -dev or -devel packages contain the headers, while the regular port contains the libraries. In MacPorts, the -devel port (if any) contains the development version of the full software (headers and libraries), and the regular port contains the stable version of the full software (headers and libraries). See #14540.

Note: See TracTickets for help on using tickets.