Details Ticket 2649


Comment | Reply | Take | Open


Serial Number 2649
Subject compilation error: gcc does not take -KPIC
Area grass5.7
Queue grass
Requestors gwurman@asu.edu
Owner none
Status resolved
Last User Contact Fri Sep 2 17:19:37 2005 (3 yr ago)
Current Priority 30
Final Priority 40
Due No date assigned
Last Action Fri Sep 2 17:19:37 2005 (3 yr ago)
Created Wed Oct 6 01:34:44 2004 (4 yr ago)

Transaction History Ticket 2649


Wed, Oct 6 2004 01:34:44    Request created by guest  
Subject: compilation error: gcc does not take -KPIC

Platform: Solaris2.X/Sparc
grass obtained from: CVS
grass binary for platform: Compiled from Sources
GRASS Version: 5.7 CVS 10-5-04

I tried to update Grass 5.3 and 5.7 from CVS today after a LONG time, and 5.3
compiled fine, but 5.7 didn't.  Running make, gcc kept spitting out 

"gcc: unrecognized option `-KPIC'"

This was never an issue before, and -KPIC isn't a flag when compiling 5.3.  What
does it do?  How can I fix this?

Thanks,
Gilead Wurman
ASU Active Tectonics
Wed, Oct 6 2004 17:05:07    Mail sent by paul-grass@stjohnspoint.co.uk  
Return-Path <paul-grass@stjohnspoint.co.uk>
Delivered-To grass-bugs@lists.intevation.de
Date Wed, 6 Oct 2004 16:05:04 +0100 (BST)
From Paul Kelly <paul-grass@stjohnspoint.co.uk>
To Request Tracker <grass-bugs@intevation.de>
Cc grass5@grass.itc.it
Subject Re: [GRASS5] [bug #2649] (grass) compilation error: gcc does not take -KPIC
In-Reply-To <20041005233444.0F389102C19@lists.intevation.de>
Message-ID <Pine.LNX.4.60.0410061602250.10358@agrippa.ukshells.co.uk>
References <20041005233444.0F389102C19@lists.intevation.de>
MIME-Version 1.0
Content-Type TEXT/PLAIN; charset=US-ASCII; format=flowed
X-Spam-Status No, hits=-4.9 tagged_above=-999.0 required=3.0 tests=BAYES_00
X-Spam-Level
On Wed, 6 Oct 2004, Request Tracker wrote:

> this bug's URL: http://intevation.de/rt/webrt?serial_num=2649
> -------------------------------------------------------------------------
>
> Subject: compilation error: gcc does not take -KPIC
>
> Platform: Solaris2.X/Sparc
> grass obtained from: CVS
> grass binary for platform: Compiled from Sources
> GRASS Version: 5.7 CVS 10-5-04
>
> I tried to update Grass 5.3 and 5.7 from CVS today after a LONG time, and 5.3
compiled fine, but 5.7 didn't.  Running make, gcc kept spitting out
>
> "gcc: unrecognized option `-KPIC'"
>
> This was never an issue before, and -KPIC isn't a flag when compiling 5.3.
What does it do?  How can I fix this?

-KPIC comes from the compile flags used for shared libraries. They are 
used on 5.3 if you pass the --enable-gmake=no option to configure. But 
actually if you tried this on 5.3 you wouldn't have got the error because 
I changed -KPIC to -fPIC for gcc on Solaris a few weeks ago.

Just this afternoon I applied the same change to 5.7 so if you update now 
and try again you should get a bit further. Please let us know how you get
on as the build doesn't get much testing on Solaris these days AFAIK.

Paul K


Wed, Oct 6 2004 19:49:57    Mail sent by guest  
Hi Paul,

I updated this morning, and the -KPIC did indeed change to -fPIC, but this
seems to have broken some library links.  All the -lgrass_* calls return

/usr/local/sparc-sun-solaris2.8/bin/ld: cannot find -lgrass_display
collect2: ld returned 1 exit status
make[2]: ***
[/export/home/gwurman/Codes/grass57/dist.sparc-sun-solaris2.8/bin/d.linegraph]
Error 1

Also, perhaps unrelated, there seem to be a variety of symlinks missing, as
occasionally I get things like:

find: cannot open
/export/home/gwurman/Codes/grass57/dist.sparc-sun-solaris2.8/scripts/d.m: No
such file or directory
find: cannot follow symbolic link /bin/oldjava: No such file or directory
find: cannot follow symbolic link /bin/javald: No such file or directory
find: cannot follow symbolic link /bin/ImageMagick: No such file or directory
find: cannot follow symbolic link /usr/bin/oldjava: No such file or directory
find: cannot follow symbolic link /usr/bin/javald: No such file or directory
find: cannot follow symbolic link /usr/bin/ImageMagick: No such file or directory
find: cannot follow symbolic link /lib/locale/fr_CA.ISO8859-1/LC_MESSAGES: No
such file or directory
find: cannot follow symbolic link /usr/lib/locale/fr_CA.ISO8859-1/LC_MESSAGES:
No such file or directory

Is this just old makefile, or is it something to worry about?

Thanks,
Gilead
Thu, Nov 11 2004 09:55:03    Mail sent by mneteler  
Hi,

could you please try the current 5.7-CVS version and
report again if the problem persists?

Thanks

 Markus
Thu, Nov 11 2004 19:45:12    Mail sent by gwurman@seismo.berkeley.edu  
Return-Path <gwurman@seismo.berkeley.edu>
Delivered-To grass-bugs@lists.intevation.de
Date Thu, 11 Nov 2004 11:39:08 -0700
From Gilead Wurman <gwurman@seismo.berkeley.edu>
Subject Re: [bug #2649] (grass) compilation error: gcc does not take -KPIC
To Markus Neteler via RT <grass-bugs@intevation.de>
Message-id <4193B1CC.7090106@seismo.berkeley.edu>
MIME-version 1.0
Content-type text/plain; charset=us-ascii; format=flowed
Content-transfer-encoding 7bit
X-Accept-Language en-us, en
User-Agent Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.0.1) Gecko/20020920 Netscape/7.0
References <20041111085503.5E144102C08@lists.intevation.de>
X-Spam-Status No, hits=-4.9 tagged_above=-999.0 required=3.0 tests=BAYES_00
X-Spam-Level
Hi Markus,

In trying to answer your question I see that some big changes have been 
made since last time I checked out the code.  For starters, I see that 
5.3 has become 5.4, so I guess congratulations are in order :-)

