popezandy / mingw-and-ndk

Automatically exported from code.google.com/p/mingw-and-ndk
0 stars 1 forks source link

Incorrect path translation #2

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. Download my source code (haven't tested the issue elsewhere)
2. Invoke ndk-build.dat in my project path

What is the expected output? What do you see instead?
From the compilation:
"""
"SharedLibrary  : libapplication.so"
arm-linux-androideabi-g++: ./obj/local/armeabi/bjs/application/src/particles/gro
und_particles.o: No such file or directory
make-ma: *** [obj/local/armeabi/libapplication.so] Error 1
make-ma: *** Waiting for unfinished jobs....
"""

The compiler command-line:
"""
c:/dev/android/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/bin/arm-l
inux-androideabi-g++ -Wl,-soname,libapplication.so -shared 
--sysroot=c:/dev/android/platforms/android-8/arch-arm  
./obj/local/armeabi/objs/application/src/main.o 
./obj/local/armeabi/objs/application/src/ai/ai_idea.o 
./obj/local/armeabi/objs/application/src/ai/ai_weapons_weighting.o 
./obj/local/armeabi/objs/application/src/ai/ai_strategy.o 
./obj/local/armeabi/objs/application/src/ai/ai_stupid_player.o 
./obj/local/armeabi/objs/application/src/ai/ai_command.o 
./obj/local/armeabi/objs/application/src/character/body_list.o 
./obj/local/armeabi/objs/application/src/character/body.o 
./obj/local/armeabi/objs/application/src/character/clothe.o 
./obj/local/armeabi/objs/application/src/character/movement.o 
./obj/local/armeabi/objs/application/src/character/character.o 
./obj/local/armeabi/objs/application/src/character/member.o 
./obj/local/armeabi/objs/application/src/character/damage_stats.o 
./obj/local/armeabi/objs/application/src/game/game_mode.o 
./obj/local/armeabi/objs/application/src/game/game.o 
./obj/local/armeabi/objs/application/src/game/game_blitz.o 
./obj/local/armeabi/objs/application/src/game/config.o 
./obj/local/armeabi/objs/application/src/game/time.o 
./obj/local/armeabi/objs/application/src/game/game_classic.o 
./obj/local/armeabi/objs/application/src/game/stopwatch.o 
./obj/local/armeabi/objs/application/src/graphic/text_list.o 
./obj/local/armeabi/objs/application/src/graphic/font.o 
./obj/local/armeabi/objs/application/src/graphic/polygon_generator.o 
./obj/local/armeabi/objs/application/src/graphic/fps.o 
./obj/local/armeabi/objs/application/src/graphic/surface.o 
./obj/local/armeabi/objs/application/src/graphic/spriteanimation.o 
./obj/local/armeabi/objs/application/src/graphic/polygon.o 
./obj/local/armeabi/objs/application/src/graphic/video.o 
./obj/local/armeabi/objs/application/src/graphic/composite_shape.o 
./obj/local/armeabi/objs/application/src/graphic/text.o 
./obj/local/armeabi/objs/application/src/graphic/spritecache.o 
./obj/local/armeabi/objs/application/src/graphic/color.o 
./obj/local/armeabi/objs/application/src/graphic/sprite.o 
./obj/local/armeabi/objs/application/src/gui/picture_text_cbox.o 
./obj/local/armeabi/objs/application/src/gui/button.o 
./obj/local/armeabi/objs/application/src/gui/figure_widget.o 
./obj/local/armeabi/objs/application/src/gui/grid_box.o 
./obj/local/armeabi/objs/application/src/gui/select_box.o 
./obj/local/armeabi/objs/application/src/gui/msg_box.o 
./obj/local/armeabi/objs/application/src/gui/abstract_spin_button.o 
./obj/local/armeabi/objs/application/src/gui/torus_cache.o 
./obj/local/armeabi/objs/application/src/gui/file_list_box.o 
./obj/local/armeabi/objs/application/src/gui/horizontal_box.o 
./obj/local/armeabi/objs/application/src/gui/tabs.o 
./obj/local/armeabi/objs/application/src/gui/vertical_box.o 
./obj/local/armeabi/objs/application/src/gui/box.o 
./obj/local/armeabi/objs/application/src/gui/text_box.o 
./obj/local/armeabi/objs/application/src/gui/scroll_box.o 
./obj/local/armeabi/objs/application/src/gui/spin_button_picture.o 
./obj/local/armeabi/objs/application/src/gui/question.o 
./obj/local/armeabi/objs/application/src/gui/graph_canvas.o 
./obj/local/armeabi/objs/application/src/gui/energy_bar.o 
./obj/local/armeabi/objs/application/src/gui/progress_bar.o 
./obj/local/armeabi/objs/application/src/gui/widget.o 
./obj/local/armeabi/objs/application/src/gui/check_box.o 
./obj/local/armeabi/objs/application/src/gui/control_config.o 
./obj/local/armeabi/objs/application/src/gui/combo_box.o 
./obj/local/armeabi/objs/application/src/gui/widget_list.o 
./obj/local/armeabi/objs/application/src/gui/label.o 
./obj/local/armeabi/objs/application/src/gui/spin_button.o 
./obj/local/armeabi/objs/application/src/gui/button_text.o 
./obj/local/armeabi/objs/application/src/gui/talk_box.o 
./obj/local/armeabi/objs/application/src/gui/picture_widget.o 
./obj/local/armeabi/objs/application/src/gui/big/button_pic.o 
./obj/local/armeabi/objs/application/src/include/constant.o 
./obj/local/armeabi/objs/application/src/include/action_handler.o 
./obj/local/armeabi/objs/application/src/interface/game_msg.o 
./obj/local/armeabi/objs/application/src/interface/mouse_cursor.o 
./obj/local/armeabi/objs/application/src/interface/mouse.o 
./obj/local/armeabi/objs/application/src/interface/weapon_menu.o 
./obj/local/armeabi/objs/application/src/interface/loading_screen.o 
./obj/local/armeabi/objs/application/src/interface/weapon_help.o 
./obj/local/armeabi/objs/application/src/interface/cursor.o 
./obj/local/armeabi/objs/application/src/interface/move_intention.o 
./obj/local/armeabi/objs/application/src/interface/man_machine_interface.o 
./obj/local/armeabi/objs/application/src/interface/interface.o 
./obj/local/armeabi/objs/application/src/interface/joystick.o 
./obj/local/armeabi/objs/application/src/interface/keyboard.o 
./obj/local/armeabi/objs/application/src/map/tile.o 
./obj/local/armeabi/objs/application/src/map/ground.o 
./obj/local/armeabi/objs/application/src/map/camera.o 
./obj/local/armeabi/objs/application/src/map/wind.o 
./obj/local/armeabi/objs/application/src/map/random_map.o 
./obj/local/armeabi/objs/application/src/map/sky.o 
./obj/local/armeabi/objs/application/src/map/tileitem.o 
./obj/local/armeabi/objs/application/src/map/water.o 
./obj/local/armeabi/objs/application/src/map/maps_list.o 
./obj/local/armeabi/objs/application/src/map/map.o 
./obj/local/armeabi/objs/application/src/menu/game_menu.o 
./obj/local/armeabi/objs/application/src/menu/game_mode_editor.o 
./obj/local/armeabi/objs/application/src/menu/replay_menu.o 
./obj/local/armeabi/objs/application/src/menu/teams_selection_box.o 
./obj/local/armeabi/objs/application/src/menu/menu.o 
./obj/local/armeabi/objs/application/src/menu/map_selection_box.o 
./obj/local/armeabi/objs/application/src/menu/pause_menu.o 
./obj/local/armeabi/objs/application/src/menu/benchmark_menu.o 
./obj/local/armeabi/objs/application/src/menu/results_menu.o 
./obj/local/armeabi/objs/application/src/menu/network_teams_selection_box.o 
./obj/local/armeabi/objs/application/src/menu/credits_menu.o 
./obj/local/armeabi/objs/application/src/menu/main_menu.o 
./obj/local/armeabi/objs/application/src/menu/network_connection_menu.o 
./obj/local/armeabi/objs/application/src/menu/options_menu.o 
./obj/local/armeabi/objs/application/src/menu/team_box.o 
./obj/local/armeabi/objs/application/src/menu/network_menu.o 
./obj/local/armeabi/objs/application/src/menu/help_menu.o 
./obj/local/armeabi/objs/application/src/network/chatlogger.o 
./obj/local/armeabi/objs/application/src/network/chat.o 
./obj/local/armeabi/objs/application/src/network/admin_commands.o 
./obj/local/armeabi/objs/application/src/network/net_error_msg.o 
./obj/local/armeabi/objs/application/src/network/network_local.o 
./obj/local/armeabi/objs/application/src/network/network_server.o 
./obj/local/armeabi/objs/application/src/network/randomsync.o 
./obj/local/armeabi/objs/application/src/network/network_client.o 
./obj/local/armeabi/objs/application/src/network/network.o 
./obj/local/armeabi/objs/application/src/object/barrel.o 
./obj/local/armeabi/objs/application/src/object/bonus_box.o 
./obj/local/armeabi/objs/application/src/object/objects_list.o 
./obj/local/armeabi/objs/application/src/object/objbox.o 
./obj/local/armeabi/objs/application/src/object/medkit.o 
./obj/local/armeabi/objs/application/src/object/object_cfg.o 
./obj/local/armeabi/objs/application/src/object/physical_obj.o 
./obj/local/armeabi/objs/application/src/object/physics.o 
./obj/local/armeabi/objs/application/src/particles/smoke.o 
./obj/local/armeabi/objs/application/src/particles/fire.o 
./obj/local/armeabi/objs/application/src/particles/teleport_member.o 
./obj/local/armeabi/objs/application/src/particles/bullet.o 
./obj/local/armeabi/objs/application/src/particles/ill_bubble.o 
./obj/local/armeabi/objs/application/src/particles/body_member.o 
./obj/local/armeabi/objs/application/src/particles/explosion_particle.o 
./obj/local/armeabi/objs/application/src/particles/star.o 
./obj/local/armeabi/objs/application/src/particles/water_drop.o 
./obj/local/armeabi/objs/application/src/particles/particle.o 
./obj/local/armeabi/objs/application/src/particles/dark_smoke.o 
./obj/local/armeabi/objs/application/src/particles/polecat_fart.o 
./obj/local/armeabi/objs/application/src/particles/ground_particles.o 
./obj/local/armeabi/objs/application/src/particles/magic_star.o 
./obj/local/armeabi/objs/application/src/particles/explosion_smoke.o 
./obj/local/armeabi/objs/application/src/particles/fading_text.o 
./obj/local/armeabi/objs/application/src/replay/replay.o 
./obj/local/armeabi/objs/application/src/replay/replay_info.o 
./obj/local/armeabi/objs/application/src/sound/sound_sample.o 
./obj/local/armeabi/objs/application/src/sound/sample_cache.o 
./obj/local/armeabi/objs/application/src/sound/jukebox.o 
./obj/local/armeabi/objs/application/src/team/custom_teams_list.o 
./obj/local/armeabi/objs/application/src/team/teams_list.o 
./obj/local/armeabi/objs/application/src/team/custom_team.o 
./obj/local/armeabi/objs/application/src/team/team_energy.o 
./obj/local/armeabi/objs/application/src/team/results.o 
./obj/local/armeabi/objs/application/src/team/team_group.o 
./obj/local/armeabi/objs/application/src/team/team.o 
./obj/local/armeabi/objs/application/src/tool/string_tools.o 
./obj/local/armeabi/objs/application/src/tool/ansi_convert.o 
./obj/local/armeabi/objs/application/src/tool/config_element.o 
./obj/local/armeabi/objs/application/src/tool/xml_document.o 
./obj/local/armeabi/objs/application/src/tool/copynpaste.o 
./obj/local/armeabi/objs/application/src/tool/affine_transform.o 
./obj/local/armeabi/objs/application/src/tool/text_handling.o 
./obj/local/armeabi/objs/application/src/tool/resource_manager.o 
./obj/local/armeabi/objs/application/src/tool/stats.o 
./obj/local/armeabi/objs/application/src/weapon/cluzooka.o 
./obj/local/armeabi/objs/application/src/weapon/flamethrower.o 
./obj/local/armeabi/objs/application/src/weapon/gun.o 
./obj/local/armeabi/objs/application/src/weapon/jetpack.o 
./obj/local/armeabi/objs/application/src/weapon/teleportation.o 
./obj/local/armeabi/objs/application/src/weapon/skip_turn.o 
./obj/local/armeabi/objs/application/src/weapon/dynamite.o 
./obj/local/armeabi/objs/application/src/weapon/bounce_ball.o 
./obj/local/armeabi/objs/application/src/weapon/slap.o 
./obj/local/armeabi/objs/application/src/weapon/footbomb.o 
./obj/local/armeabi/objs/application/src/weapon/weapon_strength_bar.o 
./obj/local/armeabi/objs/application/src/weapon/polecat.o 
./obj/local/armeabi/objs/application/src/weapon/anvil.o 
./obj/local/armeabi/objs/application/src/weapon/weapon.o 
./obj/local/armeabi/objs/application/src/weapon/construct.o 
./obj/local/armeabi/objs/application/src/weapon/baseball.o 
./obj/local/armeabi/objs/application/src/weapon/auto_bazooka.o 
./obj/local/armeabi/objs/application/src/weapon/shotgun.o 
./obj/local/armeabi/objs/application/src/weapon/supertux.o 
./obj/local/armeabi/objs/application/src/weapon/mine.o 
./obj/local/armeabi/objs/application/src/weapon/crosshair.o 
./obj/local/armeabi/objs/application/src/weapon/submachine_gun.o 
./obj/local/armeabi/objs/application/src/weapon/weapon_launcher.o 
./obj/local/armeabi/objs/application/src/weapon/grapple.o 
./obj/local/armeabi/objs/application/src/weapon/target_launcher.o 
./obj/local/armeabi/objs/application/src/weapon/bazooka.o 
./obj/local/armeabi/objs/application/src/weapon/cluster_bomb.o 
./obj/local/armeabi/objs/application/src/weapon/snipe_rifle.o 
./obj/local/armeabi/objs/application/src/weapon/explosion.o 
./obj/local/armeabi/objs/application/src/weapon/parachute.o 
./obj/local/armeabi/objs/application/src/weapon/air_attack.o 
./obj/local/armeabi/objs/application/src/weapon/airhammer.o 
./obj/local/armeabi/objs/application/src/weapon/weapons_list.o 
./obj/local/armeabi/objs/application/src/weapon/lowgrav.o 
./obj/local/armeabi/objs/application/src/weapon/riot_bomb.o 
./obj/local/armeabi/objs/application/src/weapon/weapon_cfg.o 
./obj/local/armeabi/objs/application/src/weapon/blowtorch.o 
./obj/local/armeabi/objs/application/src/weapon/gnu.o 
./obj/local/armeabi/objs/application/src/weapon/rail_gun.o 
./obj/local/armeabi/objs/application/src/weapon/syringe.o 
./obj/local/armeabi/objs/application/src/weapon/grenade.o 
./obj/local/armeabi/objs/application/src/weapon/suicide.o 
./obj/local/armeabi/objs/application/src/weapon/disco_grenade.o 
./obj/local/armeabi/objs/application/lib/warmux/action/action_handler.o 
./obj/local/armeabi/objs/application/lib/warmux/action/action.o 
./obj/local/armeabi/objs/application/lib/warmux/base/singleton.o 
./obj/local/armeabi/objs/application/lib/warmux/base/i18n.o 
./obj/local/armeabi/objs/application/lib/warmux/base/error.o 
./obj/local/armeabi/objs/application/lib/warmux/maths/euler_vector.o 
./obj/local/armeabi/objs/application/lib/warmux/net/extSDL_net.o 
./obj/local/armeabi/objs/application/lib/warmux/net/download.o 
./obj/local/armeabi/objs/application/lib/warmux/net/player.o 
./obj/local/armeabi/objs/application/lib/warmux/net/distant_cpu.o 
./obj/local/armeabi/objs/application/lib/warmux/net/index_server.o 
./obj/local/armeabi/objs/application/lib/warmux/net/socket.o 
./obj/local/armeabi/objs/application/lib/warmux/net/network.o 
./obj/local/armeabi/objs/application/lib/warmux/tools/file_tools.o 
./obj/local/armeabi/objs/application/lib/warmux/tools/debug.o 
./obj/local/armeabi/objs/application/lib/warmux/tools/random.o 
./obj/local/armeabi/objs/application/lib/fixedpoint/fixed_func.o   
./obj/local/armeabi/libsdl_net.a ./obj/local/armeabi/libsdl_gfx.a 
./obj/local/armeabi/libsdl_ttf.a ./obj/local/armeabi/libxml2.a 
./obj/local/armeabi/libfreetype.a ./obj/local/armeabi/libintl.a 
./obj/local/armeabi/libstlport_static.a 
c:/dev/android/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/bin/../li
b/gcc/arm-linux-androideabi/4.4.3/libgcc.a ./obj/local/armeabi/libsdl.so 
./obj/local/armeabi/libsdl_mixer.so ./obj/local/armeabi/libsdl_image.so 
./obj/local/armeabi/libpng.so    -Wl,--no-undefined -Wl,-z,noexecstack 
-Lc:/dev/android/platforms/android-8/arch-arm/usr/lib -lGLESv1_CM -ldl -llog 
-lz -lGLESv1_CM -lstdc++ -lc -lm -lsupc++ -o obj/local/armeabi/libapplication.so
"""

Therefore the command-line is fine, but g++ somehow is able to mangle the path.

What version of the product are you using? On what operating system?
Latest, Windows 7

Please provide any additional information below.

Looks like a off-by-one problem in a path translation, probably related to 
converting unix-like paths to windows paths

Original issue reported on code.google.com by christop...@gmail.com on 12 Nov 2011 at 10:46

GoogleCodeExporter commented 8 years ago
I have just copied over the missing file to the expected path, and just this 
one, and this fixes the issue.

Original comment by christop...@gmail.com on 12 Nov 2011 at 10:51

GoogleCodeExporter commented 8 years ago
Ok so it wasn't a bug in the compiler then?

Original comment by mingw.an...@gmail.com on 3 Jul 2012 at 6:20

GoogleCodeExporter commented 8 years ago
I have stopped android development, but from what I recall of the issue:
1) The compiler expects a file 
"./obj/local/armeabi/bjs/application/src/particles/gro
und_particles.o"
Notice in that filename how the 4th folder in the path, "objs", has been 
somehow transformed into "bjs"
2) Notice in the command-line the actual value passed:
./obj/local/armeabi/objs/application/src/particles/ground_particles.o
There are no such "bjs" parameter passed.

Therefore, I do think it is a bug in the compiler, which manages to corrupt the 
parameter(s) it is passed.

Original comment by christop...@gmail.com on 3 Jul 2012 at 6:50

GoogleCodeExporter commented 8 years ago
Turns out this bug was down to Windows batchfile handling of lines with length 
>= 8192 and the issue is best fixed in make.exe to avoid using batch files.

Original comment by mingw.an...@gmail.com on 6 Oct 2012 at 5:17