Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 134318 - [cross-ia64/glibc] crossdev ia64 fails
Summary: [cross-ia64/glibc] crossdev ia64 fails
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Toolchain Maintainers
URL:
Whiteboard:
Keywords:
: 164035 (view as bug list)
Depends on:
Blocks:
 
Reported: 2006-05-25 05:25 UTC by Aron Griffis (RETIRED)
Modified: 2007-07-26 23:11 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
cross-ia64-unknown-linux-uclibc-info.log (cross-ia64-unknown-linux-uclibc-info.log,4.44 KB, text/plain)
2006-05-25 05:33 UTC, Aron Griffis (RETIRED)
Details
cross-ia64-unknown-linux-uclibc-uclibc-headers.log (cross-ia64-unknown-linux-uclibc-uclibc-headers.log,467 bytes, text/plain)
2006-05-25 05:34 UTC, Aron Griffis (RETIRED)
Details
cross-ia64-unknown-linux-gnu-info.log (cross-ia64-unknown-linux-gnu-info.log,4.43 KB, text/plain)
2006-05-25 06:09 UTC, Aron Griffis (RETIRED)
Details
cross-ia64-unknown-linux-gnu-glibc-headers.log (cross-ia64-unknown-linux-gnu-glibc-headers.log,101.46 KB, text/plain)
2006-05-25 06:10 UTC, Aron Griffis (RETIRED)
Details
cross-ia64-unknown-linux-gnu-info.log (cross-ia64-unknown-linux-gnu-info.log,8.78 KB, text/plain)
2007-07-23 19:02 UTC, Alon Bar-Lev (RETIRED)
Details
cross-ia64-unknown-linux-gnu-glibc-headers.log (cross-ia64-unknown-linux-gnu-glibc-headers.log,28.29 KB, text/plain)
2007-07-23 19:02 UTC, Alon Bar-Lev (RETIRED)
Details
cross-ia64-unknown-linux-gnu-glibc.log (cross-ia64-unknown-linux-gnu-glibc.log,122.63 KB, text/plain)
2007-07-23 20:18 UTC, Alon Bar-Lev (RETIRED)
Details
cross-ia64-unknown-linux-gnu-glibc.log-tail-500 (cross-ia64-unknown-linux-gnu-glibc.log-tail-500,408.63 KB, text/plain)
2007-07-25 18:25 UTC, Alon Bar-Lev (RETIRED)
Details
cross-mingw32-gcc-stage2.log (cross-mingw32-gcc-stage2.log,9.12 KB, text/plain)
2007-07-25 18:30 UTC, Alon Bar-Lev (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Aron Griffis (RETIRED) gentoo-dev 2006-05-25 05:25:22 UTC
I have tried both of these on my x86_64 system:

sudo crossdev --target ia64-unknown-linux-uclibc --stage1 --kernel 2.6.16
sudo crossdev --target ia64-unknown-linux-glibc --stage1 --kernel 2.6.16

These both fail presently.  I'll attach the logs
Comment 1 Aron Griffis (RETIRED) gentoo-dev 2006-05-25 05:33:47 UTC
Created attachment 87469 [details]
cross-ia64-unknown-linux-uclibc-info.log
Comment 2 Aron Griffis (RETIRED) gentoo-dev 2006-05-25 05:34:11 UTC
Created attachment 87470 [details]
cross-ia64-unknown-linux-uclibc-uclibc-headers.log
Comment 3 Aron Griffis (RETIRED) gentoo-dev 2006-05-25 06:09:36 UTC
Created attachment 87474 [details]
cross-ia64-unknown-linux-gnu-info.log
Comment 4 Aron Griffis (RETIRED) gentoo-dev 2006-05-25 06:10:18 UTC
Created attachment 87475 [details]
cross-ia64-unknown-linux-gnu-glibc-headers.log
Comment 5 Aron Griffis (RETIRED) gentoo-dev 2006-05-25 06:11:05 UTC
btw, I meant ia64-unknown-linux-gnu in the bug description, not ia64-unknown-linux-glibc
Comment 6 Aron Griffis (RETIRED) gentoo-dev 2006-05-25 06:24:10 UTC
heh, I just looked at the uclibc failure for the first time ;-)