Also I see from the makefile that mix is no longer needed.  Does that 
mean I don't need the current 5.4 version at all to install 5.7?

Anyway, I tried making the updated 5.7 and a bunch of stuff is missing 
(header files, etc.)  I'm going to just check out a new copy of both 
versions and see if that cleans it up a bit.

Gilead

Markus Neteler via RT wrote:
> Hi,
> 
> 
> 
> could you please try the current 5.7-CVS version and
> 
> report again if the problem persists?
> 
> 
> 
> Thanks
> 
> 
> 
>  Markus
> 
> -------------------------------------------- Managed by Request Tracker
> 


Thu, Nov 11 2004 20:40:19    Mail sent by guest  
OK, with new checkouts of both 5.4 and 5.7 the latter still gives three kinds
of errors.

The symlink errors still crop up in a few places, though it qualitatively
seems less common than in the last checkout I did a few weeks ago.

There are a couple of header files not found, notably rtree.h, dgl.h and
shapefil.h crop up several times.

Finally there are still library errors with all the -lgrass_* calls, which I
believe is because I have an outdated glibc on this system.  Have to wait for
the admin to get around to updating it, then will let you know.

BTW, sorry about the last post, I tried to email Markus personally and I
goofed, so it came here.  One day I'll get it :-)
Thu, Dec 2 2004 14:03:30    Mail sent by mneteler  
Hi,

there was a bug in the cleanup routine.
You have to be sure that all links to 5.3 are eliminated.

Then in the grass57 source dir:
 cvs login
 PW: grass
 (once needed only, CVS remembers)

cvs up -dP

make distclean
configure ...
make

Now it should compile.
Please try again. 

Markus

PS: better to write here as I receive hundreds of mails per week
Sat, Jan 22 2005 00:42:00    Mail sent by guest  
OK, it's been a few weeks.  I saw that you put out grass 6.0.0 beta...
congratulations!

I've picked up the beta tar.gz and am restarting my efforts with that version
(unless you think I should stick with 5.7).  I do seem to get similar error
messages with this version.

When making the binaries I often get the error:

/usr/local/sparc-sun-solaris2.8/bin/ld: cannot find -lgrass_*

For kicks I tried "make libs" and the error that comes up most often is of the
sort:

install -m 644 shapefil.h
/export/home/gwurman/Codes/grass6/dist.sparc-sun-solaris2.8/include/grass/shapefil.h
find: cannot open
/export/home/gwurman/Codes/grass6/dist.sparc-sun-solaris2.8/include/grass/shapefil.h:
No such file or directory
find: cannot follow symbolic link /bin/oldjava: No such file or directory
find: cannot follow symbolic link /bin/javald: No such file or directory
find: cannot follow symbolic link /bin/ImageMagick: No such file or directory
find: cannot follow symbolic link /usr/bin/oldjava: No such file or directory
find: cannot follow symbolic link /usr/bin/javald: No such file or directory
find: cannot follow symbolic link /usr/bin/ImageMagick: No such file or directory
find: cannot follow symbolic link /lib/locale/fr_CA.ISO8859-1/LC_MESSAGES: No
such file or directory
find: cannot follow symbolic link /usr/lib/locale/fr_CA.ISO8859-1/LC_MESSAGES:
No such file or directory
install: shapefil.h was not found anywhere!
make[1]: ***
[/export/home/gwurman/Codes/grass6/dist.sparc-sun-solaris2.8/include/grass/shapefil.h]
Error 2
Fri, Jan 28 2005 23:50:40    Mail sent by guest  
I've been playing around with this for a while now, and I've figured out what
seems to be the prevailing issue.  Whenever the command "install" is invoked
in a makefile (which is unfortunately quite often), it checks the install
directory for a preexisting file.  The purpose of this is to warn the user
about overwriting files, but on my system if "find" doesn't locate a file
about to be overwritten it cries and "install" craps out.

I'm currently working around this by going into the makefiles and adding
"touch" commands before each install command, but it's a hack (not to mention
a pain).  So far it seems to have worked on the libraries.  If there's a
better way around this, someone please let me know.

Thanks,
Gilead Wurman
ASU Active Tectonics
Mon, Feb 28 2005 21:42:19    Final Priority changed to 40 by pcavallini  
Wed, Jul 20 2005 00:03:08    Mail sent by mneteler  
Hi,

could you please try the current 6.1-CVS version and
report again if the problem persists? We have fixed tons
of problems :-)

Thanks

 Markus
Fri, Sep 2 2005 17:19:37    Status changed to resolved by msieczka  
Fri, Sep 2 2005 17:19:37    Mail sent by msieczka  
Closing it. No response, looks it got solved.

Maciek
Comment | Reply | Take | Open

You are currently authenticated as guest.
[Show Configuration] [Login as another user]

Users Guide - Mail Commands - Homepage of RequestTracker 1.0.7 - list any request