LinuxQuestions.org
Visit Jeremy's Blog.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 04-10-2007, 08:36 AM   #1
cab15625
LQ Newbie
 
Registered: May 2005
Distribution: Slackware 11.0/current
Posts: 23

Rep: Reputation: 15
broken X headers in security patch from 2007-03-07?


I'm setting up a new system with Slackware 11. After downloading and installing all the official patches for Slackware 11 (stable) using slapt-get, I usually install a few programs. One of these is ddd (digital display debugger) which is basically a graphical frontend to gdb. However, this time, when I go to compile ddd, I get the following error:

/usr/X11R6/include/X11/VendorP.h:87: error: previous declaration of 'VendorShellClassRec vendorShellClassRec' with 'C++' linkage
/usr/X11R6/include/Xm/VendorSP.h:58: error: conflicts with new declaration with 'C' linkage

Does this mean that something broke in the header files during the last patch to X11? This is about the 15th program that I've compiled from source after all the updates and after installing gcc-4.1.2, and the first one to have problems. Even crazy libraries like ATLAS, LAPACK, and fftw have gone in painlessly.

In case it's a problem with something else I've done, I'm compiling this with a hand compiled gcc-4.1.2 compiled with the following options:

Configured with: ../gcc-4.1.2/configure --enable-shared --enable-threads=posix --enable-__cxa_atexit --disable-checking --with-gnu-ld --verbose --enable-languages=c,c++,fortran,objc,java,obj-c++,treelang --target=i686-slackware-linux --host=i686-slackware-linux --with-tune=prescott --with-arch=prescott --with-cpu=prescott --prefix=/usr

And I have CFLAGS="-mtune=prescott -O2"

The only system changes that aren't part of the official Slackware 11 are gcc-4.1.2 and kernel-2.6.20.4.
 
Old 04-10-2007, 10:04 AM   #2
rworkman
Slackware Contributor
 
Registered: Oct 2004
Location: Tuscaloosa, Alabama (USA)
Distribution: Slackware
Posts: 2,559

Rep: Reputation: 1351Reputation: 1351Reputation: 1351Reputation: 1351Reputation: 1351Reputation: 1351Reputation: 1351Reputation: 1351Reputation: 1351Reputation: 1351
Well, gcc4 doesn't like some things - maybe this is one of them. Aside from that little bit, no idea.
 
Old 04-10-2007, 07:16 PM   #3
cab15625
LQ Newbie
 
Registered: May 2005
Distribution: Slackware 11.0/current
Posts: 23

Original Poster
Rep: Reputation: 15
thanks for the tip.

gcc it is. when I compile it with gcc-3.4.6 that comes with Slackware 11 everything goes nice and smooth. However, when I look at the two header files that gcc 4.1.2 complains about, there are different declarations in them:

-----
/usr/X11R6/include/X11/VendorP.h:87:

externalref VendorShellClassRec vendorShellClassRec;
-----
-----
/usr/X11R6/include/Xm/VendorSP.h:58:

XMLIBEXPORT extern VendorShellClassRec vendorShellClassRec;
-----

They do LOOK different, but I don't know enough about the guts of X (x.org6.9.0) to tell if the difference is significant. Is there a flag for gcc-4.1.2 that makes it insensative to this sort of thing? Sorry, all I really know about programming is how to make C do some number crunching.

I notice that -current has moved up to gcc-4.1.1 ... is this sort of thing likely to become a common problem when I move on to 12 once it's released?
 
Old 04-10-2007, 11:27 PM   #4
rworkman
Slackware Contributor
 
Registered: Oct 2004
Location: Tuscaloosa, Alabama (USA)
Distribution: Slackware
Posts: 2,559

Rep: Reputation: 1351Reputation: 1351Reputation: 1351Reputation: 1351Reputation: 1351Reputation: 1351Reputation: 1351Reputation: 1351Reputation: 1351Reputation: 1351
Quote:
Originally Posted by cab15625
thanks for the tip.

gcc it is. when I compile it with gcc-3.4.6 that comes with Slackware 11 everything goes nice and smooth. However, when I look at the two header files that gcc 4.1.2 complains about, there are different declarations in them:

-----
/usr/X11R6/include/X11/VendorP.h:87:

externalref VendorShellClassRec vendorShellClassRec;
This is identical to the Xorg-7.3 RC headers in -current (which *definitely* build on gcc4).

Quote:
/usr/X11R6/include/Xm/VendorSP.h:58:

XMLIBEXPORT extern VendorShellClassRec vendorShellClassRec;
Again, this is identical to what's in -current.

I have no idea - I'm guessing that whatever is including these headers is doing something with them that gcc4 doesn't like.

Quote:
I notice that -current has moved up to gcc-4.1.1 ... is this sort of thing likely to become a common problem when I move on to 12 once it's released?
Well, I don't know how *common* it will be, but it's certainly a real possibility. In fact, I'll quote
http://slackware.osuosl.org/slackwar...nt/UPGRADE.TXT

The upgrade to gcc-4.x is likely to cause problems with building some software
from source. Please complain to the upstream maintainers...
 
Old 04-12-2007, 08:50 AM   #5
cab15625
LQ Newbie
 
Registered: May 2005
Distribution: Slackware 11.0/current
Posts: 23

Original Poster
Rep: Reputation: 15
OK, now I just feel ignorant. Does upstream maintainers mean Patrick, the gcc team, or the x.org guys?
 
Old 04-12-2007, 08:55 AM   #6
cab15625
LQ Newbie
 
Registered: May 2005
Distribution: Slackware 11.0/current
Posts: 23

Original Poster
Rep: Reputation: 15
I should also mention that I have another box that I goof around on that has bits of -current and bits of hand compiled stuff and I didn't run into this problem. The only difference is possibly the order that stuff was install when I put ddd on that one. I even toyed with installing the new modular x on that and decided to wait until Pat Volkerding figures it out since he's more likely to know what he's doing. Just to confirm what you said about the new x compiling with gcc 4 (or at least 4.1.1, which is what is currently in current). Can't wait for 12 - I've been waiting to tinker with compiz or beryl for a while now.
 
Old 04-12-2007, 09:07 AM   #7
rworkman
Slackware Contributor
 
Registered: Oct 2004
Location: Tuscaloosa, Alabama (USA)
Distribution: Slackware
Posts: 2,559

Rep: Reputation: 1351Reputation: 1351Reputation: 1351Reputation: 1351Reputation: 1351Reputation: 1351Reputation: 1351Reputation: 1351Reputation: 1351Reputation: 1351
Quote:
Originally Posted by cab15625
OK, now I just feel ignorant. Does upstream maintainers mean Patrick, the gcc team, or the x.org guys?
For example, if you're trying to compile wine [1], and it errors out with gcc4 but builds fine with gcc3, then you should complain to the wine developers.

[1] wine builds fine on gcc4, so don't anybody go complaining to them
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Day Light Savings Patch 2007 haiders Linux - Software 5 02-06-2007 11:30 AM
X11 broken in Mandriva 2007 x64 eikeland Linux - Desktop 0 11-30-2006 10:08 PM
Broken menu in 2007 jburford Mandriva 2 11-26-2006 02:30 AM
Mandriva 2007 bluetooth completely broken make Mandriva 2 11-04-2006 04:54 AM
How do i patch 2.4.21-37 kernel with antidote2 security patch suchi Linux - Kernel 4 09-05-2006 02:29 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 01:11 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration