Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
C Compiler Can't Create Executables [solved]
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Gentoo on AMD64
View previous topic :: View next topic  
Author Message
LIsLinuxIsSogood
Veteran
Veteran


Joined: 13 Feb 2016
Posts: 1179

PostPosted: Mon Jun 12, 2017 2:57 pm    Post subject: C Compiler Can't Create Executables [solved] Reply with quote

I am attempting to emerge this package (sys-apps/sandbox) and running into C compiler errors. From looks at the recent portage log, something is causing this thing to not compile accurately so I was wondering if there might be a thought of how to address this. I am not completely confident in dealing with patches, yet. Any suggestion would be appreciated.



Code:
configure: error: in `/var/tmp/portage/sys-apps/sandbox-2.6-r1/work/build-x86':
checking for x86_64-pc-linux-gnu-gcc option to accept ISO C89... configure: erro
r: C compiler cannot create executables
See `config.log' for more details



Code:
│Call stack:
│    ebuild.sh, line  115:  Called src_compile
│  environment, line 2528:  Called multijob_child_init 'sb_configure'
│  environment, line 1953:  Called sb_configure
│  environment, line 2488:  Called die

The specific snippet of code:         
    ECONF_SOURCE="../${P}/" econf ${myconf} || die 



Here is some more info from elogv

Could one issue be I am unaware of the difference between several of the features listed,:
Code:

USE:        abi_x86_64 amd64 elibc_glibc kernel_linux multilib policykit userland_GNU
FEATURES:   preserve-libs sandbox userpriv usersandbox


[Moderator edit: changed [quote] tags to [code] tags to preserve output layout. -Hu]


Last edited by LIsLinuxIsSogood on Sat Jun 24, 2017 12:08 am; edited 1 time in total
Back to top
View user's profile Send private message
John R. Graham
Administrator
Administrator


Joined: 08 Mar 2005
Posts: 10589
Location: Somewhere over Atlanta, Georgia

PostPosted: Mon Jun 12, 2017 4:44 pm    Post subject: Reply with quote

Split to a new topic as it's, well, a new topic.

Might want to look at the config.log as the error messages suggest.

- John
_________________
I can confirm that I have received between 0 and 499 National Security Letters.
Back to top
View user's profile Send private message
krinn
Watchman
Watchman


Joined: 02 May 2003
Posts: 7470

PostPosted: Mon Jun 12, 2017 8:57 pm    Post subject: Reply with quote

Well, as John R. Graham said, the config.log is what could help us, but for your specific case : sandbox you could just start to read what it is telling you, because sandbox specifically output an error message AND howto solve it about a gcc error with this package.
If this doesn't work, config.log...
Back to top
View user's profile Send private message
LIsLinuxIsSogood
Veteran
Veteran


Joined: 13 Feb 2016
Posts: 1179

PostPosted: Tue Jun 13, 2017 4:16 am    Post subject: Reply with quote

Ok, here is the config.log https://paste.pound-python.org/show/ffaR3tBWeQrVIqCaVFQx/

I guess going through all of this seems like it should only take a short amount of time, what exactly would I be searching for in terms of C compiling error assuming the log shows that kind of stuff, and does it?

Something else that I'm not sure if matters is whether I should update gcc, currently not on the newest most stable release. Typically before updating (even for a stable release) I would be curious to know whether this could solve the problem or not...

emerge -s sys-devel/gcc SHOWS:

Code:
*  sys-devel/gcc
      Latest version available: 5.4.0-r3
      Latest version installed: 4.9.3
      Size of files: 93,468 KiB
      Homepage:      https://gcc.gnu.org/
      Description:   The GNU Compiler Collection
      License:       GPL-3+ LGPL-3+ || ( GPL-3+ libgcc libstdc++ gcc-runtime-library-exception-3.1 ) FDL-1.3+