I'll play with keywords and let you know what happens.  The glibc failure is "real" though.
Comment 7 Aron Griffis (RETIRED) gentoo-dev 2006-05-25 07:00:04 UTC
Sweet, the uclibc one works, just needed to add ~ia64 to uclibc
Comment 8 SpanKY gentoo-dev 2007-01-27 10:29:53 UTC
*** Bug 164035 has been marked as a duplicate of this bug. ***
Comment 9 SpanKY gentoo-dev 2007-07-23 08:35:17 UTC
the header situation should be resolved by now (and works for me)
Comment 10 Alon Bar-Lev (RETIRED) gentoo-dev 2007-07-23 19:01:25 UTC
Not working yet...
It looks like gcc is probed before install...
Comment 11 Alon Bar-Lev (RETIRED) gentoo-dev 2007-07-23 19:02:21 UTC
Created attachment 125767 [details]
cross-ia64-unknown-linux-gnu-info.log
Comment 12 Alon Bar-Lev (RETIRED) gentoo-dev 2007-07-23 19:02:58 UTC
Created attachment 125769 [details]
cross-ia64-unknown-linux-gnu-glibc-headers.log
Comment 13 SpanKY gentoo-dev 2007-07-23 19:36:43 UTC
your system has a broken gcc-config binary installed, remove it
Comment 14 Alon Bar-Lev (RETIRED) gentoo-dev 2007-07-23 19:46:58 UTC
OK.
Now I got:
[I--] [ ~] sys-devel/gcc-config-2.0.0_rc1 (0)
[I--] [ ~] app-admin/eselect-compiler-2.0.0_rc2-r1 (0)

Still same result.
Please notice that the message is correct, I don't have (yet) the ia64 gcc, as this step is before crossdev compiles it.
Comment 15 SpanKY gentoo-dev 2007-07-23 19:53:00 UTC
eselect-compiler is not supported

my last comment *and* the message is correct because it means `ia64-unknown-linux-gnu-cpp` exists on your system even though you do not have the cross-compiler installed

delete the binary
Comment 16 Alon Bar-Lev (RETIRED) gentoo-dev 2007-07-23 19:59:51 UTC
And how could I know that?!?!? Am I psychic?
And why when updating gcc-config it does not clean up the invalid stuff?
Comment 17 SpanKY gentoo-dev 2007-07-23 20:06:35 UTC
you're supposed to know that because i told you how to fix it

gcc-config should clean up after itself *now* but it didnt in the past for sure
Comment 18 Alon Bar-Lev (RETIRED) gentoo-dev 2007-07-23 20:18:04 UTC
Created attachment 125778 [details]
cross-ia64-unknown-linux-gnu-glibc.log

Still does not work... Now glibc assembly issue.
Comment 19 SpanKY gentoo-dev 2007-07-23 20:49:36 UTC
scroll up in the logs to see the real error

most likely related to your selection of CFLAGS, dunno ... works fine for me

`crossdev ia64`
Comment 20 Alon Bar-Lev (RETIRED) gentoo-dev 2007-07-24 03:35:45 UTC
Do you want to make it work for other people?
If you do, please help.
You are the expert... I cannot do much except of reporting back.

1. I don't see any of my CFLAGS used in the log.

2. It seems to have a problem with TLS:
In file included from include/tls.h:6,
                 from sysdeps/unix/sysv/linux/ia64/sysdep.h:28,
                 from <stdin>:1:
nptl/sysdeps/ia64/tls.h:61:3: error: #error "TLS support is required."

3. There is a missing header, which I cannot find on package and on my system
../sysdeps/ia64/hp-timing.h:27:24: error: ia64intrin.h: No such file or directory
Comment 21 Alon Bar-Lev (RETIRED) gentoo-dev 2007-07-24 16:13:44 UTC
Well... Please tell me where you got the ia64intrin.h from...
Comment 22 SpanKY gentoo-dev 2007-07-25 04:07:38 UTC
it's part of gcc

/usr/lib/gcc/ia64-unknown-linux-gnu/4.2.0/include/ia64intrin.h
Comment 23 Alon Bar-Lev (RETIRED) gentoo-dev 2007-07-25 15:36:32 UTC
Please stop fixing this bug while it is not fixed.

I've found *A* problem, and I guess it is not the last.
You could have notice this (if you know what you are lookin for...)

I guess something is wrong with gcc-config/eselect compiler whatever.

