Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
20704 Discussions

wrong ELF class: ELFCLASS32

Altera_Forum
Honored Contributor II
5,231 Views

Hi 

 

When I connect to my fpga I expect to see something in tools->programmer. 

But after cicking on hardware setup it seems quartus did not detect any hardware. 

 

When running ./jtagconfig I get the error: 

 

/home/me/altera/11.1sp1/quartus/linux64/jtagd: error while loading shared libraries: libaxerces-c.so.26: wrong ELF class: ELFCLASS32 

Error (Server error) when scanning hardware 

 

I've got a 64bit OS and it seems to be a problem. What can I do? 

 

Sad
0 Kudos
9 Replies
Altera_Forum
Honored Contributor II
3,039 Views

I just created a new wiki page: 

 

www alterawiki com w index.php?title=Quartus_for_Debian_Wheezy 

 

This should solve your problems: 

6. Stupid hack because altera forgot some libraries...  

cd altera/11.1sp1/quartus/  

cp /usr/lib/libxerces-c.so.28.0 linux64/libaxerces-c.so.26  

cp /usr/lib/libxerces-c.so.28.0 linux64/libaxerces-c.so  

cp /usr/lib/libicudata.so.48 linux64/libicudata.so.34  

cp /usr/lib/libicuuc.so.48.1.1 linux64/libicuuc.so.33  

 

I'm just asking me if the Altera guys are testing their linux software before release... :confused:
0 Kudos
Altera_Forum
Honored Contributor II
3,039 Views

They don't test it on Debian AFAIK. 

The library dependency problem has always been a big problem with binary application distribution under Linux, making it hard to support every existing distribution.
0 Kudos
Altera_Forum
Honored Contributor II
3,039 Views

I'm using OpenSuSe. 

 

Thank you hannes, this shoes how to solve the problem. I couldn't find some of the libraries so I used libxerces-c.so.30 or something like that instead. 

unfortunately I can't find any libicuuc so the error message now is  

error while loading shared libraries: libicuuc.so.34: wrong ELF class: ELFCLASS32 

 

I try to find a solution based on what you've written
0 Kudos
Altera_Forum
Honored Contributor II
3,039 Views

You have to find somhow the library libicuuc in you package manager and then install it. (I just know debian...) 

When the library is installed, you will find it in /usr/lib and you can copy it...
0 Kudos
Altera_Forum
Honored Contributor II
3,039 Views

thank you. 

 

I downloaded the libicuuc.so.34 and 48 and a lot of different others and tried to copy them in the correct directory. I installed about 10 libraries or more. 

But it didn't work. The same error message appears. 

 

I'm angry and about to resign. Either I have to install windows or try another linux distri. 

It's really the worst case happening 

 

 

EDIT: 

thank God!  

 

I tried to do this: 

cp /usr/lib64/libicuuc.so.44 linux64/libicuuc.so.34 

 

and it worked. finally.
0 Kudos
Altera_Forum
Honored Contributor II
3,039 Views

I had the same problem Ubuntu 11.10 the files I needed to copy were in the 

altera/11.1/qprogrammer/linux64 

just copied them to the altera/11.1/quartus/linux64 and that worked for me 

there were like three of them it kept asking for, repluged the USB Blaster and it was there at least for me
0 Kudos
Altera_Forum
Honored Contributor II
3,039 Views

I had same problems on ubuntu amd64 oneric (11.10): 

 

Following things helped me: 

 

sudo apt-get install libxerces-c28 

/altera/11.1sp1/quartus/bin$ cp /usr/lib/libxerces-c.so.28 ../linux64/libaxerces-c.so.26 

 

 

sudo apt-get install lib32icu44 

cp /usr/lib/libicudata.so.44 ../linux64/libicudata.so.34 

 

 

/altera/11.1sp1/quartus/bin$ cp /usr/lib/libicuuc.so.44 ../linux64/libicuuc.so.34
0 Kudos
Altera_Forum
Honored Contributor II
3,039 Views

I gotta say hannes, a big thank you. I'm jumping into FPGAs for the first time and using Debian and your wiki page got it working for me right off. LIke xeniter, the libicuuc that jtagd wanted was version 34, not 33.

0 Kudos
Altera_Forum
Honored Contributor II
3,039 Views

Thank you all very much this was the last step to set up the altera USB Blaster on Fedora 17 for a DE2 Board. 

 

For those still having trouble installing on linux here is what I did to have quartus working on fedora 17: 

1. Downloaded altera installer Linux Version from https://www.altera.com/download/dnl-index.jsp (I did this for quartusII v11.1) 

2. Executed the downloaded script with bash 

3. Followed steps in the setup GUI 

4. Created the file 51-usbblaster.rules in /etc/udev/rules.d directory. With the following content: 

# ALTERA USB BLASTER 

SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6001", MODE="0666" 

SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6002", MODE="0666" 

SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6003", MODE="0666" 

SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6010", MODE="0666" 

5. I checked that my computer identified my DE2 board by: 

a) connecting the USB Blaster Cable to the computer. 

b) powering the board (on RUN mode). 

c) typing lsusb at a terminal/shell. 

In the list of devices you should see something like: 

Bus 004 Device 004: ID 09fb:6001 Altera Blaster 

6. When trying to use Tools>Programmer>Hardware Setup> Add Hardware I got Attempted to access JTAG server -- internal error code 82 occurred 

7. However the terminal was complaining about something else: error while loading shared libraries: libaxerces-c.so.26: wrong ELF class: ELFCLASS32 

8. I followed Hanne's advice in this forum and replaced the correct libaxerces, libicudata and libicuuc libraries for JTAG to work. 

9. I found the needed libraries in: http://rpm.pbone.net/index.php3/stat/4/idpl/18961537/dir/fedora_12/com/xerces-c-2.8.0-5.fc12.x86_64.rpm.html, http://rpm.pbone.net/index.php3/stat/4/idpl/16684451/dir/fedora_5/com/libicu-3.4-6.2.x86_64.rpm.html. Although it says fedora 12 and fedora 5 it still worked for fedora 17. 

10. Download and extract the RPMs. Then move the proper library files to your <quartus installation directory>/quartus/linux64 directory. (I did it using cp command in terminal) 

 

Hope this helps! 

Best Wishes, 

Alvaro Naranjo
0 Kudos
Reply