Skip to main content

ld: unrecognized option '--hash-style=both'

gcc -Wl,-Map=contiki.map,-export-dynamic testv6.co obj_linux-native/socketdev_listener.o \
contiki-linux-native.a -o testv6.linux-native
/usr/local/bin/ld: unrecognized option '--hash-style=both'
/usr/local/bin/ld: use the --help option for usage information
collect2: ld returned 1 exit status


If you look closely, the error is something related to the local gcc not using the host's linker (ld).

$ which gcc
/usr/bin/gcc


$ which ld
/usr/local/bin/ld


For some reason, I messed my compiler path. To synchronized gcc to use the host's dynamic linker (i.e. /usr/bin/ld), set the environment variable COMPILER_PATH to /usr/bin.

$ export COMPILER_PATH=/usr/bin
$ echo $COMPILER_PATH
/usr/bin

$ gcc -print-prog-name=ld
/usr/bin/ld

Comments

Anonymous said…
it worked for me
Thanks
Anonymous said…
Thanks. It worked, but I have to do it every time I open a new terminal. Otherwise, the old error just kicks in. Is there a way to fix that?
Prem said…
Just do the assignment of COMPILER_PATH in your bash profile or system-wide /etc/profile
Anonymous said…
Thank you. I did what you said. After that, whenever I enter the command $gcc -print-prog-name=ld, the output become "ld" instead of "/usr/bin/ld", and I still get the same error message when I use the GCC compiler.

I'm running a Linux Redhat 2.6.
Prem said…
What is the output of `echo $COMPILER_PATH`?
Anonymous said…
The output is /usr/bin.
Anonymous said…
Also, I just found two problems with my system.

First, my error message is actually different from yours:

/usr/local/bin/ld: unrecognized option '--hash-style=gnu'
/usr/local/bin/ld: use the --help option for usage information
collect2: ld returned 1 exit status

Second, changing bashrc or profile in my computer doesn't seem to have any effect at all. I appended a new directory to PATH. The echo output shows the correct PATH (the changed one), but when I'm executing a command, bash will not search the appended directory.
Anonymous said…
Also, I just found two problems with my system.

First, my error message is actually different from yours:

/usr/local/bin/ld: unrecognized option '--hash-style=gnu'
/usr/local/bin/ld: use the --help option for usage information
collect2: ld returned 1 exit status

Second, changing bashrc or profile in my computer doesn't seem to have any effect at all. I appended a new directory to PATH. The echo output shows the correct PATH (the changed one), but when I'm executing a command, bash will not search the appended directory.
Anonymous said…
Sorry my bad. Changing path works.

But the first problem still exists.

Popular posts from this blog

Globe's HOOQ.TV an (unethical) scam!!

After being terribly disappointed with the subscription stage and after also after a very disappointing test drive (at least Netflix tries to be do-no-evil), I am now very disappointed with the un-subscription of HOOQ.tv with Globe.


Globe sends me a message:


Hi! We'd like to remind you that your free HOOQ will end in 7 days on 10/27/2015. Upon expiry, your subscription will auto-renew to the paid version for P149 per month. If you don't want the paid version, text HOOQ STOP to 8888. before the expiry date. Thank you!


I send the HOOQ STOP to 888 and received:


Sorry, you have entered an invalid keyword. Please make sure your keyword is correct with no extra characters and spaces. For more info on promos, dial *143#, FREE from your Globe/TM mobile phone.


I called Globe Support (211).


Here's the scam:


- GoSurf 999 comes with the HOOQ Free Plan


- After the Free HOOQ Plan (which you did not use because it sucks) expires, it will auto-renew without your consent (!!! UNETHICAL !!!…

Use Private Internet Access (PIA) in DigitalOcean

tags: PrivateInternetAccess, Digital Ocean, VPS, VPN

This runs the PIA VPN using OpenVPN all from the command line.

sudo apt-get install openvpn network-manager-openvpn Not sure if you need network-manager-openvpn.

sudo wget https://www.privateinternetaccess.com/openvpn/openvpn.zip Extract. Move ca.crt and crl.pem to /etc/openvpn

Move "Hong Kong.ovpn" to "/etc/openvpn/Hong Kong.config" for example.

Modified the following lines.

auth-user-pass /etc/openvpn/login.conf route-up /etc/openvpn/route-up.sh
These are the contents of these files.

# cat /etc/openvpn/login.conf username password
Replace with your username and password.

# cat route-up.sh  #!/bin/bash
ip route flush table 100 ip route flush cache ip rule add from x.x.x.x table 100 ip route add table 100 to y.y.y.y/y dev ethX ip route add table 100 default via z.z.z.z
Replace x.x.x.x with your public IP address, y.y.y.y/y with your subnet. Compute using http://jodies.de/ipcalc. Hint: Input public IP and netmask, y…

aircrack-ng (rt2x00 Mac80211 Linux wireless stack) in Ubuntu Trusty 14.04 (14.0.4.1) LTS

Ubuntu is actually installed in a Virtualbox virtual machine on Mac OS X Yosemite 10.10 (10.10.2). Before proceeding read the important intro below from http://www.aircrack-ng.org/doku.php?id=cracking_wpa#introduction
Install aircrack-ng suite.

$ sudo apt-get install aircrack-ng
It should install and provide the following.
# dpkg -s aircrack-ng Package: aircrack-ng Status: install ok installed Priority: optional Section: net Installed-Size: 2167 Maintainer: Ubuntu Developers Architecture: amd64 Version: 1:1.1-6 Depends: libc6 (>= 2.15), libgcrypt11 (>= 1.4.5), libsqlite3-0 (>= 3.5.9), zlib1g (>= 1:1.1.4), wireless-tools, iw Recommends: wget Description: wireless WEP/WPA cracking utilities  aircrack-ng is an 802.11a/b/g WEP/WPA cracking program that can recover a  40-bit, 104-bit, 256-bit or 512-bit WEP key once enough encrypted packets  have been gathered. Also it can attack WPA1/2 networks with some advanced  methods or simply by brute force.  .  It implements the standard FMS attack alon…