Re: Bug#637232: Multiarch breaks support for non-multiarch toolchain

2012-08-02 Thread Thorsten Glaser
Jonathan Nieder dixit:

   pcc (Portable C compiler): unfixed - http://bugs.debian.org/638309

Yes, but that was not the main showstopper for pcc.
Besides upstream bugs on some architectures (recently,
even Linux/amd64 broke again – I’m following pcc dev),
the main problem was how to get pcc-libs for the target
architecture installed.

Since I can now finally use Depends: pcc-libs:i386 on
arch-any packages (which was not at first allowed by M-A
but got added to dpkg recently), I believe I can go forward
some day now and put together new pcc versions for experi-
mental that actually make use of M-A. I approximately know
how to deal with the pathnames (having worked enough with
gcc), so no need to assist at the moment (though, that
being said, pcc is lower priority to me than others at
the moment – contact me if it’s important to you).

bye,
//mirabilos
-- 
Sometimes they [people] care too much: pretty printers [and syntax highligh-
ting, d.A.] mechanically produce pretty output that accentuates irrelevant
detail in the program, which is as sensible as putting all the prepositions
in English text in bold font.   -- Rob Pike in Notes on Programming in C


--
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/pine.bsm.4.64l.1208021236200.4...@herc.mirbsd.org



Bug#637232: Multiarch breaks support for non-multiarch toolchain

2012-07-25 Thread Goswin von Brederlow
On Mon, Jul 23, 2012 at 06:44:58AM -0500, Jonathan Nieder wrote:
 Hi,
 
 Goswin von Brederlow wrote:
  On Sun, Jul 22, 2012 at 12:52:10PM -0500, Jonathan Nieder wrote:
 
   c) Compatibility wrapper.  If someone needs this, feel free to email
  me and I'll help out however I can.
 
  If you write one of those then please make sure it works with gcc, gcc
  -m32, gcc -m64 and uclibc
 [...]
 
 Let's not get ahead of ourselves.  I'm not aware of a wrapper having
 been written, and I certainly wouldn't want to impose additional
 requirements on someone trying unless someone interested is providing
 the patches to support those.

If someone writes a wrapper then he has to make sure it doesn't break
things that used to work.
 
MfG
Goswin


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120725135202.GA4229@frosties



Bug#637232: Multiarch breaks support for non-multiarch toolchain

2012-07-23 Thread Goswin von Brederlow
On Sun, Jul 22, 2012 at 12:52:10PM -0500, Jonathan Nieder wrote:
 affects 637232 + release-notes
 quit
 
 Hi,
 
 Matthias Klose wrote:
  On 08/09/2011 07:31 PM, Aurelien Jarno wrote:
 
  I got fed up by people reporting bug on libc6, while this problem results
  from a decision Debian to implement multiarch. People should work on
  implementing a compatibility wrapper and to make upstream toolchain
  multiarch aware. Until this is done, this bug should be kept opened.
 
  just do it.
 
 To be realistic, is anyone actually going to do this?
 
 Avenues forward:
 
  a) Help upstream authors of toolchain components with hardcoded
 header and library search paths to implement multiarch.
 
   gcc: in progress - http://gcc.gnu.org/PR53468 (thanks, Matthias!)
   clang: fixed? - http://llvm.org/bugs/show_bug.cgi?id=6541
   icc (Intel C++): status?
   pathcc (PathScale ekopath): status?
   tcc (Tiny C compiler): fixed - b56edc7b, 2012-05-22
   pcc (Portable C compiler): unfixed - http://bugs.debian.org/638309
   cmake: fixed - http://public.kitware.com/Bug/view.php?id=12037

What I don't understand is why compilers (which probably means ld from
binutils in all cases) won't use ld.so.conf to find the libs. It only
does so to find libs linked into libs you link against. So it is used
execpt for the verry first level of recursion. Maybe this could be fixed
better in a single common point.

  b) There is a workaround described in libc6/NEWS.Debian.gz which
 works fine:
 
   LIBRARY_PATH=/usr/lib/triplet
   CPATH=/usr/include/triplet
   export CPATH LIBRARY_PATH
 
 It's probably worth advertising that more widely, for example in
 the release notes.

I find it a bit hard to believe CPATH is needed. That directory has
been in use for years and years way before multiarch. Anyone know
which compiler needs it?

  c) Compatibility wrapper.  If someone needs this, feel free to email
 me and I'll help out however I can.

If you write one of those then please make sure it works with gcc, gcc
-m32, gcc -m64 and uclibc (which brings some wrappers already I
believe). It would also be nice to include i486-linux-gnu-* on amd64
and amd64-linux-gnu-* on i386 and similar for other archs.

MfG
Goswin


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120723083604.GA10263@frosties



Bug#637232: Multiarch breaks support for non-multiarch toolchain

2012-07-23 Thread Jonathan Nieder
Hi,

Goswin von Brederlow wrote:
 On Sun, Jul 22, 2012 at 12:52:10PM -0500, Jonathan Nieder wrote:

  a) Help upstream authors of toolchain components with hardcoded
 header and library search paths to implement multiarch.
[...]
 What I don't understand is why compilers (which probably means ld from
 binutils in all cases) won't use ld.so.conf to find the libs. It only
 does so to find libs linked into libs you link against. So it is used
 execpt for the verry first level of recursion.

The ld library path and compiler library path represent different
things[*].

[..]
Maybe this could be fixed
 better in a single common point.

Something like getconf CPATH and getconf LIBRARY_PATH producing
approprite lists for passing to -I and -L to find the system libs and
headers without having to parse gcc -print-search-dirs output could
be interesting.  Is that what you mean?

[...]
 I find it a bit hard to believe CPATH is needed. That directory has
 been in use for years and years way before multiarch.

From the bug log:

| Bug#637218 is a similar problem about headers moving.

Have you tried it and run into different results?

  c) Compatibility wrapper.  If someone needs this, feel free to email
 me and I'll help out however I can.

 If you write one of those then please make sure it works with gcc, gcc
 -m32, gcc -m64 and uclibc
[...]

Let's not get ahead of ourselves.  I'm not aware of a wrapper having
been written, and I certainly wouldn't want to impose additional
requirements on someone trying unless someone interested is providing
the patches to support those.

Hope that helps,
Jonathan

[*]
- One is looking for libfoo.so.5, the other for libfoo.so and
  libfoo.a.
- One points to libs on the arch with running binaries, while the
  other has libs for the cross-compilation target.
- One contains /lib, the other doesn't.
- One should not contain compiler-specific directories like
  /usr/lib/gcc/i486-linux-gnu/4.6, while the other does.
- One can be manipulated for special-case tricks with LD_LIBRARY_PATH,
  the other with LIBRARY_PATH.

Declaring that the compiler library path always include the ld library
path would not take care of cross-compilation anyway, so my first
reaction is to suspect it wouldn't be worth the side-effects.


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120723114458.GC14294@burratino



Re: Bug#637232: Multiarch breaks support for non-multiarch toolchain

2012-07-23 Thread Ivan Shmakov
 Jonathan Nieder jrnie...@gmail.com writes:
 Goswin von Brederlow wrote:

  What I don't understand is why compilers (which probably means ld
  from binutils in all cases) won't use ld.so.conf to find the libs.
  It only does so to find libs linked into libs you link against.  So
  it is used execpt for the verry first level of recursion.

  The ld library path and compiler library path represent different
  things[*].

Somehow, I guess that “the ld.so(8) library path” and “the ld(1)
library path” were actually meant here.

[…]

-- 
FSF associate member #7257  http://sf-day.org/


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/86pq7my9i5@gray.siamics.net



Bug#637232: Multiarch breaks support for non-multiarch toolchain

2012-07-22 Thread Jonathan Nieder
affects 637232 + release-notes
quit

Hi,

Matthias Klose wrote:
 On 08/09/2011 07:31 PM, Aurelien Jarno wrote:

 I got fed up by people reporting bug on libc6, while this problem results
 from a decision Debian to implement multiarch. People should work on
 implementing a compatibility wrapper and to make upstream toolchain
 multiarch aware. Until this is done, this bug should be kept opened.

 just do it.

To be realistic, is anyone actually going to do this?

Avenues forward:

 a) Help upstream authors of toolchain components with hardcoded
header and library search paths to implement multiarch.

gcc: in progress - http://gcc.gnu.org/PR53468 (thanks, Matthias!)
clang: fixed? - http://llvm.org/bugs/show_bug.cgi?id=6541
icc (Intel C++): status?
pathcc (PathScale ekopath): status?
tcc (Tiny C compiler): fixed - b56edc7b, 2012-05-22
pcc (Portable C compiler): unfixed - http://bugs.debian.org/638309
cmake: fixed - http://public.kitware.com/Bug/view.php?id=12037

 b) There is a workaround described in libc6/NEWS.Debian.gz which
works fine:

LIBRARY_PATH=/usr/lib/triplet
CPATH=/usr/include/triplet
export CPATH LIBRARY_PATH

It's probably worth advertising that more widely, for example in
the release notes.

 c) Compatibility wrapper.  If someone needs this, feel free to email
me and I'll help out however I can.


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120722175210.GA24772@burratino