After fixed some simple problems, I have built DCE
threads and FreeDCE successfully on my RedHat7.1(intel
machine),
and it works great. However, when I tried to compile
the freeDCE for powerpc machine through cross
compilation in the intel machine, it fails.
Several points I have discovered:
(1) For DCE thread, some C header files have these
lines: #include </usr/include/pthread.h>.
The cross compiler will warn that it is not safe for
cross compilation using pthread.
So use the pthread.h which comes with cross compiler.
(2) For FreeDCE, it will make "dceidl"(I call it IDL
later) first, then make idllib, uuid, .... It will run
IDL in the middle of making. As we are using cross-
compiler, the built IDL will not work in intel
machine.
So I copied the built IDL(intel machine version) to
replace the non-worked IDL(powerpc). Then compile can
be done sucessfully. But this built version won't
work. The reason is that: IDL will generate little
endian stub file in the intel-machine, while powerpc
need big-endian stub file. This can be verified by
running IDL in these two kinds of machines, the
generated c source file is different. So I modified
the IDL source code such that IDL(intel machine
version) will generate the powerpc stub file format.
And then try to compile it again. Built can be done
successfully, it looks that rpcd works good as daemon.
But my test file still fails which runs good under
intel machine.
Can anyone give me some suggestions on cross
compilation.
Thanks,
Xiao
xiao@peakaudio.com
**************
Notes:
Machine environment:
intel machine + RedHat7.1; cross compiler; We need
target can be run under powerpc
**************
Logged In: YES
user_id=2628
I will look into it; I've had some dealings with cross-
compilation lately. However, the definitive updates will
be on dcerpc.net since that is where we are at now.