From glibc log:
checking for ia64-unknown-linux-gnu-gcc... no
checking for gcc... gcc
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking for gcc... gcc
checking how to run the C preprocessor... gcc -E
checking for ia64-unknown-linux-gnu-g++... no
checking for ia64-unknown-linux-gnu-c++... no
checking for ia64-unknown-linux-gnu-gpp... no
checking for ia64-unknown-linux-gnu-aCC... no
checking for ia64-unknown-linux-gnu-CC... no
checking for ia64-unknown-linux-gnu-cxx... no
checking for ia64-unknown-linux-gnu-cc++... no
checking for ia64-unknown-linux-gnu-cl... no
checking for ia64-unknown-linux-gnu-FCC... no
checking for ia64-unknown-linux-gnu-KCC... no
checking for ia64-unknown-linux-gnu-RCC... no
checking for ia64-unknown-linux-gnu-xlC_r... no
checking for ia64-unknown-linux-gnu-xlC... no
checking for g++... g++

And:
# ls /usr/bin/ia64-unknown-linux-gnu-*
/usr/bin/ia64-unknown-linux-gnu-addr2line                      /usr/bin/ia64-unknown-linux-gnu-ld
/usr/bin/ia64-unknown-linux-gnu-ar                             /usr/bin/ia64-unknown-linux-gnu-nm
/usr/bin/ia64-unknown-linux-gnu-as                             /usr/bin/ia64-unknown-linux-gnu-objcopy
/usr/bin/ia64-unknown-linux-gnu-cc                             /usr/bin/ia64-unknown-linux-gnu-objdump
/usr/bin/ia64-unknown-linux-gnu-c++filt                        /usr/bin/ia64-unknown-linux-gnu-ranlib
/usr/bin/ia64-unknown-linux-gnu-ia64-unknown-linux-gnu-cpp     /usr/bin/ia64-unknown-linux-gnu-readelf
/usr/bin/ia64-unknown-linux-gnu-ia64-unknown-linux-gnu-gcc     /usr/bin/ia64-unknown-linux-gnu-size
/usr/bin/ia64-unknown-linux-gnu-ia64-unknown-linux-gnu-gccbug  /usr/bin/ia64-unknown-linux-gnu-strings
/usr/bin/ia64-unknown-linux-gnu-ia64-unknown-linux-gnu-gcov    /usr/bin/ia64-unknown-linux-gnu-strip

Notice the double ia64-unknown-linux-gnu-
How does this happen?
I removed /usr/bin/ia64-* before trying again... But they keep appearing this way.

Also remember:
[I--] [ ~] sys-devel/gcc-config-2.0.0_rc1 (0)
[I--] [ ~] app-admin/eselect-compiler-2.0.0_rc2-r1 (0)

Comment 24 SpanKY gentoo-dev 2007-07-25 15:47:21 UTC
i dont know nor do i care

i told you eselect-compiler is not supported so if you insist on using it, you get to figure it out
Comment 25 Alon Bar-Lev (RETIRED) gentoo-dev 2007-07-25 15:53:37 UTC
From your own posting:
Usage: gcc-config [<options>]
WARNING: gcc-config is deprecated and is just a frontend to the compiler
         eselect module.  In the future, gcc-config will be removed
         from portage.  Please see 'eselect compiler help'

What should I understand from this?!?!?

And gcc-config is depended on eselect-compiler!

So which version of any of these tools is working?!?!?

If I cannot figure this out, what do you expect from other users?


Comment 26 SpanKY gentoo-dev 2007-07-25 16:05:10 UTC
i dont know what posting you're referring to, but i've never made that statement anywhere

stop using masked utilities if you want things to "just work"

gcc-config-2+ is masked as is eselect-compiler
Comment 27 Alon Bar-Lev (RETIRED) gentoo-dev 2007-07-25 16:11:31 UTC
OK.
I will try.
But from comment#13 I understood you want me to use newer gcc-config...
Comment 28 SpanKY gentoo-dev 2007-07-25 16:24:25 UTC
comment #13 was referring to a stale gcc-config wrapper binary installed in /usr/bin/ and nothing more
Comment 29 Alon Bar-Lev (RETIRED) gentoo-dev 2007-07-25 17:28:26 UTC
One more issue...
If I have selinux USE flag glibc build fails...
I had to had:
cross-ia64-unknown-linux-gnu/glibc  build

To my package.use...
Was it right to do?
Should crossdev automatically add this?
Comment 30 SpanKY gentoo-dev 2007-07-25 18:00:50 UTC
not sure ... no one has ever tried doing selinux host or target afaik

not surprised that it fails though as there wont be any cross-selinux libs built up ...
Comment 31 Alon Bar-Lev (RETIRED) gentoo-dev 2007-07-25 18:07:40 UTC
Can you please skip the selinux stuff if cross compile or to add the build USE flag?
Comment 32 Alon Bar-Lev (RETIRED) gentoo-dev 2007-07-25 18:25:27 UTC
Created attachment 125998 [details]
cross-ia64-unknown-linux-gnu-glibc.log-tail-500

Still does not work...
Now something in linkage... If it relates to build USE flag I understand... If not, I will be happy to know what can I do.
Comment 33 Alon Bar-Lev (RETIRED) gentoo-dev 2007-07-25 18:30:18 UTC
Created attachment 125999 [details]
cross-mingw32-gcc-stage2.log

Also stage2 of gcc (mingw32) does not work.
Comment 34 SpanKY gentoo-dev 2007-07-26 04:34:02 UTC
your tree is out of date, that glibc issue has been fixed

as for mingw32, your host prob has outdated gmp/mpfr ... update it
Comment 35 Alon Bar-Lev (RETIRED) gentoo-dev 2007-07-26 14:07:24 UTC
(In reply to comment #34)
> as for mingw32, your host prob has outdated gmp/mpfr ... update it

No... I think the problem is that you don't set -fortran at stage2...

Is there any special reason for:
GUSE_DISABLE="-boundschecking -fortran -gtk -gcj -mudflap -objc -objc++ -objc-gc -d"
GUSE_DISABLE_STAGE_2=${GUSE_DISABLE/-fortran}

Why you turning on fortran... And if you do, why the fortran dependency is not merged?
I currently have no mpfr on my system...
*  dev-libs/mpfr
      Latest version available: 2.2.1_p5
      Latest version installed: [ Not Installed ]
Comment 36 SpanKY gentoo-dev 2007-07-26 19:34:35 UTC
gfortran cross compiles just fine ... my mingw32, ia64, and other cross-compilers all have gfortran enabled

all cross packages are emerged with --nodeps by design ... install mpfr on your system first
Comment 37 Alon Bar-Lev (RETIRED) gentoo-dev 2007-07-26 19:45:16 UTC
OK.
Working now!

Summary...
1. Had to erase the /usr/bin/<prefix>-* (After I misunderstood what you tell me in a few words)
2. glibc was fixed.
3. Had to put "cross-ia64-unknown-linux-gnu/glibc build" at package.use
4. Had to put USE="-fortran" at make.conf

Questions...
1. Why won't you revbump gcc-config to cleanup the invalid binaries for all users?
2.Can you please auto add the build USE flag for glibc in crossdev so that it only builds the glibc without selinux and maybe other future stuff, just like you do for other components.
3. If fortran USE flag is not available for sys-devel/gcc, can you please also not try to add this in cross-<>/gcc?
Comment 38 SpanKY gentoo-dev 2007-07-26 20:18:46 UTC
how many times do i have to point out *you were using eselect-compiler*.  any and all tests done with that are invalid and i wont review any information/problems you have related to it.

the only thing USE=build does in glibc is disable selinux.

wrt to fortran, no.  crossdev does not add any flags at all to your system.  read the code, it applies filters to *your* host environment.  if *you* dont want fortran, then put -fortran in your make.conf.
Comment 39 Alon Bar-Lev (RETIRED) gentoo-dev 2007-07-26 20:35:03 UTC
(In reply to comment #38)
> how many times do i have to point out *you were using eselect-compiler*.  any
> and all tests done with that are invalid and i wont review any
> information/problems you have related to it.

Well... You assume the other side understand the meaning of "eselect-compiler"...
At comment#15, you could have request: "Please downgrade to stable gcc-config" or better "Please use gcc-config-1.3.16". These terms are clearer, so both sides invested much less time... Just a few would have made the difference.

> 
> the only thing USE=build does in glibc is disable selinux.

So if selinux is not supported in cross compile, please auto add build for glibc in package.use just like you do for gcc.

> wrt to fortran, no.  crossdev does not add any flags at all to your system. 

You automatically update the package.use!!!
All I asked is to add cross-<prefix>/gcc USE flag masked with current sys-devel/gcc USE flags.

I had to solve the problem using global USE flag as you update the package.use before you merge the package, so I cannot update the flags for the cross stuff.

> read the code, it applies filters to *your* host environment.  if *you* dont
> want fortran, then put -fortran in your make.conf.

Why use global USE flag for specific package?
Maybe you can add --gcc-use to crossdev, allowing the user to add some USE flags... So users may:

crossdev --gcc-use="-fortran" ia64

But best to automatic take this from the current USE flags of sys-devel/gcc

Anyway,
Thanks for the environment.
Comment 40 SpanKY gentoo-dev 2007-07-26 23:11:40 UTC
either set up your env to be sane or dont bother

crossdev respects your env, so if you dont want fortran just do:
USE=-fortran crossdev ...