>
> > I'm cross-compiling FLTK version 1.1.9 using instructions=20
> > from http://cblfs.cross-lfs.org/index.php/FLTK and when i=20
> > type 'make install' i get this error:
>
In this address you will see four types of process:
1 - non-multilib (for systems pure32 or pure64)
2 - multilib 32 (i ran this steps successfully)
3 - multilib n32 (i don't ran this steps, because this is for systems not x86 
physically (MIPS, SPARC, etc.))
4 - multilib 64 (with this i have problem!!)
this process commands are:

For compile the package:
CC="gcc ${BUILD64}" CXX="g++ ${BUILD64}" ./configure --prefix=/usr \
    --x-libraries=${XORG_PREFIX}/lib64 --libdir=/usr/lib64 --enable-shared &&
make

 I Run this commands with success.

For install the package:
make install

Here occurs the problem!!!


> I'm not familiar with those instructions, but I'd suggest the prefix
> value they suggest is not sensible.
> Initial reaction is that you can not install a cross-compiled version,
> unless you ensure that the install path is not going to collide with the
> host libs.
>
> On the basis of the paths listed below, that doesn't appear to be the
> case, it appears to be looking in the host-local paths, which just seems
> wrong.

I informed to configure script where to put the libraries with --libdir, but 
this respect this to put not for the NAME of lib, this is the problem, the 
configure script put '../lib/libfltk.a' in the var LIBNAME instead of 
'libfltk.a', but this is the name used in 'make install' to run ranlib, causing 
the error.

>
> When you say cross-compiled, what host and target are you using? You
> appear to be using the host gcc, and it appears to be a Unix system -
> I'm guessing the target is an x86_64 Linux system, what is the host?
>

I cross-compiling to have multilibs on same machine (32 bits and 64 bits) both 
for x86 (AMD64 processor)
My system is GNU/Linux, with GCC and using instructions from the first address 
and www.cross-lfs.org to FULL compile and install from the sources of all 
packages.
Every package, since coreutils, binutils, gcc, kernel headers and kernel, until 
x.org, kde and others. Every package is working.

> It might help if you explained what you are trying to do, and we could
> tell you how to do it.
>
> > =3D=3D=3D installing FL =3D=3D=3D
> > Installing include files in /usr/include...
> > =3D=3D=3D installing src =3D=3D=3D
> > Installing libraries in /usr/lib64...
> > ranlib: '/usr/lib64/../lib/libfltk.a': No such file
> > make[1]: ** [install] Error 1
> > make: ** [install] Error 1
> > Before the make install typed this comands, with no problems:
> > CC=3D"gcc ${BUILD64}" CXX=3D"g++ ${BUILD64}" ./configure=20
> > --prefix=3D/usr     --x-libraries=3D${XORG_PREFIX}/lib64=20
> > --libdir=3D/usr/lib64 --enable-shared --enable-xinerama=20
> > --enable-xft --enable-threads && make
> > System:
> > Release: SVN-20080629-x86_64-Multilib
> >=20
> > - I have opened the STR #2007, but Matthias Melcher, closed the STR.
> > - This is not a problem with prior versions. It is with version 1.1.9.
> > - The problem is in the Makefile on src dir.
> > - This Makefile do ranlib '/usr/lib64/..lib/libfltk.a'=20
> > instead of '/usr/lib64/libfltk.a' or '/usr/lib64/../lib64/libfltk.a'
> > - The suffix 'lib' is hardcoded in the somewhere forcing the=20
> > runlib to search a invalid libfltk.a
>
>
> The fltk configure script is not cross-compilation aware, and never has
> been - the fltk design assumes cross-platform support using tools hosted
> locally to the target.
>
> It is unlikely that this will be fixed in the 1.1.x series, since it is
> now closed to further enhancements (it is the stable base, so no new
> features can be added. Cross-targeting would constitute a new feature,
> in practice.)
>
> That said, it is simple to generate cross-compilation builds of fltk -
> all the cross-targeting information is contained within the config.h and
> makeinclude files, so it is trivial to hand edit these files to compile
> for your specific target. I do this fairly often.
> The fact that previous versions of the configure script may or may not
> have worked in some cross-targeted configuration is quite possibly more
> to do with luck than intent!
>
> Again, as I say, if you can tell us what you want to go, we can probably
> tell you a better way to get there...

The only step fail is 'make install', as showed before.
The aim is a system with 32 and 64 bit libs, installed in /usr/lib and 
/usr/lib64 respectively. Again, the process for 32 bits libs works, because the 
destdir for lib is /usr/lib, but the process for 64 doesn't works because the 
destdir for the libs is /usr/lib64 and in the make scripts include '../lib/' 
before the real name of the libs.

>
> --=20
> Ian
>
>


>
>
>
> SELEX Sensors and Airborne Systems Limited
> Registered Office: Sigma House, Christopher Martin Road, Basildon, Essex=
>  SS14 3EL
> A company registered in England & Wales.  Company no. 02426132
> ********************************************************************
> This email and any attachments are confidential to the intended
> recipient and may also be privileged. If you are not the intended
> recipient please delete it from your system and notify the sender.
> You should not copy it or use it for any purpose nor disclose or
> distribute its contents to any other person.
> ********************************************************************
>

_______________________________________________
fltk mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk

Reply via email to