Bug 432068 - gcc fails to build on ia64
Summary: gcc fails to build on ia64
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: gcc
Version: rawhide
Hardware: ia64
OS: Linux
urgent
urgent
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact: Fedora Extras Quality Assurance
URL: http://ia64.koji.fedoraproject.org/ko...
Whiteboard:
Keywords:
Depends On:
Blocks: fedora-ia64
TreeView+ depends on / blocked
 
Reported: 2008-02-08 17:52 UTC by Dennis Gilmore
Modified: 2008-02-19 16:15 UTC (History)
1 user (show)

(edit)
Clone Of:
(edit)
Last Closed: 2008-02-19 16:15:51 UTC


Attachments (Terms of Use)
use $$(gcc_srcdir) in place of $(srcdir) in gcc/config/ia64/t-glibc-no-libunwind (707 bytes, patch)
2008-02-13 21:15 UTC, Doug Chapman
no flags Details | Diff

Description Dennis Gilmore 2008-02-08 17:52:09 UTC
gcc  fails to build with the follwoing message 
gcc: ../../gcc/config/ia64/change-symver.c: No such file or directory

build logs are available at 
http://ia64.koji.fedoraproject.org/koji/taskinfo?taskID=139

you are able to do scratch builds directly on the ia64 build system with the 
following command

koji -c ~/.koji/ia64-config build dist-f9 --scratch /path/to/srpm  

if you dont have ~/.koji/ia64-config  run fedora-packager-setup.sh  and it 
will put it there for you

Comment 1 Doug Chapman 2008-02-13 19:33:53 UTC
This is triggered by the patch: gcc43-ia64-libunwind.patch not working properly
with gcc-4.3.

Which adds the file change-symver.c.  The file _is_ there but it is looking for
it in the wrong directory.

The patch adds this bit of code:
+       gcc -O2 -o $(SHLIB_DIR)/$(SHLIB_SONAME).tweak \
+         $(srcdir)/config/ia64/change-symver.c -lelf && \

which expands to ../../gcc/config/ia64/change-symver.c

The problem is at the point where this fails evidently srcdir is not set right
because we need one more ../ to find the right directory.



Comment 2 Doug Chapman 2008-02-13 19:43:49 UTC
More detail....

The build fails in the directory:
/usr/src/redhat/BUILD/gcc-4.3.0-20080212/obj-ia64-redhat-linux/ia64-redhat-linux/libgcc

If I go there I find I need to add an extra ../ to find the missing file:

[root@wing2 libgcc]# pwd
/usr/src/redhat/BUILD/gcc-4.3.0-20080212/obj-ia64-redhat-linux/ia64-redhat-linux/libgcc

[root@wing2 libgcc]# ls ../../gcc/config/ia64/change-symver.c
ls: cannot access ../../gcc/config/ia64/change-symver.c: No such file or directory
[root@wing2 libgcc]# ls ../../../gcc/config/ia64/change-symver.c
../../../gcc/config/ia64/change-symver.c


However, oddly the Makefile in that directory looks right:

[root@wing2 libgcc]# grep ^srcdir Makefile 
srcdir = ../../../libgcc



Comment 3 Jakub Jelinek 2008-02-13 19:55:43 UTC
Yeah, after the move of libgcc build to toplevel some of the $(srcdir)'s in
SHLIB_* variables need to be changed to $(gcc_srcdir).
Unfortunately, due to kernel-headers bug gcc can't build ATM at all, so I need
to wait for a new kernel to hit the koji buildroots.

Comment 4 Doug Chapman 2008-02-13 20:24:20 UTC
Jakub,

This appears to do it however it also needs to be $$(gcc_srcdir) so it gets
expanded at the right time.  With just $(gcc_srcdir) it gets expanded when the
SHLIB_* variables are set and gcc_srcdir is not yet set at that point.

I tested this using a quick manual build.  I will edit a specfile and do a
scratch build on our ia64 koji server next.

thanks,

- Doug


Comment 5 Doug Chapman 2008-02-13 21:15:38 UTC
Created attachment 294837 [details]
use $$(gcc_srcdir) in place of $(srcdir) in gcc/config/ia64/t-glibc-no-libunwind

This fixes this issue.	I hit a build error later on in the "make check" stage
but that does not appear to be related.

Comment 6 Jakub Jelinek 2008-02-19 16:15:51 UTC
Should be fixed now.


Note You need to log in before you can comment on or make changes to this bug.