while formatting a newly added disk to my ubuntu server I got this error.
symbol lookup error: mkfs.ext3: undefined symbol: ext2fs_add_journal_inode2
don’t worry too much if your situation is similar like mine then its easily fixable. after googling alot I got some hints that this is due to DELL APP ASSURE AGENT installed on ubuntu server. Yes I have dell appassure agent “appassure-installer_ubuntu_amd64_5.4.2.192”
quick fix to resolve disk format issue is to Remove dell appassure agent , Reboot Server, Format your disk and mount etc as normal , then install dell appassure agent to carry on backing up your server.
ok to un-install Dell appassure agent we need same version .sh file which can be download from dell site as i allready have this on my server so Uninstall command is as below
./appassure-installer_ubuntu_amd64_5.4.2.192.sh -u
hit y for yes to carry on un-installing agent and once finished just reboot the server.
once back on , I can now format my newly added disk without any issues.
——————————————————————————
root@ubuntus1:~# sudo mkfs -t ext3 /dev/sdc1
mke2fs 1.42.9 (4-Feb-2014)
Discarding device blocks: done
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
655360 inodes, 2621184 blocks
131059 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2684354560
80 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
——————————————————————————————————–
and can mount new drive and start using as normal and install Dell AppAssure Agent on server .
./appassure-installer_ubuntu_amd64_5.4.2.192.sh
hope this will help someone who using dell appassure on same server.
Regards
Harjeet Singh
you saved my day man, can’t imagine appassure agent could cause this,
thanks for great fix.
Sorry for the late post. I work for Dell | AppAssure on the Linux Team and just thought I would add to this since I just ran into this issue myself today and was able to temporarily fix this. ( I will get development working on this so it is baked into the AppAssure release in the future. )
If you wanted to avoid un-installing AppAssure to resolve this issue, you can temporarily rename /opt/appassure/libext2fs.so.2 to /opt/appassure/libext2fs.so.2.old
Then run mkfs or whichever tool you are using to create your partitions.
This issue is caused because the symbol or function “ext2fs_add_journal_inode2” is not present in the AppAssure libext2fs.so.2 library version but DOES exist in the /lib/x86_64-linux-gnu/libext2fs.so.2 version. Looking at the individual binaries they show the following:
readelf -Ws /opt/appassure/lib64/libext2fs.so.2.4 | grep ext2fs_add_journal_inode2
and
readelf -Ws /lib/x86_64-linux-gnu/libext2fs.so.2.4 | grep ext2fs_add_journal_inode2
178: 0000000000020e40 1659 FUNC GLOBAL DEFAULT 11 ext2fs_add_journal_inode2
Notice, there is no output for the AppAssure library as it does not contain the “ext2fs_add_journal_inode2” function.
AppAssure adds its own library configuration to “/etc/ld.so.conf.d/” so AppAssure’s library gets loaded first and causes the problem.
You can verify this by running the following to show the cached libraries currently loaded:
ldconfig -p |grep libext2fs.so
libext2fs.so.2 (libc6,x86-64) => /opt/appassure/lib64/libext2fs.so.2
libext2fs.so.2 (libc6,x86-64) => /lib/x86_64-linux-gnu/libext2fs.so.2
Additionally you can run ldd on mkfs.ext3 or mkfs.ext4 and see that the AppAssure library is being loaded instead of the alternate.
ldd /sbin/mkfs.ext4
linux-vdso.so.1 => (0x00007fff5bf29000)
libext2fs.so.2 => /opt/appassure/lib64/libext2fs.so.2 (0x00007f04b3e07000)
libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007f04b3c03000)
libblkid.so.1 => /lib/x86_64-linux-gnu/libblkid.so.1 (0x00007f04b39dc000)
libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007f04b37d7000)
libe2p.so.2 => /lib/x86_64-linux-gnu/libe2p.so.2 (0x00007f04b35cf000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f04b3209000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f04b2feb000)
/lib64/ld-linux-x86-64.so.2 (0x00007f04b4053000)
If you want a permanent fix (Until the AppAssure Development Team has a chance to) so that you do not have to manually rename AppAssure’s library, every time you want to format your partition, then do the following:
wget http://nixos.org/releases/patchelf/patchelf-0.8/patchelf-0.8.tar.gz
apt-get install build-essential ; tar zxvf patchelf-0.8.tar.gz ; cd patchelf-0.8/
./configure ; make ; make install
cp /sbin/mkfs.ext3 /sbin/mkfs.ext3.orig
cp /sbin/mkfs.ext4 /sbin/mkfs.ext4.orig
patchelf –set-rpath /lib/x86_64-linux-gnu/:/lib64/ /sbin/mkfs.ext3
patchelf –set-rpath /lib/x86_64-linux-gnu/:/lib64/ /sbin/mkfs.ext4
ldd /sbin/mkfs.ext4 should now show the correct library.
*Note: the above command is for 64bit OS’s, if you are using a 32bit OS use the appropriate path which is normally just /lib.
If you noticed, mkfs.ext2 is not affected by this issue because it is not a journaling filesystem so does not require that function “ext2fs_add_journal_inode2” to run.
I am not sure if you put in a ticket for this originally but please report any bugs or issues that you may be having so we can resolve them for you.
Thanks and I hope this helps.