Does this seem like the right place to begin - any help is appreciated thanks
Back to top
View user's profile Send private message
fedeliallalinea
Administrator
Administrator


Joined: 08 Mar 2003
Posts: 30905
Location: here

PostPosted: Tue Jun 13, 2017 5:58 am    Post subject: Reply with quote

Why you try to install a old version of sandbox? Last stable version is sys-apps/sandbox-2.10-r3.
The problem is probably abi_x86_32 use flag.
When I try, on my system, to emerge sandbox-2.6-r1 I see that abi_x86_32 use flag was removed
Code:
# emerge =sys-apps/sandbox-2.6-r1 -p

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

Calculating dependencies... done!
[ebuild     UD ] sys-apps/sandbox-2.6-r1::gentoo [2.10-r3::gentoo] USE="(multilib%*)" ABI_X86="(-32%*) (-64%*) (-x32%)" 358 KiB

_________________
Questions are guaranteed in life; Answers aren't.
Back to top
View user's profile Send private message
Hu
Moderator
Moderator


Joined: 06 Mar 2007
Posts: 21621

PostPosted: Wed Jun 14, 2017 1:31 am    Post subject: Reply with quote

Please post the output of emerge --verbose --info sys-devel/gcc sys-libs/glibc sys-apps/sandbox. You appear to have some sort of multilib problem, which is a bit odd based on the information provided so far.
Back to top
View user's profile Send private message
LIsLinuxIsSogood
Veteran
Veteran


Joined: 13 Feb 2016
Posts: 1179

PostPosted: Wed Jun 14, 2017 6:54 am    Post subject: Reply with quote

I suppose the multilib issue could be summed up by suggesting when I first installed the system I recall using a no-multilib profile (not sure how to check this though)...perhaps some old build logs could have an answer buried in there. But then, at some point I tried to install some native 32-bit, which was no good with the ABI_x86_32 flag. I don't know if that could be the only thing contributing, but the only other thing I tend to switch profiles around, since a long time ago choosing to go with a desktop profile, and then most recently while installing LXqt changed it again. On a positive note, I'm currently compiling gcc using the no-multilib profile, and seems to be running further than it did before. But I might not know for sure, until I've been able to reinstall it with sandbox and hope that there is no real damage in building or compiling without that feature for now. Here is the output, with no sandbox as I have unmerged that package, before knowing the important feature that is provided when installing new packages.

https://paste.pound-python.org/show/RUSFgvEa0YKZIzcZQFFc/
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54232
Location: 56N 3W

PostPosted: Wed Jun 14, 2017 9:23 am    Post subject: Reply with quote

LIsLinuxIsSogood,

Its not possible to switch from no-multilib to a multilib profile for lots of reasons.
Its a reinstall.

The other way works. It abandons the 32 bit libraries in your install.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
LIsLinuxIsSogood
Veteran
Veteran


Joined: 13 Feb 2016
Posts: 1179

PostPosted: Mon Jun 19, 2017 2:53 am    Post subject: Reply with quote

I got sandbox installed along with the latest stable release for GCC, its 5.3.'something' I believe :)

Thanks to those clarifying for me that to switch was possible only from a multilib to a no multilib. I guess I was hoping to get two big system upgrades at once, ha...but from reading it again I believe the logic is sound and that since no multilib is just like removal of files but the other way is a complicated matter of many installs, which is not as simple as uninstalling, or in gentoo speak merging/unmerging. Cool.
Back to top
View user's profile Send private message
LIsLinuxIsSogood
Veteran
Veteran


Joined: 13 Feb 2016
Posts: 1179

PostPosted: Fri Jun 23, 2017 10:33 pm    Post subject: Reply with quote

NeddySeago - thanks, I just posted the same or similar question, but I did want to say thanks for your response it makes sense. When you say a reinstall, what exactly are we talking about here. If it is the entire thing, then not only is that a lot of work and time, but it also means that I will need to in theory back up all my personal files, as well as my /opt/ directory where I have much software installed from source. I am really trying to figure out if your advice is to install linux over again, or reinstall some portion of it perhaps.

And of course a since i did make progress with the installation under nomiltilib i am marking it solved too.
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54232
Location: 56N 3W

PostPosted: Sat Jun 24, 2017 8:07 am    Post subject: Reply with quote

LIsLinuxIsSogood,

The on disk layout of mulitlib and no-multilib is different, so that the 32 and 64 bit versions of libraries are kept separate.
The multilib toolchain can build 32 bit software. It requires some 32 bit libraries that cannot be installed on a no-multilib system.

Changing from no-multilib to mulitlib is not simple, so a reinstall is the way to go.

There is a half way house.
Your no-multilib install will support a 32 bit chroot or a multilib chroot. The no-multilib install needs 32 bit support in the kernel.
You still do another install though.

If you reinstall, there is no need to wipe your system and start over. You can perform a multiboot install.
That way you migrate slowly. Make some space beside your existing install, do a multilib install in the free space and migrate to it.

There are very few 32 bit only open source applications these days. WINE and Skype come to mind but 32 bit Skype is end of life.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
Hu
Moderator
Moderator


Joined: 06 Mar 2007
Posts: 21621

PostPosted: Sat Jun 24, 2017 5:07 pm    Post subject: Reply with quote

As I understand it, Wine is a bit of a special case. Wine can be built for 64-bit only, but you need a Wine of the same bitness as the Windows program that you want to wrap. Most, although not all, Windows software is 32-bit (and this becomes more true as you go farther back in history, since Win64 can run Win32 programs, so vendors often opted to ship only Win32 and rely on the WOW64 compatibility layer to keep their Win64 users happy), so a 32-bit Wine is usually what you want. However, some newer Windows programs are available as Win64 programs, which you would need a 64-bit Wine to wrap. If you only want to wrap 64-bit Windows programs, a 64-bit only Wine should work.
Back to top
View user's profile Send private message
LIsLinuxIsSogood
Veteran
Veteran


Joined: 13 Feb 2016
Posts: 1179

PostPosted: Sun Jun 25, 2017 1:24 am    Post subject: Reply with quote

Quote:
The no-multilib install needs 32 bit support in the kernel.
You still do another install though.


Is this for no-multilib 32 bit only!!! How does that happen? Won't there be hardware issues when chrooting from 64-bit to 32-bit, unless the kernel knows to "rescan" and rediscover every piece of hardware then what, I can only run whatever programs I have within the chroot (no 64-bit obviously), but what about packages that are not purely 64-bit, but have both? How does portage know where to install it, I assume by whatever means it would otherwise...but does that mean that the same package has to be installed twice, and what if in the 64-bit system or my current OS it would present a challenge of keeping things working? I am very intimidated by this method, if for no other reason than it feels like it could cause breaks in the current installation I'm working with. I am intrigued to know how I might do this on another machine though, and whether or not the multi-boot install is the way to go, or just a fresh multilib for a server that will basically be there to host my wild crazy experiments with gaming, a/v streaming and other fun stuff like that. 32-bit is almost a requirement when working in that context, even though 64-bit even more is.

Ty
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54232
Location: 56N 3W

PostPosted: Sun Jun 25, 2017 9:17 am    Post subject: Reply with quote

LIsLinuxIsSogood,

To chroot into a 32 bit chroot from a 64 bit install you do
Code:
linux32 chroot ...
The existing kernel and drivers look after the hardware.
Its a chroot, not a full install.

Yes, you only run whatever is in the chroot but it can be a 64 bit multilib chroot. It need not be a pure 32 bit chroot. It can be either.
Lets make it harder, just for the though experiment. Let the chroot be for a completely different architecture. Say arm.
There are additional steps to perform the chroot but portage keeps things entirely separate. Anything you do inside the chroot stays there.
Anything you do outside the chroot stays there.
It does mean that if you want programs in both places, they must be installed twice. The chroot is in effect, a non bootable install.
Staying with the thought experiment, mixing up arm and amd64 binaries make a mess. You would soon notice.

