Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

anyfs-tools promises to convert a ntfs partition into ext3. That's what I want to do. (I have backed up what was necessary).


But when I try to compile anyfs-tools I get a make compilation error complaining about the ext2fs library. So I suppose I do not have the good version that makes this executable compile.

What should I do when such case happens ?

  • Should I search for the version of e2fslibs that is compatible and install it so as the make can succeed. Could it break my current distro ?
  • Or should I try to modify the code of anyfs-tools (that has not been updated since 2010-06-19)

This is the output of make:

gcc -O3 -Wall -Winline --param inline-unit-growth=1000 --param large-function-growth=10000 -std=gnu99 -I../../include -I/usr/include/ext2fs -I/usr/include/et   -g -O2 -o anysurrect anysurrect.o  -rdynamic -L../../lib -lany  -ldl  -lext2fs   -L. -lanysurrect
./libanysurrect.so: undefined reference to `ext2fs_unmark_block_bitmap_range2'
./libanysurrect.so: undefined reference to `ext2fs_inode_data_blocks2'
./libanysurrect.so: undefined reference to `ext2fs_mark_block_bitmap_range'
./libanysurrect.so: undefined reference to `ext2fs_unmark_generic_bitmap'
./libanysurrect.so: undefined reference to `ext2fs_group_last_block2'
./libanysurrect.so: undefined reference to `ext2fs_get_generic_bitmap_end'
./libanysurrect.so: undefined reference to `ext2fs_test_block_bitmap_range2'
./libanysurrect.so: undefined reference to `ext2fs_group_of_blk2'
./libanysurrect.so: undefined reference to `ext2fs_get_generic_bmap_end'
./libanysurrect.so: undefined reference to `com_err'
./libanysurrect.so: undefined reference to `ext2fs_test_generic_bitmap'
./libanysurrect.so: undefined reference to `ext2fs_mark_generic_bitmap'
./libanysurrect.so: undefined reference to `ext2fs_group_first_block2'
./libanysurrect.so: undefined reference to `ext2fs_unmark_block_bitmap_range'
./libanysurrect.so: undefined reference to `ext2fs_get_generic_bmap_start'
./libanysurrect.so: undefined reference to `ext2fs_unmark_generic_bmap'
./libanysurrect.so: undefined reference to `ext2fs_test_generic_bmap'
./libanysurrect.so: undefined reference to `ext2fs_mark_block_bitmap_range2'
./libanysurrect.so: undefined reference to `ext2fs_test_block_bitmap_range'
./libanysurrect.so: undefined reference to `ext2fs_mark_generic_bmap'
./libanysurrect.so: undefined reference to `ext2fs_get_generic_bitmap_start'
collect2: ld returned 1 exit status
make[2]: *** [anysurrect] Error 1
make[2]: Leaving directory `/usr/local/src/anyfs-tools-0.85.1c/src/anysurrect'
make[1]: *** [anysurrect_util] Error 2
make[1]: Leaving directory `/usr/local/src/anyfs-tools-0.85.1c/src'
make: *** [progs] Error 2
share|improve this question
    
First, how do you believe that transformation you want is really feasible? Second, why bother with out-of-date tools? Third, if you have backups, reformat and copy the backups. Fourth, what distro? –  schaiba May 9 '13 at 15:49
    
1/ because there is this tool anyfs-tools. 2/ i was trying. 3/ not enough place for backing up everything, I just backed up the necessary, and wanted to try converting the rest, about which I would afford a risk. 4/ ubuntu 12.04 kernel 3.2.0-38 –  Stephane Rolland May 9 '13 at 15:55
2  
I suggest a saner approach. Shrink down your NTFS filesystem. Use the now-free space to create an ext3 filesystem. Move files. Shrink the NTFS further. Move and grow the ext3 fs. Repeat. If you can do this in few enough steps, you can use LVM to avoid the move FS step (just adding a new PV each time). –  derobert May 9 '13 at 16:29
    
+1 because there is a cautionary tale here: sometimes tools are abandoned for a reason (i.e. they don't work) –  msw May 9 '13 at 18:13
add comment

1 Answer 1

up vote 2 down vote accepted

Looking here - https://launchpad.net/~develop7/+archive/ppa/+build/1545234 - looks like anyfs-tools failed to build for them as well. The manual is a recommended read (http://anyfs-tools.sourceforge.net/), especially this snippet: "anyfs-tools anyfs-tools allows a user to convert filesystems. There is only one requirement for the existing source filesystem: there must be FIBMAP system call ioctl(2) support in the filesystem driver (maybe read-only) for Linux OS. Currently anyfs-tools supports filesystem conversion to ext2fs/ext3fs or xfs, [...]" NTFS and ext* are way too incompatible to even hope to convert.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.