[Fwd: Re: ld: cannot perform PE operations on not PE files ...]
Salvatore D'Angelo
koala.gnu@tiscali.it
Wed Nov 15 13:03:00 GMT 2006
Thx Dave for suggestion, but Loic Grein (member of the list) told me
that your patch should work fine both on linux and cygwin.
I tried and it work fine.
Thanks a lot to everybody for your help.
Bye
Dave Korn ha scritto:
>On 14 November 2006 17:45, Salvatore D'Angelo wrote:
>
>
>
>>Dave you're right. I forgot to add -r.
>>Thanks a lot. Your solution work fine.
>>
>>The problem now is that I should change the Makefile in order to have
>>two different behaviour in CYGWIN and linux.
>>
>>
>
> Actually, if I haven't messed up, the workaround method using -r should be
>fine for linux too - have you tried it?
>
>
>
>>The solutions are:
>>
>>1. use if statements in order to execute different statements on linux
>>and cygwin. The question now is how I can do that. I mean what is the
>>variable I have to check with ifdef?
>>
>>
>
> If you actually /needed/ to know, you could find out by $(shell uname) or
>some similar variant, but I think the solution I gave should work fine on
>linux and cygwin without needing to do anything different between the two.
>
>
>
>
>>2. Install binutils cross and set target i686-pc-linux. In this way I
>>have to change only the name of tools used to compile and link. But I do
>>not know how to do that. Could someone suggest me a link?
>>
>>
>
> Oh, it'll be easier to just show you how. (Bulding a cross-compiler can be
>ever so tricky, but building cross binutils is almost always a breeze):
>
>Step 1: Download and untar the sources, create a directory for building in.
>
>cd /tmp
>wget http://tinyurl.com/y7a7hu
>tar xfvj binutils-2.17.tar.bz2
>mkdir obj
>
>
>Step 2: Configure, build and install the sources.
>
>cd obj
>../binutils-2.17/configure -v --prefix=/usr/local \
> --target=i686-pc-linux 2>&1 | tee conf.log
>make all 2>&1 | tee build.log
>make install 2>&1 | tee install.log
>[optional] make -k check 2>&1 | tee check.log
>
>Step 3: Tidy up.
>
>cd ..
>rm -rf obj binutils-2.17
>
> Now all you need to do is make sure you've got /usr/local/bin in your $PATH,
>and away you go; set AS to i686-pc-linux-as and LD to i686-pc-linux-ld in your
>makefile.
>
>
>
>>please cc my address since I am not subscribed at the list
>>
>>
>
> I remembered this time!
>
> cheers,
> DaveK
>
>[*] - the tinyurl points to
>http://www.mirrorservice.org/sites/ftp.gnu.org/gnu/binutils/binutils-2.17.tar.
>bz2 but avoids getting line-wrapped by the mailer!
>
>
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
More information about the Cygwin
mailing list