From your
LIsLinuxIsSogood wrote:
I am intrigued to know how I might do this on another machine though, and whether or not the multi-boot install is the way to go, or just a fresh multilib for a server that will basically be there to host my wild crazy experiments with gaming, a/v streaming and other fun stuff like that. 32-bit is almost a requirement when working in that context, even though 64-bit even more is.
I would encoulage you down the path of multibooting. That offers the possibility of migrating from no-multilib to multilib.

Make some space beside your current install and do a new multilib install. Share /boot and if you do not hibernate, swap, and /tmp. You can only share /home if you use separate user names in each install.
Do a new install here and gradually abandon your no-multilib install. You can move its space over later.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
LIsLinuxIsSogood
Veteran
Veteran


Joined: 13 Feb 2016
Posts: 1179

PostPosted: Mon Jun 26, 2017 1:03 am    Post subject: Reply with quote

I appreciate the responsiveness to my questions, which makes good sense. But what appears very confusing to me at the end of the post is with what is the point of a multiboot installation. Whatever that refers to is it users or libraries, or what else that gets effected.

Please let me know if I am in some way off base with this but my assumption about a related matter of architecture is that within new mswindow system like 32 bit on top of 64 bit and whether or not the chroot explanation that is provided (and whoch i really liked) accounts for this ability to run windows 32-bit applications as well on 64-bit linux.

I just installed wine and probably stuck with a 32-bit version of office, which is where I will find Excel. That is if i dont instead go the route of virtualizing windows if that may be easier.
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54232
Location: 56N 3W

PostPosted: Mon Jun 26, 2017 8:01 am    Post subject: Reply with quote

LIsLinuxIsSogood,

A multiboot install is two or more separate installs on the same system.
You choose at boot time which one to run.

The differences are clearer if the boot options are, say, Gentoo or Windows but the concept is the same for any number of different intstalls.
The suggestion in my last post is that you have two Gentoo installs, your existing no-multilib and a new multilib install. You choose at boot time which to run and migrate slowly (over weeks?) to the new multilib install and eventually, remove the no-multilib install. The space can then be added to your new install.
The point is that you get time to migrate. Its still start over but now there is no hurry.

Both Windows and Gentoo multilib have some way of keeping 32 bit and 64 bit code separate. It means somehow (I don't know how windows does it) you get 32 bit and 64 copies of libraries. Gentoo keeps them in separate directories. Its also possible to keep them within the same binary.

Virtualising windows works too. I have virtualbox-bin on my no-multilib install. You cannot build virtualbox from source on no-multilib but the -bin works well.
I have a very old Win7 and even older WinXP there, along with lots of other junk.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
LIsLinuxIsSogood
Veteran
Veteran


Joined: 13 Feb 2016
Posts: 1179

PostPosted: Thu Jun 29, 2017 7:27 am    Post subject: Reply with quote

Well, if it is a windows product then it is difficult to not commiserate it. But nonetheless that's what I have to try, now on to try my luck with Excel -- even though it seems sort of crazy that I would be asking for a Windows product!! This one just seems to explain a lot MS Office :-/

Thanks for all the help and I'll keep it in mind. Next time I install will probably have to perform some file/folder syncs and perhaps keeping the separate libs is a way of making it possible to sync more across two different platforms. Might it be a reason, or especially useful when trying to interface with the newer equipment for the old equipment to be able to also have similar code (in the form of bins and whatever in the older architecture before the most recent bump up to 64-bit.

Anyway, I will take this as a clear sign of NOT transitioning the system, ever. But rather as you said building a new one and migrating the data over time. Thanks NeddySeagoon!

:wink:
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Gentoo on AMD64 All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum