Page 1 of 1

mkdir -p ?

Posted: 11 Sep 2012, 07:24
by SudoPlatypus
.

Re: mkdir -p ?

Posted: 11 Sep 2012, 10:25
by tux9th

Code: Select all

mkdir -p obj/{common,login,char,map,ladmin,tool}
is one command.
mkdir is make direcotry
option -p:
Man Page wrote: -p, --parents
no error if existing, make parent directories as needed
This command creates the directory obj and in the dir obj it creates the dirs in the { }

If you do this command and then do you will see:

Code: Select all

~$ cd obj
~/obj$ ls
common login char map ladmin tool
This creates all the directories needed for the make.
You only need to do this if you don't have Make 3.82 and higher. (if you're using ubuntu 10.04 you def. do not have Make 3.82

Every line goes in one line. I don't really see how that's confusing.
  • mkdir -p obj/{common,login,char,map,ladmin,tool} [Press Return]
  • make [Press Return]
  • sudo make install [Press Return]
and forth...

Are there any questions left?

Re: mkdir -p ?

Posted: 11 Sep 2012, 19:11
by o11c
When I wrote that I thought that make 3.82 would quickly be picked up by all the major distros. As it turns out, it has been picked up by every distro *except* Debian and its children. (Even Slackware, which is used on Platinum, has it)

Since Debian is kind of hard to ignore as a target, i'll probably eliminate the need for it.

I have a WIP rewrite of the build system that could be used to avoid the need for it, but it needs some refactoring and then some testing.

Using the mkdir command does not hurt if you do have make 3.82

Re: mkdir -p ?

Posted: 12 Sep 2012, 02:27
by SudoPlatypus
.

Re: mkdir -p ?

Posted: 12 Sep 2012, 03:47
by o11c
Wow, you have a small screen.

By my count, your screen must drop to 763 pixels before the command wraps (comfortably less than the smallest common (but fairly rare) size of 800 pixels (a width of 1024 is a much more common minimum goal)), and only for the brief range of 716-718 pixels is the specific wrapping as indicated in the screenshot.

Re: mkdir -p ?

Posted: 12 Sep 2012, 07:33
by Frost
Qwerty Dragon wrote:Is someone a grouch?
o11c wrote:Wow, you have a small screen. MRRRROOWWWW HISSSSSS
:lol: :lol: :lol:

Re: mkdir -p ?

Posted: 14 Sep 2012, 07:15
by Try-zar
I found another small issue with older git versions (yet another thorn added by Debian and it's children) where it doesn't clone recursively (as in --recursive isn't supported). I worked around this by using git submodule update in main directory to make it grab the recursive repositories. Somebody may want to note that on the wiki.

Re: mkdir -p ?

Posted: 04 Oct 2012, 04:56
by lolo
Problems with debian 6
gcc -m32 -std=gnu99 -pipe -g -O2 -fstack-protector -c -o obj/login/login.o src/login/login.c
In file included from /usr/include/features.h:378,
from /usr/include/sys/types.h:27,
from src/login/login.c:4:
/usr/include/gnu/stubs.h:7:27: error: gnu/stubs-32.h: No such file or directory
make: *** [obj/login/login.o] Error 1

Re: mkdir -p ?

Posted: 04 Oct 2012, 13:20
by Doofus
One needs to keep in mind that the release cycle of make is roughly 4 years and that breaking glibc is a definite no-no and scared a lot of people off. It has a lot of backwards incompatiblities and cannot be included in a stable system until a full audit is done of existing packages. But yes I do like standards compliance and hopefully when fully implemented it will clean up some sloppy old scripts.
Would the build system potentially be improved by a configuration script that can automaticaly handle different version requirements?
/usr/include/gnu/stubs.h:7:27
It looks like this is the old problem of the system not recognising i386 header files are in a specifically architecture dependent directory. Have you got the correct -dev headers for i386 compilation? Or are you potentially cross-compiling from something non-multi-arch aware?

btw I think Qwerty's comment was not directed at o11c. Understandable the confusion all round. I have a netbook and yet often forget about how things I write might be viewed on small screens.

Re: mkdir -p ?

Posted: 04 Oct 2012, 19:42
by o11c
Doofus wrote:It has a lot of backwards incompatiblities and cannot be included in a stable system until a full audit is done of existing packages.
Everyone except Debian has done that by now.

That said, as soon as the cxx branch is stabilized, the mkdir -p thing will no longer be necessary.
Doofus wrote:Would the build system potentially be improved by a configuration script that can automaticaly handle different version requirements?
I'm working on a configure script (called attoconf - because GNU autoconf is nasty), but I'm not currently expecting to do things differently depending on versions.
Doofus wrote:
/usr/include/gnu/stubs.h:7:27
It looks like this is the old problem of the system not recognising i386 header files are in a specifically architecture dependent directory. Have you got the correct -dev headers for i386 compilation? Or are you potentially cross-compiling from something non-multi-arch aware?
It definitely is related to building 32-bit software on a 64-bit machine.

Debian 6 (stable, Squeeze) is before the multiarch packages debuted. An up-to-date Debian 7 (testing, Wheezy, in freeze for release in a few months) is the system I do most of my testing on, and works just fine.

Outdated Wheezy, or something crazy like installing some Wheezy packages on Squeeze, is likely to cause problem.
Also, make sure you don't have any broken packages on your system.

In any case, you the 'g++-multilib' package should pull in everything you need (actually only gcc-multilib right now, but the merging of the cxx branch should be happening pretty soon) if you're on amd64 (on x86 just g++; no other architecture is supported).
If that doesn't work, use a minimal testcase that fails with -m32 (looks like #include <features.h>), and go bug the people on #debian