Gigoteur / UnicornConsole

Unicorn Console: create quick fantasy game in Rust/Python/Lua/Rhai/Wasm !
MIT License
908 stars 47 forks source link

Chiptune error linking with cc #65

Closed markbreynolds closed 2 years ago

markbreynolds commented 6 years ago

When trying to build from source I am getting a long list of errors saying there are multiple definitions in chiptune.

I am running Arch Linux with python3.6.3, sdl2 and sdl2_mixer installed. and am running cargo build --features="cpython px8_plugin_lua" --release

Here is the relevant log output:

error: linking with 'cc' failed: exit code: 1
  |
  = note: "cc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-m64" "-L" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib" "~/PX8/target/release/deps/chiptune.0.o" "-o" "~/PX8/target/release/deps/libchiptune.so" "-Wl,--version-script=/tmp/rustc.AuGjf6qdrAh5/list" "~/PX8/target/release/deps/chiptune.crate.allocator.o" "-Wl,--gc-sections" "-Wl,-z,relro,-z,now" "-Wl,-O1" "-nodefaultlibs" "-L" "~/PX8/target/release/deps" "-L" "~/PX8/src/chiptune/libksnd-source/src" "-L" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "-Wl,--whole-archive" "-l" "chiptune" "-Wl,--no-whole-archive" "~/PX8/target/release/deps/liblazy_static-c10dd4f9178931b1.rlib" "~/PX8/target/release/deps/liblibc-043bcec74ab9b3f4.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-f7c4b6522ec5af9e.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc_system-5c3db1423b91616a.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/librand-c81546f616bee1cb.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-5b1e62694efc0852.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-99d160586f71fd24.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-01818c88b0095d9d.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-8fd871d342558b7c.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_unicode-24d077784ff294bb.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-a607da81e1566936.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-48849975bde268ae.rlib" "-Wl,-Bdynamic" "-l" "util" "-l" "util" "-l" "dl" "-l" "rt" "-l" "pthread" "-l" "pthread" "-l" "gcc_s" "-l" "c" "-l" "m" "-l" "rt" "-l" "pthread" "-l" "util" "-shared"
  = note: ~/PX8/target/release/deps/libchiptune.a(chiptune.0.o): In function '<chiptune::ChiptuneError as core::fmt::Debug>::fmt':
          chiptune.cgu-0.rs:(.text._ZN60_$LT$chiptune..ChiptuneError$u20$as$u20$core..fmt..Debug$GT$3fmt17hef3377e0808c2218E+0x0): multiple definition of '<chiptune::ChiptuneError as core::fmt::Debug>::fmt'
          ~/PX8/target/release/deps/chiptune.0.o:chiptune.cgu-0.rs:(.text._ZN60_$LT$chiptune..ChiptuneError$u20$as$u20$core..fmt..Debug$GT$3fmt17hef3377e0808c2218E+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.0.o): In function '<chiptune::NOTENAME as core::ops::deref::Deref>::deref':
          chiptune.cgu-0.rs:(.text._ZN62_$LT$chiptune..NOTENAME$u20$as$u20$core..ops..deref..Deref$GT$5deref17h4a3e7dfd057b2e19E+0x0): multiple definition of '<chiptune::NOTENAME as core::ops::deref::Deref>::deref'
          ~/PX8/target/release/deps/chiptune.0.o:chiptune.cgu-0.rs:(.text._ZN62_$LT$chiptune..NOTENAME$u20$as$u20$core..ops..deref..Deref$GT$5deref17h4a3e7dfd057b2e19E+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.0.o): In function '<chiptune::NOTENAME as lazy_static::LazyStatic>::initialize':
          chiptune.cgu-0.rs:(.text._ZN62_$LT$chiptune..NOTENAME$u20$as$u20$lazy_static..LazyStatic$GT$10initialize17hccdbb4ffd427bf7cE+0x0): multiple definition of '<chiptune::NOTENAME as lazy_static::LazyStatic>::initialize'
          ~/PX8/target/release/deps/chiptune.0.o:chiptune.cgu-0.rs:(.text._ZN62_$LT$chiptune..NOTENAME$u20$as$u20$lazy_static..LazyStatic$GT$10initialize17hccdbb4ffd427bf7cE+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.0.o): In function '<chiptune::ChiptuneInstruction as core::fmt::Debug>::fmt':
          chiptune.cgu-0.rs:(.text._ZN66_$LT$chiptune..ChiptuneInstruction$u20$as$u20$core..fmt..Debug$GT$3fmt17ha514dd5d7ea02a82E+0x0): multiple definition of '<chiptune::ChiptuneInstruction as core::fmt::Debug>::fmt'
          ~/PX8/target/release/deps/chiptune.0.o:chiptune.cgu-0.rs:(.text._ZN66_$LT$chiptune..ChiptuneInstruction$u20$as$u20$core..fmt..Debug$GT$3fmt17ha514dd5d7ea02a82E+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.0.o): In function '<chiptune::INSTRUCTION_DESC as core::ops::deref::Deref>::deref':
          chiptune.cgu-0.rs:(.text._ZN70_$LT$chiptune..INSTRUCTION_DESC$u20$as$u20$core..ops..deref..Deref$GT$5deref17h1822fc37a09c7da5E+0x0): multiple definition of '<chiptune::INSTRUCTION_DESC as core::ops::deref::Deref>::deref'
          ~/PX8/target/release/deps/chiptune.0.o:chiptune.cgu-0.rs:(.text._ZN70_$LT$chiptune..INSTRUCTION_DESC$u20$as$u20$core..ops..deref..Deref$GT$5deref17h1822fc37a09c7da5E+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.0.o): In function '<chiptune::INSTRUCTION_DESC as lazy_static::LazyStatic>::initialize':
          chiptune.cgu-0.rs:(.text._ZN70_$LT$chiptune..INSTRUCTION_DESC$u20$as$u20$lazy_static..LazyStatic$GT$10initialize17h401de503ebcb4bcfE+0x0): multiple definition of '<chiptune::INSTRUCTION_DESC as lazy_static::LazyStatic>::initialize'
          ~/PX8/target/release/deps/chiptune.0.o:chiptune.cgu-0.rs:(.text._ZN70_$LT$chiptune..INSTRUCTION_DESC$u20$as$u20$lazy_static..LazyStatic$GT$10initialize17h401de503ebcb4bcfE+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.0.o): In function 'chiptune::base_note_name':
          chiptune.cgu-0.rs:(.text._ZN8chiptune14base_note_name17h69dd9d8b105b9b6aE+0x0): multiple definition of 'chiptune::base_note_name'
          ~/PX8/target/release/deps/chiptune.0.o:chiptune.cgu-0.rs:(.text._ZN8chiptune14base_note_name17h69dd9d8b105b9b6aE+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.0.o): In function 'chiptune::get_instruction':
          chiptune.cgu-0.rs:(.text._ZN8chiptune15get_instruction17h5401bb8b00644b07E+0x0): multiple definition of 'chiptune::get_instruction'
          ~/PX8/target/release/deps/chiptune.0.o:chiptune.cgu-0.rs:(.text._ZN8chiptune15get_instruction17h5401bb8b00644b07E+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.0.o): In function 'chiptune::ChiptuneInstruction::new':
          chiptune.cgu-0.rs:(.text._ZN8chiptune19ChiptuneInstruction3new17h94c4cab29017d817E+0x0): multiple definition of 'chiptune::ChiptuneInstruction::new'
          ~/PX8/target/release/deps/chiptune.0.o:chiptune.cgu-0.rs:(.text._ZN8chiptune19ChiptuneInstruction3new17h94c4cab29017d817E+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.0.o): In function 'chiptune::Chiptune::get_attack':
          chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune10get_attack17h78b085e0550afebfE+0x0): multiple definition of 'chiptune::Chiptune::get_attack'
          ~/PX8/target/release/deps/chiptune.0.o:chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune10get_attack17h78b085e0550afebfE+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.0.o): In function 'chiptune::Chiptune::load_music':
          chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune10load_music17h4e4f7ae4eec1ca6dE+0x0): multiple definition of 'chiptune::Chiptune::load_music'
          ~/PX8/target/release/deps/chiptune.0.o:chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune10load_music17h4e4f7ae4eec1ca6dE+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.0.o): In function 'chiptune::Chiptune::load_sound':
          chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune10load_sound17hb00d08654c99dd5cE+0x0): multiple definition of 'chiptune::Chiptune::load_sound'
          ~/PX8/target/release/deps/chiptune.0.o:chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune10load_sound17hb00d08654c99dd5cE+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.0.o): In function 'chiptune::Chiptune::play_music':
          chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune10play_music17he3e51b63854b68e2E+0x0): multiple definition of 'chiptune::Chiptune::play_music'
          ~/PX8/target/release/deps/chiptune.0.o:chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune10play_music17he3e51b63854b68e2E+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.0.o): In function 'chiptune::Chiptune::play_sound':
          chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune10play_sound17h89180e229d1a31b3E+0x0): multiple definition of 'chiptune::Chiptune::play_sound'
          ~/PX8/target/release/deps/chiptune.0.o:chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune10play_sound17h89180e229d1a31b3E+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.0.o): In function 'chiptune::Chiptune::set_attack':
          chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune10set_attack17hab8e786883a500b3E+0x0): multiple definition of 'chiptune::Chiptune::set_attack'
          ~/PX8/target/release/deps/chiptune.0.o:chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune10set_attack17hab8e786883a500b3E+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.0.o): In function 'chiptune::Chiptune::set_volume':
          chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune10set_volume17h55dac36db74a7ecaE+0x0): multiple definition of 'chiptune::Chiptune::set_volume'
          ~/PX8/target/release/deps/chiptune.0.o:chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune10set_volume17h55dac36db74a7ecaE+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.0.o): In function 'chiptune::Chiptune::set_looping':
          chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune11set_looping17h725c38b1ae230a3cE+0x0): multiple definition of 'chiptune::Chiptune::set_looping'
          ~/PX8/target/release/deps/chiptune.0.o:chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune11set_looping17h725c38b1ae230a3cE+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.0.o): In function 'chiptune::Chiptune::get_base_note':
          chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune13get_base_note17heb8d09bb9c60899eE+0x0): multiple definition of 'chiptune::Chiptune::get_base_note'
          ~/PX8/target/release/deps/chiptune.0.o:chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune13get_base_note17heb8d09bb9c60899eE+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.0.o): In function 'chiptune::Chiptune::set_base_note':
          chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune13set_base_note17h91324f8bf55d672dE+0x0): multiple definition of 'chiptune::Chiptune::set_base_note'
          ~/PX8/target/release/deps/chiptune.0.o:chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune13set_base_note17h91324f8bf55d672dE+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.0.o): In function 'chiptune::Chiptune::get_sound_program':
          chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune17get_sound_program17h03aefbaeee646a11E+0x0): multiple definition of 'chiptune::Chiptune::get_sound_program'
          ~/PX8/target/release/deps/chiptune.0.o:chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune17get_sound_program17h03aefbaeee646a11E+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.0.o): In function 'chiptune::Chiptune::set_sound_program':
          chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune17set_sound_program17h7abd41f167fc18f7E+0x0): multiple definition of 'chiptune::Chiptune::set_sound_program'
          ~/PX8/target/release/deps/chiptune.0.o:chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune17set_sound_program17h7abd41f167fc18f7E+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.0.o): In function 'chiptune::Chiptune::get_music_position':
          chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune18get_music_position17hd220ac1130b7be44E+0x0): multiple definition of 'chiptune::Chiptune::get_music_position'
          ~/PX8/target/release/deps/chiptune.0.o:chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune18get_music_position17hd220ac1130b7be44E+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.0.o): In function 'chiptune::Chiptune::get_sound_position':
          chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune18get_sound_position17hc9e3cfbfd82c93a1E+0x0): multiple definition of 'chiptune::Chiptune::get_sound_position'
          ~/PX8/target/release/deps/chiptune.0.o:chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune18get_sound_position17hc9e3cfbfd82c93a1E+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.0.o): In function 'chiptune::Chiptune::set_player_quality':
          chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune18set_player_quality17hbccf0d97efdb8af4E+0x0): multiple definition of 'chiptune::Chiptune::set_player_quality'
          ~/PX8/target/release/deps/chiptune.0.o:chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune18set_player_quality17hbccf0d97efdb8af4E+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.0.o): In function 'chiptune::Chiptune::load_music_from_memory':
          chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune22load_music_from_memory17h926e66f2031b21a8E+0x0): multiple definition of 'chiptune::Chiptune::load_music_from_memory'
          ~/PX8/target/release/deps/chiptune.0.o:chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune22load_music_from_memory17h926e66f2031b21a8E+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.0.o): In function 'chiptune::Chiptune::load_sound_from_memory':
          chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune22load_sound_from_memory17hb366dd7d204c6c66E+0x0): multiple definition of 'chiptune::Chiptune::load_sound_from_memory'
          ~/PX8/target/release/deps/chiptune.0.o:chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune22load_sound_from_memory17hb366dd7d204c6c66E+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.0.o): In function 'chiptune::Chiptune::set_sound_program_direct':
          chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune24set_sound_program_direct17h49e20938c3b49a6cE+0x0): multiple definition of 'chiptune::Chiptune::set_sound_program_direct'
          ~/PX8/target/release/deps/chiptune.0.o:chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune24set_sound_program_direct17h49e20938c3b49a6cE+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.0.o): In function 'chiptune::Chiptune::new':
          chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune3new17hbe93d21f306c33b5E+0x0): multiple definition of 'chiptune::Chiptune::new'
          ~/PX8/target/release/deps/chiptune.0.o:chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune3new17hbe93d21f306c33b5E+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.0.o): In function 'chiptune::Chiptune::stop':
          chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune4stop17h63962358b1833fe1E+0x0): multiple definition of 'chiptune::Chiptune::stop'
          ~/PX8/target/release/deps/chiptune.0.o:chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune4stop17h63962358b1833fe1E+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.0.o): In function 'chiptune::Chiptune::pause':
          chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune5pause17hff26c68e1f98b55dE+0x0): multiple definition of 'chiptune::Chiptune::pause'
          ~/PX8/target/release/deps/chiptune.0.o:chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune5pause17hff26c68e1f98b55dE+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.0.o): In function 'chiptune::Chiptune::get_saw':
          chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune7get_saw17he3cc9e51cd9d8acaE+0x0): multiple definition of 'chiptune::Chiptune::get_saw'
          ~/PX8/target/release/deps/chiptune.0.o:chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune7get_saw17he3cc9e51cd9d8acaE+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.0.o): In function 'chiptune::Chiptune::get_tri':
          chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune7get_tri17hf763b6f732d942eeE+0x0): multiple definition of 'chiptune::Chiptune::get_tri'
          ~/PX8/target/release/deps/chiptune.0.o:chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune7get_tri17hf763b6f732d942eeE+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.0.o): In function 'chiptune::Chiptune::get_vib':
          chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune7get_vib17h0465ba4044073f02E+0x0): multiple definition of 'chiptune::Chiptune::get_vib'
          ~/PX8/target/release/deps/chiptune.0.o:chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune7get_vib17h0465ba4044073f02E+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.0.o): In function 'chiptune::Chiptune::set_saw':
          chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune7set_saw17ha33e3cb2b10fd7f8E+0x0): multiple definition of 'chiptune::Chiptune::set_saw'
          ~/PX8/target/release/deps/chiptune.0.o:chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune7set_saw17ha33e3cb2b10fd7f8E+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.0.o): In function 'chiptune::Chiptune::set_tri':
          chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune7set_tri17h1ee78228bc5042abE+0x0): multiple definition of 'chiptune::Chiptune::set_tri'
          ~/PX8/target/release/deps/chiptune.0.o:chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune7set_tri17h1ee78228bc5042abE+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.0.o): In function 'chiptune::Chiptune::set_vib':
          chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune7set_vib17hfedb6810532f0e67E+0x0): multiple definition of 'chiptune::Chiptune::set_vib'
          ~/PX8/target/release/deps/chiptune.0.o:chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune7set_vib17hfedb6810532f0e67E+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.0.o): In function 'chiptune::Chiptune::get_drum':
          chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune8get_drum17h44816495b3fe2c44E+0x0): multiple definition of 'chiptune::Chiptune::get_drum'
          ~/PX8/target/release/deps/chiptune.0.o:chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune8get_drum17h44816495b3fe2c44E+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.0.o): In function 'chiptune::Chiptune::set_drum':
          chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune8set_drum17h1bbd64fad86a6975E+0x0): multiple definition of 'chiptune::Chiptune::set_drum'
          ~/PX8/target/release/deps/chiptune.0.o:chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune8set_drum17h1bbd64fad86a6975E+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.0.o): In function 'chiptune::Chiptune::get_decay':
          chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune9get_decay17hd488d44fd850e269E+0x0): multiple definition of 'chiptune::Chiptune::get_decay'
          ~/PX8/target/release/deps/chiptune.0.o:chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune9get_decay17hd488d44fd850e269E+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.0.o): In function 'chiptune::Chiptune::get_metal':
          chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune9get_metal17h2093227ed041da7aE+0x0): multiple definition of 'chiptune::Chiptune::get_metal'
          ~/PX8/target/release/deps/chiptune.0.o:chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune9get_metal17h2093227ed041da7aE+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.0.o): In function 'chiptune::Chiptune::get_noise':
          chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune9get_noise17hef7f16529b78509eE+0x0): multiple definition of 'chiptune::Chiptune::get_noise'
          ~/PX8/target/release/deps/chiptune.0.o:chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune9get_noise17hef7f16529b78509eE+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.0.o): In function 'chiptune::Chiptune::get_pulse':
          chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune9get_pulse17hb40bcd3e0f8fb4f2E+0x0): multiple definition of 'chiptune::Chiptune::get_pulse'
          ~/PX8/target/release/deps/chiptune.0.o:chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune9get_pulse17hb40bcd3e0f8fb4f2E+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.0.o): In function 'chiptune::Chiptune::set_decay':
          chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune9set_decay17h2f6c87b7baa0a950E+0x0): multiple definition of 'chiptune::Chiptune::set_decay'
          ~/PX8/target/release/deps/chiptune.0.o:chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune9set_decay17h2f6c87b7baa0a950E+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.0.o): In function 'chiptune::Chiptune::set_metal':
          chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune9set_metal17hc08df7111e261734E+0x0): multiple definition of 'chiptune::Chiptune::set_metal'
          ~/PX8/target/release/deps/chiptune.0.o:chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune9set_metal17hc08df7111e261734E+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.0.o): In function 'chiptune::Chiptune::set_noise':
          chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune9set_noise17h681a391d0c2f1d8bE+0x0): multiple definition of 'chiptune::Chiptune::set_noise'
          ~/PX8/target/release/deps/chiptune.0.o:chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune9set_noise17h681a391d0c2f1d8bE+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.0.o): In function 'chiptune::Chiptune::set_pulse':
          chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune9set_pulse17h8920995dcb5b64cdE+0x0): multiple definition of 'chiptune::Chiptune::set_pulse'
          ~/PX8/target/release/deps/chiptune.0.o:chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune9set_pulse17h8920995dcb5b64cdE+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.0.o): In function 'chiptune::Chiptune::stop_chan':
          chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune9stop_chan17h8a725be1b21c1cd8E+0x0): multiple definition of 'chiptune::Chiptune::stop_chan'
          ~/PX8/target/release/deps/chiptune.0.o:chiptune.cgu-0.rs:(.text._ZN8chiptune8Chiptune9stop_chan17h8a725be1b21c1cd8E+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.0.o): In function 'chiptune::notename':
          chiptune.cgu-0.rs:(.text._ZN8chiptune8notename17hb75e0c13b19c560cE+0x0): multiple definition of 'chiptune::notename'
          ~/PX8/target/release/deps/chiptune.0.o:chiptune.cgu-0.rs:(.text._ZN8chiptune8notename17hb75e0c13b19c560cE+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.crate.allocator.o): In function '__rust_alloc':
          allocator:(.text.__rust_alloc+0x0): multiple definition of '__rust_alloc'
          ~/PX8/target/release/deps/chiptune.crate.allocator.o:allocator:(.text.__rust_alloc+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.crate.allocator.o): In function '__rust_alloc_excess':
          allocator:(.text.__rust_alloc_excess+0x0): multiple definition of '__rust_alloc_excess'
          ~/PX8/target/release/deps/chiptune.crate.allocator.o:allocator:(.text.__rust_alloc_excess+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.crate.allocator.o): In function '__rust_alloc_zeroed':
          allocator:(.text.__rust_alloc_zeroed+0x0): multiple definition of '__rust_alloc_zeroed'
          ~/PX8/target/release/deps/chiptune.crate.allocator.o:allocator:(.text.__rust_alloc_zeroed+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.crate.allocator.o): In function '__rust_dealloc':
          allocator:(.text.__rust_dealloc+0x0): multiple definition of '__rust_dealloc'
          ~/PX8/target/release/deps/chiptune.crate.allocator.o:allocator:(.text.__rust_dealloc+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.crate.allocator.o): In function '__rust_grow_in_place':
          allocator:(.text.__rust_grow_in_place+0x0): multiple definition of '__rust_grow_in_place'
          ~/PX8/target/release/deps/chiptune.crate.allocator.o:allocator:(.text.__rust_grow_in_place+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.crate.allocator.o): In function '__rust_oom':
          allocator:(.text.__rust_oom+0x0): multiple definition of '__rust_oom'
          ~/PX8/target/release/deps/chiptune.crate.allocator.o:allocator:(.text.__rust_oom+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.crate.allocator.o): In function '__rust_realloc':
          allocator:(.text.__rust_realloc+0x0): multiple definition of '__rust_realloc'
          ~/PX8/target/release/deps/chiptune.crate.allocator.o:allocator:(.text.__rust_realloc+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.crate.allocator.o): In function '__rust_realloc_excess':
          allocator:(.text.__rust_realloc_excess+0x0): multiple definition of '__rust_realloc_excess'
          ~/PX8/target/release/deps/chiptune.crate.allocator.o:allocator:(.text.__rust_realloc_excess+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.crate.allocator.o): In function '__rust_shrink_in_place':
          allocator:(.text.__rust_shrink_in_place+0x0): multiple definition of '__rust_shrink_in_place'
          ~/PX8/target/release/deps/chiptune.crate.allocator.o:allocator:(.text.__rust_shrink_in_place+0x0): first defined here
          ~/PX8/target/release/deps/libchiptune.a(chiptune.crate.allocator.o): In function '__rust_usable_size':
          allocator:(.text.__rust_usable_size+0x0): multiple definition of '__rust_usable_size'
          ~/PX8/target/release/deps/chiptune.crate.allocator.o:allocator:(.text.__rust_usable_size+0x0): first defined here
          collect2: error: ld returned 1 exit status

error: aborting due to previous error

error: Could not compile 'chiptune'.
warning: build failed, waiting for other jobs to finish...
error: build failed
yancharkin commented 6 years ago

Same error on Debian Stretch

doyousketch2 commented 6 years ago

Got the same error on Debian Testing. Tried all this, but didn't get much further.
Possibly running into macro expansion error, or SDL2 MIDI issues.
This is as far as I got, maybe some of this info will help someone else figure it out.

PX8/src/chiptune/src/lib.rs mentioned 'pub mod ffi;' in the first line, so I figured ffi dev headers might be used. sudo apt-get install libffi-dev

Hard to say if that had any difference. So I looked at:

/PX8/Cargo.toml
/PX8/src/chiptune/Cargo.toml
/PX8/src/plugins/lua/Cargo.toml
/PX8/src/plugins/javascript/Cargo.toml

aho-corasick 0.5.3 > 0.6.4 bitflags 0.1.1 > 1.0.1 byteorder 0.4.2 > 1.2.1 chrono 0.2.25 > 0.4.0 coco 0.1.1 > 0.3.4 fern 0.3.5 > 0.4.4 gcc 0.3 > 0.3.54 generic-array 0.2.1 > 0.9.0 image 0.14.0 > 0.18.0 inflate 0.2.0 > 0.3.3 lazy_static 0.2.9 > 1.0.0 libc 0.2.31 > 0.2.34 memchr 0.1.11 > 2.0.1 nalgebra 0.11.2 > 0.13.1 png 0.8.0 > 0.11.0 rand 0.3.18 > 0.4.1 rayon 0.8.2 > 0.9.0 regex 0.1.80 > 0.2.3 rusttype 0.2.3 > 0.3.0 sdl2 0.27.3 > 0.31.0 thread_local 0.2.7 > 0.3.5 thread-id 2.0.0 > 0.3.2 unicode-xid 0.0.4 > 0.1.0

