- Community Home
- >
- Servers and Operating Systems
- >
- Operating Systems
- >
- Operating System - HP-UX
- >
- _XOPEN_SOURCE_EXTENDED question
Categories
Company
Local Language
Forums
Discussions
Forums
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
Discussions
Discussions
Discussions
Forums
Discussions
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Community
Resources
Forums
Blogs
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-10-2008 02:22 AM
10-10-2008 02:22 AM
_XOPEN_SOURCE_EXTENDED question
Here are my settings:
uname –a: HP-UX HP-C8000 B.11.11 U 9000/785 220365262 unlimited-user license
gcc: gcc (GCC) 4.3.1
Qt config: ./configure –platform hp-g++-64
Here is my problem:
Attempting to configure produces the following error.
/opt/hp-gcc64/bin/g++ -c -o makefiledeps.o -D_HPUX_SOURCE -I. -Igenerators -Igenerators/unix -Igenerators/win32 -Igener
ators/mac -I/space2/sources/trolltech/download/qt-x11-commercial-src-4.4.2/include -I/space2/sources/trolltech/download/
qt-x11-commercial-src-4.4.2/include/QtCore -I/space2/sources/trolltech/download/qt-x11-commercial-src-4.4.2/include -I/s
pace2/sources/trolltech/download/qt-x11-commercial-src-4.4.2/include/QtCore -I/space2/sources/trolltech/download/qt-x11-
commercial-src-4.4.2/src/corelib/global -I/space2/sources/trolltech/download/qt-x11-commercial-src-4.4.2/src/script -DQT
_NO_PCRE -DQT_NO_TEXTCODEC -DQT_NO_UNICODETABLES -DQT_NO_COMPONENT -DQT_NO_STL -DQT_BUILD_QMAKE -DQT_NO_COMPRESS -I/spac
e2/sources/trolltech/download/qt-x11-commercial-src-4.4.2/mkspecs/hpux-g++-64 -DHAVE_QCONFIG_CPP -DQT_NO_THREAD -DQT_NO_
QOBJECT -DQT_NO_GEOM_VARIANT generators/makefiledeps.cpp
In file included from /usr/include/net/if.h:234, from /space2/sources/trolltech/download/qt-x11-commercial-src-4.4.2/mkspecs/hpux-g++-64/qplatformdefs.h
:56,
from generators/makefiledeps.cpp:28:
/usr/include/net/if6.h:77: error: field 'iflru_addr' has incomplete type
/usr/include/net/if6.h:78: error: field 'iflru_dstaddr' has incomplete type
/usr/include/net/if6.h:118: error: field 'lifra_addr' has incomplete type
/usr/include/net/if6.h:119: error: field 'lifra_mask' has incomplete type
gmake: *** [makefiledeps.o] Error 1
Tracking this through on my system:
'iflru_addr', 'iflru_dstaddr', 'lifra_addr' and 'lifra_mask' are all instances of the sockaddr_ext struct which is defined in socket.h
#if !defined(_XOPEN_SOURCE_EXTENDED)
struct sockaddr_ext {
unsigned short sa_family; /* address family */
char sa_data[22]; /* up to 22 bytes of direct address */
};
#endif /* !_XOPEN_SOURCE_EXTENDED */
I understand that _XOPEN_SOURCE_EXTENDED should not be defined thus allowing sockaddr_ext to be created but putting in a #ifdef _XOPEN_SOURCE_EXTENDED #ERROR blah blah #endif before the #include
Searching this forum the following thread seems to describe the same problem...
http://forums12.itrc.hp.com/service/forums/questionanswer.do?admit=109447627+1223633162475+28353475&threadId=1089588
In this instance sys/socket.h is being included and I wonder if anyone could give any clarification on whether and why the flags suggested would be applicable in this instance?
Thanks
Ed
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-10-2008 06:54 AM
10-10-2008 06:54 AM
Re: _XOPEN_SOURCE_EXTENDED question
> describe the same problem...
And this one may be vaguely similar:
http://forums.itrc.hp.com/service/forums/questionanswer.do?threadId=1275847
(You don't need the "11" or "12", or the
"admit=" stuff when you cite a Forum item.)
"cc -E" might help you track down which
system header file gets the evil
_XOPEN_SOURCE_EXTENDED macro defined in your
case. I didn't persist in my persuit of a
good solution, however, so I have no really
satisfying advice to offer.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-10-2008 08:04 PM
10-10-2008 08:04 PM
Re: _XOPEN_SOURCE_EXTENDED question
If you are debugging macros, you need to roll out the big guns:
aCC -E -.i -Wp,-C,-G
Also with Integrity add +legacy_cpp.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-14-2008 05:27 AM
10-14-2008 05:27 AM
Re: _XOPEN_SOURCE_EXTENDED question
Firstly thanks for the advice. I have some more information regarding this problem. Taking a step back I wrote a short program which includes the following pre-processor directives at the head of the file.
#ifdef _XOPEN_SOURCE
#error ** _XOPEN_SOURCE is defined **
#else
#error ** _XOPEN_SOURCE is NOT defined **
#endif
#ifdef _XOPEN_SOURCE_EXTENDED
#error ** the value is _XOPEN_SOURCE_EXTENDED is defined **
#else
#error ** the value is _XOPEN_SOURCE_EXTENDED is NOT defined **
#endif
I then compiled the program using first GCC 4.3.1 and secondly the HP aCC: HP ANSI C++ B3910B A.03.33. _XOPEN_SOURCE is not defined in both instances but _XOPEN_SOURCE_EXTENDED is defined for the GCC compilation which leads to my undefined sockaddr_ext struct. In the GCC documentation under HPPA options the following is statedâ ¦
`-munix=UNIX-STD'
Generate compiler predefines and select a startfile for the
specified UNIX standard. The choices for UNIX-STD are `93', `95'
and `98'. `93' is supported on all HP-UX versions. `95' is
available on HP-UX 10.10 and later. `98' is available on HP-UX
11.11 and later. The default values are `93' for HP-UX 10.00,
`95' for HP-UX 10.10 though to 11.00, and `98' for HP-UX 11.11 and
later.
`-munix=93' provides the same predefines as GCC 3.3 and 3.4.
`-munix=95' provides additional predefines for `XOPEN_UNIX' and
`_XOPEN_SOURCE_EXTENDED', and the startfile `unix95.o'.
`-munix=98' provides additional predefines for `_XOPEN_UNIX',
`_XOPEN_SOURCE_EXTENDED', `_INCLUDE__STDC_A1_SOURCE' and
`_INCLUDE_XOPEN_SOURCE_500', and the startfile `unix98.o'.
It is _important_ to note that this option changes the interfaces
for various library routines. It also affects the operational
behavior of the C library. Thus, _extreme_ care is needed in
using this option.
When I compile my test program with the '-muinx=93' switch both _XOPEN_SOURCE and _XOPEN_SOURCE_EXTENDED are both undefined.
Can you tell me how I can incorporate this command line option in GCC prior to running the Qt configure script? I have tried setting the CXXFLAGS and CPPFLAGS environment variables without success.
Thanks
Ed
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-14-2008 09:57 PM
10-14-2008 09:57 PM
Re: _XOPEN_SOURCE_EXTENDED question
I would have thought CXXFLAGS would do it. Can you look in the Qt configure script?
You could wrap this option with the compiler and then pass in something like:
./configure -platform hp-g++-64 cc="/opt/hp-gcc64/bin/g++ -muinx=93"
But you would want to use the one for C++.