mkdir -p ?

Ask for help regarding any technical issue or report any bug or OS independent issues.
Post Reply
User avatar
SudoPlatypus
Novice
Novice
Posts: 220
Joined: 06 Jun 2011, 17:53
Contact:

mkdir -p ?

Post by SudoPlatypus »

.
Last edited by SudoPlatypus on 04 Apr 2013, 01:43, edited 1 time in total.
The Mouboo was. The Mouboo is. The Mouboo ever shall be. Drop candies and rejoice.
Most leveled character: Qwerty Dragon is 99
User avatar
tux9th
TMW Adviser
TMW Adviser
Posts: 428
Joined: 09 Mar 2012, 20:21
Location: -67.067433,54.433587

Re: mkdir -p ?

Post 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?
User avatar
o11c
Grand Knight
Grand Knight
Posts: 2262
Joined: 20 Feb 2011, 21:09
Location: ^ ^

Re: mkdir -p ?

Post 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
Former programmer for the TMWA server.
User avatar
SudoPlatypus
Novice
Novice
Posts: 220
Joined: 06 Jun 2011, 17:53
Contact:

Re: mkdir -p ?

Post by SudoPlatypus »

.
Last edited by SudoPlatypus on 04 Apr 2013, 01:42, edited 1 time in total.
The Mouboo was. The Mouboo is. The Mouboo ever shall be. Drop candies and rejoice.
Most leveled character: Qwerty Dragon is 99
User avatar
o11c
Grand Knight
Grand Knight
Posts: 2262
Joined: 20 Feb 2011, 21:09
Location: ^ ^

Re: mkdir -p ?

Post 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.
Former programmer for the TMWA server.
Frost
TMW Adviser
TMW Adviser
Posts: 851
Joined: 09 Sep 2010, 06:20
Location: California, USA

Re: mkdir -p ?

Post by Frost »

Qwerty Dragon wrote:Is someone a grouch?
o11c wrote:Wow, you have a small screen. MRRRROOWWWW HISSSSSS
:lol: :lol: :lol:
User avatar
Try-zar
Peon
Peon
Posts: 34
Joined: 08 Jul 2010, 07:01
Location: South Africa
Contact:

Re: mkdir -p ?

Post 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.
lolo
Newly Registered User
Posts: 2
Joined: 06 Aug 2012, 02:00

Re: mkdir -p ?

Post 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
Doofus
Peon
Peon
Posts: 28
Joined: 06 Sep 2012, 03:57

Re: mkdir -p ?

Post 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.
User avatar
o11c
Grand Knight
Grand Knight
Posts: 2262
Joined: 20 Feb 2011, 21:09
Location: ^ ^

Re: mkdir -p ?

Post 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
Former programmer for the TMWA server.
Post Reply