[dependencies.sdl2] version = "0.31.0" default-features = false features = ["ttf","image","gfx","mixer"]

gcc::Config > gcc::Build

delete:

/target dir
/PX8/Cargo.lock
/PX8/src/plugins/lua/Cargo.lock

/PX8/src/plugins/lua/lua-source/
make clean && make linux

PX8/src/chiptune/libksnd-source/src/
make clean && make

cargo build --features="cpython px8_plugin_lua" --verbose --release

   Compiling px8_plugin_lua v0.0.11 (/PX8/src/plugins/lua)
error: no rules expected the token `flags`
   --> src/plugins/lua/src/wrapper/state.rs:243:3
    |
243 |   flags HookMask: c_int {
    |   ^^^^^

error: Could not compile `px8_plugin_lua`.

Tried precompiled code from https://hallucino.itch.io/px8

./px8: error while loading shared libraries: libpython3.4m.so.1.0: cannot open shared object file: No such file or directory

sudo ln -s /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0 /usr/lib/libpython3.4m.so.1.0

./px8 -v
[2017-12-24][02:50:00][INFO] [PX8] Creating new PX8
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: "MIDI support not available"', /checkout/src/libcore/result.rs:860:4
note: Run with `RUST_BACKTRACE=1` for a backtrace.
mt12345 commented 6 years ago

any progress here?

hallucino commented 6 years ago

I did many modificqtion since that, coud you sync ?

markbreynolds commented 6 years ago

Sorry for the delay! Following the build instructions in the readme I am now able to successfully build the SDL2 version. Thanks!

hallucino commented 2 years ago

I removed it