Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 384617 - app-emulation/dynamips fails to compile (w/ can't find a register in class 'GENERAL_REGS')
Summary: app-emulation/dynamips fails to compile (w/ can't find a register in class 'G...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: x86 Linux
: Normal normal (vote)
Assignee: Tony Vroon
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-09-27 06:49 UTC by Ive
Modified: 2013-05-08 14:22 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge --info (emerge_info.log,11.87 KB, text/plain)
2011-09-27 06:51 UTC, Ive
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ive 2011-09-27 06:49:29 UTC
Trying to compile new version of dynamips-0.2.8_rc3 I always get error.



Reproducible: Always

Steps to Reproduce:
1.emerge -av dynamips
2.
3.
Actual Results:  

LANG=C  emerge -av app-emulation/dynamips

These are the packages that would be merged, in reverse order:

Calculating dependencies... done!
[ebuild     U ~] app-emulation/dynamips-0.2.8_rc3 [0.2.8_rc2-r1] 0 kB

Total: 1 package (1 upgrade), Size of downloads: 0 kB

Would you like to merge these packages? [Yes/No] 

>>> Verifying ebuild manifests

>>> Emerging (1 of 1) app-emulation/dynamips-0.2.8_rc3
 * dynamips-0.2.8-RC3-community.tar.gz RMD160 SHA1 SHA256 size ;-) ...                                                                                [ ok ]
>>> Unpacking source...
>>> Unpacking dynamips-0.2.8-RC3-community.tar.gz to /var/tmp/portage/app-emulation/dynamips-0.2.8_rc3/work
>>> Source unpacked in /var/tmp/portage/app-emulation/dynamips-0.2.8_rc3/work
>>> Preparing source in /var/tmp/portage/app-emulation/dynamips-0.2.8_rc3/work/dynamips-0.2.8-RC3-community ...
 * Applying dynamips-0.2.8_rc3-makefile.patch ...                                                                                                     [ ok ]
 * Adjusting Makefiles for X86 ...                                                                                                                    [ ok ]
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/app-emulation/dynamips-0.2.8_rc3/work/dynamips-0.2.8-RC3-community ...
>>> Source configured.
>>> Compiling source in /var/tmp/portage/app-emulation/dynamips-0.2.8_rc3/work/dynamips-0.2.8-RC3-community ...
make -j2 
make -C stable
make[1]: Entering directory `/var/tmp/portage/app-emulation/dynamips-0.2.8_rc3/work/dynamips-0.2.8-RC3-community/stable'
Linking rom2c
Compiling ../common/mempool.c
Compiling ../common/registry.c
Compiling ../common/rbtree.c
Compiling ../common/hash.c
Compiling ../common/sbox.c
Compiling ../common/utils.c
Compiling ../common/parser.c
../common/utils.c: In function 'm_fgets':
../common/utils.c:268:9: warning: ignoring return value of 'fgets', declared with attribute warn_unused_result
Compiling ../common/gen_uuid.c
Compiling ../common/plugin.c
Compiling ../common/ptask.c
Compiling ../common/timer.c
Compiling ../common/crc.c
Compiling ../common/base64.c
Compiling ../common/net.c
Compiling ../common/net_io.c
Compiling ../common/net_io_bridge.c
Compiling ../common/net_io_filter.c
Compiling ../common/atm.c
Compiling ../common/atm_vsar.c
Compiling ../common/atm_bridge.c
Compiling ../common/frame_relay.c
Compiling ../common/eth_switch.c
Compiling ../common/dynamips.c
Compiling ../common/insn_lookup.c
../common/insn_lookup.c:318:12: warning: 'ilt_dump' defined but not used
../common/insn_lookup.c: In function 'ilt_store_rfct':
../common/insn_lookup.c:352:10: warning: ignoring return value of 'fwrite', declared with attribute warn_unused_result
../common/insn_lookup.c:353:10: warning: ignoring return value of 'fwrite', declared with attribute warn_unused_result
../common/insn_lookup.c:354:10: warning: ignoring return value of 'fwrite', declared with attribute warn_unused_result
../common/insn_lookup.c:356:10: warning: ignoring return value of 'fwrite', declared with attribute warn_unused_result
Compiling vm.c
Compiling cpu.c
vm.c:114:13: warning: 'vm_object_rebuild_list' defined but not used
vm.c: In function 'vm_nvram_extract_config':
vm.c:962:10: warning: ignoring return value of 'fwrite', declared with attribute warn_unused_result
Compiling ../common/jit_op.c
Compiling mips64.c
Compiling mips64_mem.c
mips64.c: In function 'mips64_sym_load_file':
mips64.c:1091:12: warning: ignoring return value of 'fgets', declared with attribute warn_unused_result
mips64.c: In function 'mips64_restore_state':
mips64.c:767:12: warning: ignoring return value of 'fgets', declared with attribute warn_unused_result
mips64_mem.c: In function 'mips64_mts32_slow_lookup':
mips64_mem.c:391:2: warning: label 'err_address' defined but not used
Compiling mips64_cp0.c
Compiling mips64_jit.c
mips64_jit.c:257:33: warning: 'insn_jump_find' defined but not used
Compiling mips64_exec.c
mips64_jit.c: In function 'mips64_jit_run_cpu':
mips64_x86_trans.h:56:4: error: can't find a register in class 'GENERAL_REGS' while reloading 'asm'
mips64_x86_trans.h:56:4: error: 'asm' operand has impossible constraints
make[1]: *** [mips64_jit.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory `/var/tmp/portage/app-emulation/dynamips-0.2.8_rc3/work/dynamips-0.2.8-RC3-community/stable'
make: *** [dynamips.stable] Error 2
emake failed
 * ERROR: app-emulation/dynamips-0.2.8_rc3 failed (compile phase):
 *   died running emake, base_src_make
 * 
 * Call stack:
 *     ebuild.sh, line   56:  Called src_compile
 *   environment, line 2284:  Called base_src_compile
 *   environment, line  249:  Called base_src_make
 *   environment, line  287:  Called die
 * The specific snippet of code:
 *           emake "$@" || die "died running emake, $FUNCNAME";
 * 
 * If you need support, post the output of 'emerge --info =app-emulation/dynamips-0.2.8_rc3',
 * the complete build log and the output of 'emerge -pqv =app-emulation/dynamips-0.2.8_rc3'.
 * The complete build log is located at '/var/tmp/portage/app-emulation/dynamips-0.2.8_rc3/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/app-emulation/dynamips-0.2.8_rc3/temp/environment'.
 * S: '/var/tmp/portage/app-emulation/dynamips-0.2.8_rc3/work/dynamips-0.2.8-RC3-community'

>>> Failed to emerge app-emulation/dynamips-0.2.8_rc3, Log file:

>>>  '/var/tmp/portage/app-emulation/dynamips-0.2.8_rc3/temp/build.log'

 * Messages for package app-emulation/dynamips-0.2.8_rc3:

 * ERROR: app-emulation/dynamips-0.2.8_rc3 failed (compile phase):
 *   died running emake, base_src_make
 * 
 * Call stack:
 *     ebuild.sh, line   56:  Called src_compile
 *   environment, line 2284:  Called base_src_compile
 *   environment, line  249:  Called base_src_make
 *   environment, line  287:  Called die
 * The specific snippet of code:
 *           emake "$@" || die "died running emake, $FUNCNAME";
 * 
 * If you need support, post the output of 'emerge --info =app-emulation/dynamips-0.2.8_rc3',
 * the complete build log and the output of 'emerge -pqv =app-emulation/dynamips-0.2.8_rc3'.
 * The complete build log is located at '/var/tmp/portage/app-emulation/dynamips-0.2.8_rc3/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/app-emulation/dynamips-0.2.8_rc3/temp/environment'.
 * S: '/var/tmp/portage/app-emulation/dynamips-0.2.8_rc3/work/dynamips-0.2.8-RC3-community'
Comment 1 Ive 2011-09-27 06:51:03 UTC
Created attachment 287885 [details]
emerge --info

Currrent emerge --info from failing machine.
Comment 2 siebz0r 2011-10-31 09:21:55 UTC
Add "-fomit-frame-pointer" to your CFLAGS. This will fix it. See this thread for more details: http://forums.gentoo.org/viewtopic-t-889404-start-0.html
Comment 3 Ive 2011-10-31 10:29:49 UTC
(In reply to comment #2)
> Add "-fomit-frame-pointer" to your CFLAGS. This will fix it. See this thread
> for more details: http://forums.gentoo.org/viewtopic-t-889404-start-0.html


That works. Thank you.
Comment 4 Tony Vroon gentoo-dev 2013-05-08 14:22:10 UTC
Defaults have since been changed; GCC 4.6 will default to -fomit-frame-pointer even on 32-bit X86 machines. This means that unless you add -fno-omit-frame-pointer to CFLAGS explicitly, you can no longer hit this.