#1462 closed defect (worksforme)Cygwin Install
Description
Can anyone explain how to run the makefile inside the build/linux on cygwin, without errors? Change History (4)comment:1 Changed 8 years ago by ksuehringcomment:2 Changed 8 years ago by ksuehring
In general you can use the Linux build process.
Make sure, you have make and g++ installed.
What I'm seeing with cygwin is error: -fPIC ignored for target (all code is position independent) [-Werror]
This can easily fixed by removing the -fPIC parameter from build/linux/common/makefile.base
The parameter is a default in Cygwin anyway, which causes a warning. With our settings, all warnings are considered as errors (-Werror), so also removing -Werror would help (as mention in the email thread). comment:3 Changed 8 years ago by ksuehring
I have removed the -fPIC parameter in r4854.
It does not have any effect for HM, because we don't link dynamically:
https://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html -fPIC If supported for the target machine, emit position-independent code, suitable for dynamic linking and avoiding any limit on the size of the global offset table. This option makes a difference on AArch64, m68k, PowerPC and SPARC. Position-independent code requires special support, and therefore works only on certain machines. When this flag is set, the macros __pic__ and __PIC__ are defined to 2. comment:4 Changed 8 years ago by mbernardo
The problem were solved when I remove the -fPIC and -Werror parameter from the makefile.base. Note: See
TracTickets for help on using
tickets. | This list contains all users that will be notified about changes made to this ticket. These roles will be notified: Reporter, Owner, Subscriber, Participant
|
It may be advisable to reply directly on the bug tracker instead of replying to emails because the emails are not recorded to the bug report.
The mentioned cmake files are filed in report #1445. We didn't see a strong need to add these to HM yet because the existing makefiles seem to work fine for HM and cmake is another tool that needs to be installed on the target machine.