No usr src linux directory
/usr usually contains by far the largest share of data on a system. Hence, this is one of the most important directories in the system as it contains all the user binaries, their documentation, libraries, header files, etc. X and its supporting libraries can be found here. User programs like telnet, ftp, etc. are also placed here. In the original Unix implementations, /usr was where the home directories of the users were placed (that is to say, /usr/someone was then the directory now known as /home/someone). In current Unices, /usr is where user-land programs and data (as opposed to ‘system land’ programs and data) are. The name hasn’t changed, but it’s meaning has narrowed and lengthened from «everything user related» to «user usable programs and data». As such, some people may now refer to this directory as meaning ‘User System Resources’ and not ‘user’ as was originally intended.
/usr is shareable, read-only data. That means that /usr should be shareable between various FHS-compliant hosts and must not be written to. Any information that is host-specific or varies with time is stored elsewhere. Large software packages must not use a direct subdirectory under the /usr hierarchy.
Another large subdirectory structure begins here, containing libraries, executables, docs, fonts and much more concerning the X Window System. Its inclusion here is somewhat inconsistent and so is the difference between ‘/usr’ and ‘/usr/X11R6’ directories. One would assume that programs that run on X only have their files in the ‘/usr/X11R6’ hierarchy, while the others use ‘/usr’. Regrettably, it isn’t so. KDE and GNOME put their files in the ‘/usr’ hierarchy, whereas the window manager Window Maker uses ‘/usr/X11R6’. Documentation files for X11R6 are not in ‘/usr/X11R6/doc’, but primarily in ‘/usr/X11R6/lib/X11/doc’. This mess is due to the fact that in contrast to other operating systems, the graphical desktop isn’t an integral part of the system. Linux is still primarily used on servers, where graphical systems don’t make sense.
This hierarchy is reserved for the X Window System, version 11 release 6, and related files. To simplify matters and make XFree86 more compatible with the X Window System on other systems, the following symbolic links must be present if /usr/X11R6 exists:
/usr/bin/X11 -> /usr/X11R6/bin /usr/lib/X11 -> /usr/X11R6/lib/X11 /usr/include/X11 -> /usr/X11R6/include/X11
In general, software must not be installed or managed via the above symbolic links. They are intended for utilization by users only. The difficulty is related to the release version of the X Window System — in transitional periods, it is impossible to know what release of X11 is in use.
XFree86 system binaries. These are necessary for the initialisation, configuration and running of the X windowing system. X, xf86config, xauth, xmodmap and even xpenguin are located here.
XFree86 system header files. There are required for the compilation of some applications that utilise the X toolkit.
XFree86 system libraries.
XFree86 system modules. These are the modules that X loads upon startup. Without these modules video4linux, DRI and GLX extensions and drivers for certain input devices would cease to function.
XFree86 system fonts. Fonts that are utilised by ‘xfs’ (the X Font Server) and programs of that ilk.
This directory contains the vast majority of binaries on your system. Executables in this directory vary widely. For instance vi, gcc, gnome-session and mozilla and are all found here.
The central documentation directory. Documentation is actually located in /usr/share/doc and linked from here.
Theoretically, that’s another directory for configuration files. Virtually unused now.
Once upon a time, this directory contained network games files. Rarely used now.
The directory for ‘header files’, needed for compiling user space source code.
Application specific header files.
This directory used to contain the files for the info documentation system. Now they are in ‘/usr/share/info’.
This directory contains program libraries. Libraries are collections of frequently used program routines.
The original idea behind ‘/usr/local’ was to have a separate (‘local’) ‘/usr’ directory on every machine besides ‘/usr’, which might be just mounted read-only from somewhere else. It copies the structure of ‘/usr’. These days, ‘/usr/local’ is widely regarded as a good place in which to keep self-compiled or third-party programs. The /usr/local hierarchy is for use by the system administrator when installing software locally. It needs to be safe from being overwritten when the system software is updated. It may be used for programs and data that are shareable amongst a group of hosts, but not found in /usr. Locally installed software must be placed within /usr/local rather than /usr unless it is being installed to replace or upgrade software in /usr.
It once held the man pages. It has been moved to /usr/share/man.
This directory contains programs for administering a system, meant to be run by ‘root’. Like ‘/sbin’, it’s not part of a user’s $PATH. Examples of included binaries here are chroot, useradd, in.tftpd and pppconfig.
This directory contains ‘shareable’, architecture-independent files (docs, icons, fonts etc). Note, however, that ‘/usr/share’ is generally not intended to be shared by different operating systems or by different releases of the same operating system. Any program or package which contains or requires data that doesn’t need to be modified should store that data in ‘/usr/share’ (or ‘/usr/local/share’, if installed locally). It is recommended that a subdirectory be used in /usr/share for this purpose.»
Location of package specific documentation files. These directories often contain useful information that might not be in the man pages. They may also contain templates and configuration files for certain utilities making configuration that much easier.
Location of ‘info’ pages. This style of documentation seems to be largely ignored now. Manual pages are in far greater favour.
Manual pages. They are organised into 8 sections, which are explained below.
man1: User programs Manual pages that describe publicly accessible commands are contained in this chapter. Most program documentation that a user will need to use is located here. man2: System calls This section describes all of the system calls (requests for the kernel to perform operations). man3: Library functions and subroutines Section 3 describes program library routines that are not direct calls to kernel services. This and chapter 2 are only really of interest to programmers. man4: Special files Section 4 describes the special files, related driver functions, and networking support available in the system. Typically, this includes the device files found in /dev and the kernel interface to networking protocol support. man5: File formats The formats for many data files are documented in the section 5. This includes various include files, program output files, and system files. man6: Games This chapter documents games, demos, and generally trivial programs. Different people have various notions about how essential this is. man7: Miscellaneous Manual pages that are difficult to classify are designated as being section 7. The troff and other text processing macro packages are found here. man8: System administration Programs used by system administrators for system operation and maintenance are documented here. Some of these programs are also occasionally useful for normal users.
The ‘linux’ sub-directory holds the Linux kernel sources, header-files and documentation.
RPM provides a substructure for building RPMs from SRPMs. Organisation of this branch is fairly logical with packages being organised according to a package’s architecture.
A temporary store for RPM binary files that are being built from source code.
/usr/src/RPM/RPMS/athlon, /usr/src/RPM/RPMS/i386, /usr/src/RPM/RPMS/i486, /usr/src/RPM/RPMS/i586, /usr/src/RPM/RPMS/i686, /usr/src/RPM/RPMS/noarch
These directories contain architecture dependant RPM source files.
This directory contains the source TAR files, patches, and icon files for software to be packaged.
RPM SPEC files. A SPEC file is a file that contains information as well as scripts that are necessary to build a package.
Contains the source RPM files which result from a build.
Contains the source code for the Linux kernel.
The last kernel source configuration. This file is normally created through the ‘make config’, ‘make menuconfig’ or ‘make xconfig’ steps during kernel compilation.
‘make dep’ checks the dependencies of the selections you made when you created your .config file. It ensures that the required files can be found and it builds a list that is to be used during compilation. Should this process be successful these two files are created.
A partial credits-file of people that have contributed to the Linux project. It is sorted by name and formatted to allow easy grepping and beautification by scripts. The fields are: name (N), email (E), web-address (W), PGP key ID and fingerprint (P), description (D), and snail-mail address (S).
List of maintainers and details on how to submit kernel changes.
Contains data necessary for compilation of a working kernel. It allows developers and end-users to compile a kernel with a few simple steps (ie. make dep, make clean, make bzImage, make modules, make modules_install) and also not have to worry about re-compiling everything from scratch if parts of it have already been done so and are up to date.
These are the release notes for Linux version 2.4. Read them carefully, as they tell you what this is all about, explain how to install the kernel, and what to do if something goes wrong.
A suggested procedure for reporting Linux bugs. You aren’t obliged to use the bug reporting format, it is provided as a guide to the kind of information that can be useful to developers — no more.
This file contains rules which are shared between multiple Makefiles.
Contains documentation that may be necessary in order to re-compile a kernel. However, it also provides quite a lot of information about your Linux system in general as well. For those who wish to seek further information on the contents of this directory you may consult the /usr/src/linux/Documentation/00-INDEX file. Further, more detailed documentation may be found in /usr/src/linux/Documentation/Docbook. Of course, the contents of this directory is written in Docbook but may be converted to pdf, ps or html using the make targets of ‘pdfdocs’, ‘psdocs’ and ‘htmldocs’ respectively.
User space temporary files. This directory is not found on modern distributions at all and was most likely created as a consequence of Linux’s UNIX heritage.
Источник
No usr src linux directory
Calculating dependencies. done!
[ebuild N ] dev-libs/elfutils-0.183 USE=»bzip2 nls utils -lzma -static-libs -test (-threads) -valgrind -zstd» ABI_X86=»(64) -32 (-x32)»
[ebuild N ] sys-devel/bc-1.07.1-r3 USE=»readline -libedit -static»
[ebuild N ] virtual/libelf-3 ABI_X86=»(64) -32 (-x32)»
[ebuild N ] sys-kernel/gentoo-sources-5.10.27 USE=»-build -experimental -symlink»
Would you like to merge these packages? [Yes/No] y
>>> Verifying ebuild manifests
>>> Emerging (1 of 4) dev-libs/elfutils-0.183::gentoo
* Fetching files in the background.
* To view fetch progress, run in another terminal:
* tail -f /var/log/emerge-fetch.log
* elfutils-0.183.tar.bz2 BLAKE2B SHA512 size 😉 . [ ok ]
>>> Unpacking source.
>>> Unpacking elfutils-0.183.tar.bz2 to /var/tmp/portage/dev-libs/elfutils-0.183/work
>>> Source unpacked in /var/tmp/portage/dev-libs/elfutils-0.183/work
>>> Preparing source in /var/tmp/portage/dev-libs/elfutils-0.183/work/elfutils-0.183 .
* Applying elfutils-0.175-disable-biarch-test-PR24158.patch . [ ok ]
* Applying elfutils-0.177-disable-large.patch . [ ok ]
* Applying elfutils-0.180-PaX-support.patch . [ ok ]
* Applying elfutils-0.183-CC-quote.patch . [ ok ]
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/dev-libs/elfutils-0.183/work/elfutils-0.183 .
* abi_x86_64.amd64: running multilib-minimal_abi_src_configure
* econf: updating elfutils-0.183/config/config.sub with /usr/share/gnuconfig/config.sub
* econf: updating elfutils-0.183/config/config.guess with /usr/share/gnuconfig/config.guess
/var/tmp/portage/dev-libs/elfutils-0.183/work/elfutils-0.183/configure —prefix=/usr —build=x86_64-pc-linux-gnu —host=x86_64-pc-linux-gnu —mandir=/usr/share/man —infodir=/usr/share/info —datadir=/usr/share —sysconfdir=/etc —localstatedir=/var/lib —disable-dependency-tracking —disable-silent-rules —docdir=/usr/share/doc/elfutils-0.183 —htmldir=/usr/share/doc/elfutils-0.183/html —libdir=/usr/lib64 —enable-nls —disable-thread-safety —disable-valgrind —disable-debuginfod —disable-libdebuginfod —program-prefix=eu- —with-zlib —with-bzlib —without-lzma —without-zstd
checking for a BSD-compatible install. /usr/lib/portage/python3.8/ebuild-helpers/xattr/install -c
checking whether build environment is sane. yes
checking for a thread-safe mkdir -p. /bin/mkdir -p
checking for gawk. gawk
checking whether make sets $(MAKE). yes
checking whether make supports nested variables. yes
checking whether to enable maintainer-specific portions of Makefiles. no
checking whether make supports nested variables. (cached) yes
checking build system type. x86_64-pc-linux-gnu
checking host system type. x86_64-pc-linux-gnu
checking for x86_64-pc-linux-gnu-gcc. x86_64-pc-linux-gnu-gcc
checking whether the C compiler works. no
configure: error: in `/var/tmp/portage/dev-libs/elfutils-0.183/work/elfutils-0.183-abi_x86_64.amd64′:
configure: error: C compiler cannot create executables
See `config.log’ for more details
. Please attach the following file when seeking support:
. /var/tmp/portage/dev-libs/elfutils-0.183/work/elfutils-0.183-abi_x86_64.amd64/config.log
* ERROR: dev-libs/elfutils-0.183::gentoo failed (configure phase):
* econf failed
*
* Call stack:
* ebuild.sh, line 125: Called src_configure
* environment, line 2111: Called multilib-minimal_src_configure
* environment, line 1461: Called multilib_foreach_abi ‘multilib-minimal_abi_src_configure’
* environment, line 1714: Called multibuild_foreach_variant ‘_multilib_multibuild_wrapper’ ‘multilib-minimal_abi_src_configure’
* environment, line 1391: Called _multibuild_run ‘_multilib_multibuild_wrapper’ ‘multilib-minimal_abi_src_configure’
* environment, line 1389: Called _multilib_multibuild_wrapper ‘multilib-minimal_abi_src_configure’
* environment, line 411: Called multilib-minimal_abi_src_configure
* environment, line 1455: Called multilib_src_configure
* environment, line 1926: Called econf ‘—enable-nls’ ‘—disable-thread-safety’ ‘—disable-valgrind’ ‘—disable-debuginfod’ ‘—disable-libdebuginfod’ ‘—program-prefix=eu-‘ ‘—with-zlib’ ‘—with-bzlib’ ‘—without-lzma’ ‘—without-zstd’
* phase-helpers.sh, line 680: Called __helpers_die ‘econf failed’
* isolated-functions.sh, line 112: Called die
* The specific snippet of code:
* die «$@»
*
* If you need support, post the output of `emerge —info ‘=dev-libs/elfutils-0.183::gentoo’`,
* the complete build log and the output of `emerge -pqv ‘=dev-libs/elfutils-0.183::gentoo’`.
* The complete build log is located at ‘/var/tmp/portage/dev-libs/elfutils-0.183/temp/build.log’.
* The ebuild environment file is located at ‘/var/tmp/portage/dev-libs/elfutils-0.183/temp/environment’.
* Working directory: ‘/var/tmp/portage/dev-libs/elfutils-0.183/work/elfutils-0.183-abi_x86_64.amd64’
* S: ‘/var/tmp/portage/dev-libs/elfutils-0.183/work/elfutils-0.183’
>>> Failed to emerge dev-libs/elfutils-0.183, Log file:
* Messages for package dev-libs/elfutils-0.183:
* ERROR: dev-libs/elfutils-0.183::gentoo failed (configure phase):
* econf failed
*
* Call stack:
* ebuild.sh, line 125: Called src_configure
* environment, line 2111: Called multilib-minimal_src_configure
* environment, line 1461: Called multilib_foreach_abi ‘multilib-minimal_abi_src_configure’
* environment, line 1714: Called multibuild_foreach_variant ‘_multilib_multibuild_wrapper’ ‘multilib-minimal_abi_src_configure’
* environment, line 1391: Called _multibuild_run ‘_multilib_multibuild_wrapper’ ‘multilib-minimal_abi_src_configure’
* environment, line 1389: Called _multilib_multibuild_wrapper ‘multilib-minimal_abi_src_configure’
* environment, line 411: Called multilib-minimal_abi_src_configure
* environment, line 1455: Called multilib_src_configure
* environment, line 1926: Called econf ‘—enable-nls’ ‘—disable-thread-safety’ ‘—disable-valgrind’ ‘—disable-debuginfod’ ‘—disable-libdebuginfod’ ‘—program-prefix=eu-‘ ‘—with-zlib’ ‘—with-bzlib’ ‘—without-lzma’ ‘—without-zstd’
* phase-helpers.sh, line 680: Called __helpers_die ‘econf failed’
* isolated-functions.sh, line 112: Called die
* The specific snippet of code:
* die «$@»
*
* If you need support, post the output of `emerge —info ‘=dev-libs/elfutils-0.183::gentoo’`,
* the complete build log and the output of `emerge -pqv ‘=dev-libs/elfutils-0.183::gentoo’`.
* The complete build log is located at ‘/var/tmp/portage/dev-libs/elfutils-0.183/temp/build.log’.
* The ebuild environment file is located at ‘/var/tmp/portage/dev-libs/elfutils-0.183/temp/environment’.
* Working directory: ‘/var/tmp/portage/dev-libs/elfutils-0.183/work/elfutils-0.183-abi_x86_64.amd64’
* S:
* ‘/var/tmp/portage/dev-libs/elfutils-0.183/work/elfutils-0.183’
Then I ran this: «ls -l /usr/src/linux» and it produced this:
Код: |
ls: cannot access ‘/usr/src/linux’: No such file or directory |
Then I ran this: «dispatch-conf»
Then I ran this again: «ls -l /usr/src/linux» which produced the same result as the first few times, as seen here:
Код: |
‘/usr/src/linux’: No such file or directory’/usr/src/linux’ |
I’m kind of stuck here, so any help or advise would be greatly appreciated, and rewarded with 1000 karma tokens(fully redeemable in the next life ).
[Moderator edit: changed [q uote] tags to [c ode] tags to preserve output layout. -Hu]
l33t
Зарегистрирован: 17 окт 2006
Сообщений: 942
Откуда: Bavaria
Добавлено: пн апр 26, 2021 11:54 pm Заголовок сообщения: | |||||
Hello JHannon, Welcome to Gentoo ! The most important information you got is:
This means you have probably a problem in your make.conf. The most often error was typing a wrong statement for:
(It is NOT zero-two; it is the alphabetic character «O») If this is not your problem, we need the output of your «emerge —info». |
Veteran
Зарегистрирован: 14 авг 2005
Сообщений: 1833
Откуда: Edge of the Marsh USA
Добавлено: вт апр 27, 2021 3:14 am Заголовок сообщения: | |||
Once you DO get gentoo-sources installed, by default, YOU have to create the symbolic link (symlink) /usr/src/linux to point to the directory containing the new sources, i.e., as root, from within the the /usr/src directory, do:
Only then can you enter /usr/src/linux and configure, compile, and install a kernel. |
Watchman
Зарегистрирован: 25 июл 2006
Сообщений: 5064
Откуда: Illinois, USA
Добавлено: вт апр 27, 2021 6:52 am Заголовок сообщения: | ||||||||||
Or use «eselect kernel» which sets the link. On a new insall I suppose the link won’t be there.
Best to do this as root instead of sudo. Solely because you probably want to procede with actually building the kernel.
|
Administrator
Зарегистрирован: 05 июл 2003
Сообщений: 49002
Откуда: 56N 3W
Добавлено: вт апр 27, 2021 9:32 am Заголовок сообщения: | |||
JHannon, Welcome to Gentoo
Notice the USE=-symlink. You did not ask for a symlink so you don’t have one. The symlink is only used by the system to build external kernel modules. It points to the kernel that the modules are to be built for. Unless you have external kernel modules, its not actually required. Computer users fall into two groups:- |
l33t
Зарегистрирован: 17 окт 2006
Сообщений: 942
Откуда: Bavaria
Добавлено: вт апр 27, 2021 10:00 am Заголовок сообщения: | |
@Neddy and @Tony: Please dont forget, he didnt installed the gentoo-sources right now, because of another problem. Linking the directory comes later (for this I recommend Tonys «eselect kernel list»). But before we have to find out why his emerge could not find the compiler. |
Administrator
Зарегистрирован: 05 июл 2003
Сообщений: 49002
Откуда: 56N 3W
Добавлено: вт апр 27, 2021 10:14 am Заголовок сообщения: | |
pietinger, Agreed. The symlink would not be there anyway. Computer users fall into two groups:- |
Moderator
Зарегистрирован: 06 мар 2007
Сообщений: 17857
Добавлено: вт апр 27, 2021 5:55 pm Заголовок сообщения: Re: C compiler cannot create executables | |||
Always read in full the output you post here, looking for advice printed by the system itself. In this case, it told you certain things to post, and you did not provide them. As a result, the first responses to your thread were people asking you to provide that information. If you had posted that information initially, the first response to your post could have been a solution to your problem. |
n00b
Зарегистрирован: 25 апр 2021
Сообщений: 2
Добавлено: ср апр 28, 2021 11:56 pm Заголовок сообщения: | |||||
@pietinger, At first I it reported back, that no such file or directory exists. I was working from a terminal that is chrooted, within the mounted partition. I opened another that wasn’t, then navigated to the file here: /mnt/gentoo/etc/portage/make.conf within the live ubuntu spin. I’m not sure if not being able to see or access it from where I’m chrooted has anything to do with my issue. This what it showed:
@Neddy and @Tony, If I’m trying to establish a symbolic link, should I do it under chroot, or does it not matter? Or is it as what I believe Pietinger is saying, as in I’m not at that step yet? @Hu, You’ll have to excuse my ignorance, but is this what I should be posting?
Thanks to all of you, and the use of your time. Please excuse my slow response, along with my ignorance. If you think I’m missing something about the theory of what I’m trying to do, let me know. [Moderator edit: changed [q uote] tags to [c ode] tags to preserve output layout. -Hu] |
Veteran
Зарегистрирован: 17 июн 2015
Сообщений: 1369
Откуда: EU or US
Добавлено: чт апр 29, 2021 12:20 am Заголовок сообщения: | |
Correct is ‘-march=native’, you have ‘march=native’. Fix it and try emerging gentoo-sources again. _________________ Life is a tragedy for those who feel and a comedy for those who think. |
Moderator
Зарегистрирован: 06 мар 2007
Сообщений: 17857
Добавлено: чт апр 29, 2021 1:15 am Заголовок сообщения: | |||||
A symlink can be created from within or without, since the link can point to a target that does not exist yet, but will exist by the time it is needed. Either way, take care to point the symlink to the correct target. A dangling symlink is (usually) not useful for anything.
It is one of the things, yes. The output also referred you to config.log , which you have not shared. (You will usually need a pastebin for that type of log, due to the sheer size.) Fortunately, the output you shared in the post I am quoting was sufficient to spot a problem. As Buffoon says, your CFLAGS are incorrect, so any attempt to invoke a C compiler will fail. His advice looks correct to me. Please try it and report back. |
Список форумов: Gentoo Forums | Часовой пояс: GMT | |
Страница 1 из 1 |
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах |