cr-marcstevens / sha1collisiondetection

Library and command line tool to detect SHA-1 collision in a file
Other
1.3k stars 179 forks source link

AIX and xlc: no rule to make target 'dep_lib/ubc_check.d', needed by 'obj_lib/ubc_check.lo' #44

Closed aixtools closed 4 years ago

aixtools commented 5 years ago

Besides the gcc flags (see PR #41) there is also the issue that dependent files are not generated.

root@x066:[/data/prj/aixtools/git]git clone https://github.com/cr-marcstevens/sha1collisiondetection.git sha1test Cloning into 'sha1test'... remote: Counting objects: 864, done. remote: Total 864 (delta 0), reused 0 (delta 0), pack-reused 864 Receiving objects: 100% (864/864), 602.00 KiB | 552.00 KiB/s, done. Resolving deltas: 100% (560/560), done. root@x066:[/data/prj/aixtools/git]cd sha1test root@x066:[/data/prj/aixtools/git/sha1test]ls -l total 96 drwxr-sr-x 8 root felt 4096 Jul 30 06:38 .git -rw-r--r-- 1 root felt 422 Jul 30 06:38 .gitignore -rw-r--r-- 1 root felt 396 Jul 30 06:38 .travis.yml -rw-r--r-- 1 root felt 1270 Jul 30 06:38 LICENSE.txt -rw-r--r-- 1 root felt 5215 Jul 30 06:38 Makefile -rw-r--r-- 1 root felt 5786 Jul 30 06:38 README.md drwxr-sr-x 2 root felt 4096 Jul 30 06:38 lib drwxr-sr-x 2 root felt 4096 Jul 30 06:38 src drwxr-sr-x 2 root felt 4096 Jul 30 06:38 test drwxr-sr-x 4 root felt 4096 Jul 30 06:38 vs2015 root@x066:[/data/prj/aixtools/git/sha1test]make mkdir -p dep_lib && cc -O2 -Wall -Werror -Wextra -pedantic -std=c90 -Ilib -M -MF dep_lib/sha1.d lib/sha1.c cc: 1501-210 (S) command option Wall contains an incorrect subargument mkdir -p dep_lib && cc -O2 -Wall -Werror -Wextra -pedantic -std=c90 -Ilib -M -MF dep_lib/ubc_check.d lib/ubc_check.c cc: 1501-210 (S) command option Wall contains an incorrect subargument mkdir -p dep_src && cc -O2 -Wall -Werror -Wextra -pedantic -std=c90 -Ilib -M -MF dep_src/main.d src/main.c cc: 1501-210 (S) command option Wall contains an incorrect subargument make: *** No rule to make target 'dep_lib/ubc_check.d', needed by 'obj_lib/ubc_check.lo'. Stop.

shumow commented 5 years ago

Isn't the problem just that compiling ubc_check.c failed because of the -Wall option problem?

On Sun, Jul 29, 2018 at 11:46 PM, Michael Felt notifications@github.com wrote:

Besides the gcc flags (see PR #41 https://github.com/cr-marcstevens/sha1collisiondetection/pull/41) there is also the issue that dependent files are not generated.

root@x066:[/data/prj/aixtools/git]git clone https://github.com/cr- marcstevens/sha1collisiondetection.git sha1test Cloning into 'sha1test'... remote: Counting objects: 864, done. remote: Total 864 (delta 0), reused 0 (delta 0), pack-reused 864 Receiving objects: 100% (864/864), 602.00 KiB | 552.00 KiB/s, done. Resolving deltas: 100% (560/560), done. root@x066:[/data/prj/aixtools/git]cd sha1test root@x066:[/data/prj/aixtools/git/sha1test]ls -l total 96 drwxr-sr-x 8 root felt 4096 Jul 30 06:38 .git -rw-r--r-- 1 root felt 422 Jul 30 06:38 .gitignore -rw-r--r-- 1 root felt 396 Jul 30 06:38 .travis.yml -rw-r--r-- 1 root felt 1270 Jul 30 06:38 LICENSE.txt -rw-r--r-- 1 root felt 5215 Jul 30 06:38 Makefile -rw-r--r-- 1 root felt 5786 Jul 30 06:38 README.md drwxr-sr-x 2 root felt 4096 Jul 30 06:38 lib drwxr-sr-x 2 root felt 4096 Jul 30 06:38 src drwxr-sr-x 2 root felt 4096 Jul 30 06:38 test drwxr-sr-x 4 root felt 4096 Jul 30 06:38 vs2015 root@x066:[/data/prj/aixtools/git/sha1test]make mkdir -p dep_lib && cc -O2 -Wall -Werror -Wextra -pedantic -std=c90 -Ilib -M -MF dep_lib/sha1.d lib/sha1.c cc: 1501-210 (S) command option Wall contains an incorrect subargument mkdir -p dep_lib && cc -O2 -Wall -Werror -Wextra -pedantic -std=c90 -Ilib -M -MF dep_lib/ubc_check.d lib/ubc_check.c cc: 1501-210 (S) command option Wall contains an incorrect subargument mkdir -p dep_src && cc -O2 -Wall -Werror -Wextra -pedantic -std=c90 -Ilib -M -MF dep_src/main.d src/main.c cc: 1501-210 (S) command option Wall contains an incorrect subargument make: *** No rule to make target 'dep_lib/ubc_check.d', needed by 'obj_lib/ubc_check.lo'. Stop.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/cr-marcstevens/sha1collisiondetection/issues/44, or mute the thread https://github.com/notifications/unsubscribe-auth/AOhEpHBC3T8rTWAgy2EfHQfFwJaYhqK3ks5uLquzgaJpZM4Vl3Vy .

aixtools commented 5 years ago

On 31/07/2018 23:34, Dan Shumow wrote:

Isn't the problem just that compiling ubc_check.c failed because of the -Wall option problem? Partially correct. Changing CFLAGS to -O2 -Llib returns:

root@x066:[/data/prj/aixtools/git/sha1test]make mkdir -p obj_lib && cc -O2 -Ilib  -o obj_lib/ubc_check.lo -c lib/ubc_check.c mkdir -p obj_lib && cc -O2 -Ilib  -o obj_lib/sha1.lo -c lib/sha1.c mkdir -p bin && ar cru bin/libsha1detectcoll.a obj_lib/ubc_check.lo obj_lib/sha1.lo mkdir -p obj_src && cc -O2 -Ilib  -o obj_src/main.lo -c src/main.c cc   obj_src/main.lo -Lbin -lsha1detectcoll -o bin/sha1dcsum cc: 1501-218 (W) file obj_src/main.lo contains an incorrect file suffix cc   obj_src/main.lo -Lbin -lsha1detectcoll -o bin/sha1dcsum_partialcoll cc: 1501-218 (W) file obj_src/main.lo contains an incorrect file suffix

I expect the .lo files are "fine", but they need to be named .o

root@x066:[/data/prj/aixtools/git/sha1test]find . -name *.lo | xargs file ./obj_lib/ubc_check.lo: executable (RISC System/6000) or object module not stripped ./obj_lib/sha1.lo: executable (RISC System/6000) or object module not stripped ./obj_src/main.lo: executable (RISC System/6000) or object module not stripped

On Sun, Jul 29, 2018 at 11:46 PM, Michael Felt notifications@github.com wrote:

Besides the gcc flags (see PR #41 https://github.com/cr-marcstevens/sha1collisiondetection/pull/41) there is also the issue that dependent files are not generated.

root@x066:[/data/prj/aixtools/git]git clone https://github.com/cr- marcstevens/sha1collisiondetection.git sha1test Cloning into 'sha1test'... remote: Counting objects: 864, done. remote: Total 864 (delta 0), reused 0 (delta 0), pack-reused 864 Receiving objects: 100% (864/864), 602.00 KiB | 552.00 KiB/s, done. Resolving deltas: 100% (560/560), done. root@x066:[/data/prj/aixtools/git]cd sha1test root@x066:[/data/prj/aixtools/git/sha1test]ls -l total 96 drwxr-sr-x 8 root felt 4096 Jul 30 06:38 .git -rw-r--r-- 1 root felt 422 Jul 30 06:38 .gitignore -rw-r--r-- 1 root felt 396 Jul 30 06:38 .travis.yml -rw-r--r-- 1 root felt 1270 Jul 30 06:38 LICENSE.txt -rw-r--r-- 1 root felt 5215 Jul 30 06:38 Makefile -rw-r--r-- 1 root felt 5786 Jul 30 06:38 README.md drwxr-sr-x 2 root felt 4096 Jul 30 06:38 lib drwxr-sr-x 2 root felt 4096 Jul 30 06:38 src drwxr-sr-x 2 root felt 4096 Jul 30 06:38 test drwxr-sr-x 4 root felt 4096 Jul 30 06:38 vs2015 root@x066:[/data/prj/aixtools/git/sha1test]make mkdir -p dep_lib && cc -O2 -Wall -Werror -Wextra -pedantic -std=c90 -Ilib -M -MF dep_lib/sha1.d lib/sha1.c cc: 1501-210 (S) command option Wall contains an incorrect subargument mkdir -p dep_lib && cc -O2 -Wall -Werror -Wextra -pedantic -std=c90 -Ilib -M -MF dep_lib/ubc_check.d lib/ubc_check.c cc: 1501-210 (S) command option Wall contains an incorrect subargument mkdir -p dep_src && cc -O2 -Wall -Werror -Wextra -pedantic -std=c90 -Ilib -M -MF dep_src/main.d src/main.c cc: 1501-210 (S) command option Wall contains an incorrect subargument make: *** No rule to make target 'dep_lib/ubc_check.d', needed by 'obj_lib/ubc_check.lo'. Stop.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/cr-marcstevens/sha1collisiondetection/issues/44, or mute the thread https://github.com/notifications/unsubscribe-auth/AOhEpHBC3T8rTWAgy2EfHQfFwJaYhqK3ks5uLquzgaJpZM4Vl3Vy .

shumow commented 5 years ago

Ok, I'm confused here -- When are you seeing this problem? Like, is this an AIX only issue or a general non gcc compiler issue?

Thanks, Dan

On Wed, Aug 1, 2018 at 1:48 AM, Michael Felt notifications@github.com wrote:

On 31/07/2018 23:34, Dan Shumow wrote:

Isn't the problem just that compiling ubc_check.c failed because of the -Wall option problem? Partially correct. Changing CFLAGS to -O2 -Llib returns:

root@x066:[/data/prj/aixtools/git/sha1test]make mkdir -p obj_lib && cc -O2 -Ilib -o obj_lib/ubc_check.lo -c lib/ubc_check.c mkdir -p obj_lib && cc -O2 -Ilib -o obj_lib/sha1.lo -c lib/sha1.c mkdir -p bin && ar cru bin/libsha1detectcoll.a obj_lib/ubc_check.lo obj_lib/sha1.lo mkdir -p obj_src && cc -O2 -Ilib -o obj_src/main.lo -c src/main.c cc obj_src/main.lo -Lbin -lsha1detectcoll -o bin/sha1dcsum cc: 1501-218 (W) file obj_src/main.lo contains an incorrect file suffix cc obj_src/main.lo -Lbin -lsha1detectcoll -o bin/sha1dcsum_partialcoll cc: 1501-218 (W) file obj_src/main.lo contains an incorrect file suffix

I expect the .lo files are "fine", but they need to be named .o

root@x066:[/data/prj/aixtools/git/sha1test]find . -name *.lo | xargs file ./obj_lib/ubc_check.lo: executable (RISC System/6000) or object module not stripped ./obj_lib/sha1.lo: executable (RISC System/6000) or object module not stripped ./obj_src/main.lo: executable (RISC System/6000) or object module not stripped

On Sun, Jul 29, 2018 at 11:46 PM, Michael Felt <notifications@github.com

wrote:

Besides the gcc flags (see PR #41 https://github.com/cr-marcstevens/sha1collisiondetection/pull/41) there

is also the issue that dependent files are not generated.

root@x066:[/data/prj/aixtools/git]git clone https://github.com/cr- marcstevens/sha1collisiondetection.git sha1test Cloning into 'sha1test'... remote: Counting objects: 864, done. remote: Total 864 (delta 0), reused 0 (delta 0), pack-reused 864 Receiving objects: 100% (864/864), 602.00 KiB | 552.00 KiB/s, done. Resolving deltas: 100% (560/560), done. root@x066:[/data/prj/aixtools/git]cd sha1test root@x066:[/data/prj/aixtools/git/sha1test]ls -l total 96 drwxr-sr-x 8 root felt 4096 Jul 30 06:38 .git -rw-r--r-- 1 root felt 422 Jul 30 06:38 .gitignore -rw-r--r-- 1 root felt 396 Jul 30 06:38 .travis.yml -rw-r--r-- 1 root felt 1270 Jul 30 06:38 LICENSE.txt -rw-r--r-- 1 root felt 5215 Jul 30 06:38 Makefile -rw-r--r-- 1 root felt 5786 Jul 30 06:38 README.md drwxr-sr-x 2 root felt 4096 Jul 30 06:38 lib drwxr-sr-x 2 root felt 4096 Jul 30 06:38 src drwxr-sr-x 2 root felt 4096 Jul 30 06:38 test drwxr-sr-x 4 root felt 4096 Jul 30 06:38 vs2015 root@x066:[/data/prj/aixtools/git/sha1test]make mkdir -p dep_lib && cc -O2 -Wall -Werror -Wextra -pedantic -std=c90 -Ilib -M -MF dep_lib/sha1.d lib/sha1.c cc: 1501-210 (S) command option Wall contains an incorrect subargument mkdir -p dep_lib && cc -O2 -Wall -Werror -Wextra -pedantic -std=c90 -Ilib -M -MF dep_lib/ubc_check.d lib/ubc_check.c cc: 1501-210 (S) command option Wall contains an incorrect subargument mkdir -p dep_src && cc -O2 -Wall -Werror -Wextra -pedantic -std=c90 -Ilib -M -MF dep_src/main.d src/main.c cc: 1501-210 (S) command option Wall contains an incorrect subargument make: *** No rule to make target 'dep_lib/ubc_check.d', needed by 'obj_lib/ubc_check.lo'. Stop.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/cr-marcstevens/sha1collisiondetection/issues/44, or mute the thread https://github.com/notifications/unsubscribe-auth/ AOhEpHBC3T8rTWAgy2EfHQfFwJaYhqK3ks5uLquzgaJpZM4Vl3Vy .

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/cr-marcstevens/sha1collisiondetection/issues/44#issuecomment-409500718, or mute the thread https://github.com/notifications/unsubscribe-auth/AOhEpDNJv3EqrJcgXTNui-28BuzO8WAWks5uMWt4gaJpZM4Vl3Vy .

aixtools commented 5 years ago

On 8/3/2018 12:56 AM, Dan Shumow wrote:

Ok, I'm confused here -- When are you seeing this problem? Like, is this an AIX only issue or a general non gcc compiler issue?

I cannot comment on other non-gcc compilers. Maybe it is not caused by gcc, but by the lack of the gnu environment usiung gcc implies.

In any case, as long as the result of this project ends up in git I am good to go.

Thanks, Dan

aixtools commented 4 years ago

iirc - this was fixed in a PR by someone else - long ago, so closing the issue.

Many thanks!