Red Hat Bugzilla – Bug 432068
gcc fails to build on ia64
Last modified: 2008-02-19 11:15:51 EST
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
you are able to do scratch builds directly on the ia64 build system with the
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
This is triggered by the patch: gcc43-ia64-libunwind.patch not working properly
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.
The build fails in the directory:
If I go there I find I need to add an extra ../ to find the missing file:
[root@wing2 libgcc]# pwd
[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
However, oddly the Makefile in that directory looks right:
[root@wing2 libgcc]# grep ^srcdir Makefile
srcdir = ../../../libgcc
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.
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.
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.
Should be fixed now.