Re: [gentoo-user] USE flags handling

2014-08-04 Thread Neil Bothwick
On Mon, 4 Aug 2014 04:39:45 +0100, Stroller wrote:

 I have to confess, I don't follow desktop development to know myself
 what Phonon means.
 
 The page linked to in the package description for media-libs/phonon is,
 unsurprisingly, uninformative:
 https://projects.kde.org/projects/kdesupport/phonon

http://en.wikipedia.org/wiki/Phonon_(software)


-- 
Neil Bothwick

A bit of tolerance is worth a megabyte of flaming. -- Henry Spencer


signature.asc
Description: PGP signature


Re: [gentoo-user] USE flags handling

2014-08-04 Thread Neil Bothwick
On Mon, 4 Aug 2014 08:26:59 +0100, Neil Bothwick wrote:

  I have to confess, I don't follow desktop development to know myself
  what Phonon means.
  
  The page linked to in the package description for media-libs/phonon
  is, unsurprisingly, uninformative:
  https://projects.kde.org/projects/kdesupport/phonon  
 
 http://en.wikipedia.org/wiki/Phonon_(software)

Or follow the links in the kde.org page and after four or so clicks you
end up with the information you expected to find in the first place

https://userbase.kde.org/Phonon


-- 
Neil Bothwick

IBM - Incredibly Bastardized Multitasking...


signature.asc
Description: PGP signature


[gentoo-user] Re: Recommendations for scheduler

2014-08-04 Thread Martin Vaeth
J. Roeleveld jo...@antarean.org wrote:

 With the kind of schedules I am working with (and I believe Alan will
 also end up with), restarting the whole process from the start can
 lead to issues.
 Finding out how far the process got before the service crashed can become
 rather complex.

I am not sure whether I understand this correctly:
schedule has not a problem to display which tasks have
finished/failed/are still running at any time.
Of course, a finer granulation than tasks are not possible (how far
has a certain task got?) because this would require knowledge
about the task and how to check it - you need to be able to
split your tasks into more shell commands to make a finer granulation
available for schedule.

You can just rerun your driving script with the effect that the
tasks which already are finished/failed will actually not be
restarted, but the behaviour is as if they would finish immediately
and report that they are finished/failed. (When you plan to do this,
I would suggest to schedule things like sleep as separate tasks,
too, and not build them into the driving script.)

If there is an unexpected problem, and e.g. you want to re-run
a failed task anyway, you can just re-queue your new task on
the same place as there was the previous task, e.g.
schedule remove jobnr
schedule -j jobnr queue commmand to do your task
Then the old job (and its state) is replaced by the new queued job,
and your (identical as before) driving script will start it instead
of assuming that the job is already finished.

In order to avoid races, I would recommend to do the above only
while your driving script is not running (e.g., you can put it
in the background with ctrl-z if you have written it in (...) or
if it is really a classical script, and then continue it with fg;
or you even stop it completely with Ctrl-c and re-run it, depending
on what you want): The problem is that between the above two commands
the jobs after jobnr are renumbered.
Alternatively, you can insert your new job at the end of the joblist
and then use something like (untested)
schedule -jjobnr insert 0 jobnr+1:-1
schedule remove 0
to to re-sort your job list: The insert is race-free,
and having added a job at the end for some time will hopefully not
disturb anything.




Re: [gentoo-user] Re: Recommendations for scheduler

2014-08-04 Thread J. Roeleveld
On 4 August 2014 10:41:04 CEST, Martin Vaeth mar...@mvath.de wrote:
J. Roeleveld jo...@antarean.org wrote:

 With the kind of schedules I am working with (and I believe Alan will
 also end up with), restarting the whole process from the start can
 lead to issues.
 Finding out how far the process got before the service crashed can
become
 rather complex.

I am not sure whether I understand this correctly:

The schedules I am used to dealing with easily span 8 - 14 hours with 
occasionally even over a week.
These schedules then also can't be restarted from the beginning when they stop 
halfway through without risking massive consistency problems in the final data.

And then multiple of those starting at random times with occasionally a whole 
bunch of the same schedule put into the queue with dependencies to the previous 
run.

If, during that time, one of the machines has a hardware failure or the 
scheduling process crashes on one or more of the servers, the last state needs 
to be recoverable.

If you have to clean up the environment and bring it back to a state where you 
can restart the schedules, it saves time if you know which commands and tasks 
were actually running at the time.

For this, the schedules, queues and current state for each node needs to be 
stored on persistent storage.

Hope this clarifies it all a bit.
--
Joost


-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.



[gentoo-user] Re: Recommendations for scheduler

2014-08-04 Thread Martin Vaeth
J. Roeleveld jo...@antarean.org wrote:

 These schedules then also can't be restarted from the beginning
 when they stop halfway through without risking massive consistency
 problems in the final data.

So you have a command which might break due to hardware error
and cannot be rerun. I cannot see how any general-purpose scheduler
might help you here: You either need to be able to split your command
into several (sequential) commands or you need something adapted
for your particular command.

 And then multiple of those starting at random times with
 occasionally a whole bunch of the same schedule put into the
 queue with dependencies to the previous run.

That's not a problem. Only if the granularity of one command is
not fine enough, it becomes a problem.

 If, during that time, one of the machines has a hardware failure
 or the scheduling process crashes on one or more of the servers,
 the last state needs to be recoverable.

One must distinguish two cases:

1. The machine running schedule-server has a hardware failure.
   (Let us assume tha schedule-server does not have a software failure -
   otherwise, you have problems anyway.)
2. Some other machine has a hardware failure.

Case 2. is not bad (as concerns the scheduling): Of course, the
machine will not report that it completed the job, and you will
have to think how to complete the job. But it is clear that in
such exceptional cases you have to interfere manually in some sense.

In order to deal with case 1., you can regularly (e.g. each minute)
dump the output of schedule list (possibly suppressing non-important
data through the options to keep it short).
One could add a logging option to decrease the possible race of 1 minute,
but in case of hardware failure a possible race cannot be excluded anyway.

In case 1. you manually have to re-queue the jobs and think what to do
with the already started jobs. However, I cannot imagine that this
occurs so frequently that this exceptional case becomes something
one should seriously think about.




Re: [gentoo-user] Re: Recommendations for scheduler

2014-08-04 Thread J. Roeleveld
On Monday, August 04, 2014 10:11:41 AM Martin Vaeth wrote:
 J. Roeleveld jo...@antarean.org wrote:
  These schedules then also can't be restarted from the beginning
  when they stop halfway through without risking massive consistency
  problems in the final data.
 
 So you have a command which might break due to hardware error
 and cannot be rerun. I cannot see how any general-purpose scheduler
 might help you here: You either need to be able to split your command
 into several (sequential) commands or you need something adapted
 for your particular command.

A general-purpose scheduler can work, as they do exist. (With a price tag)
In the OSS world, there is, to my knowledge, none.
Yours seems to be the most promising as it looks like the missing features 
shouldn't be too difficult to add.

The commands are relatively simple, but they deal with large amounts of data. 
I am talking about ETL processes that, due to the amount of data being 
processed, can easily take several hours per step.
If, during one of these steps, the database or ETL process suffers a crash, 
the activities of the ETL process need to be rolled back to the point where 
you can restart it.

I am not talking about simple schedules related to day-to-day maintenance of a 
few servers.

  And then multiple of those starting at random times with
  occasionally a whole bunch of the same schedule put into the
  queue with dependencies to the previous run.
 
 That's not a problem. Only if the granularity of one command is
 not fine enough, it becomes a problem.

If nothing happens, it can all be stuck into a single script and the end 
result will be the same. Problems start because the real world is not 100% 
reliable.

  If, during that time, one of the machines has a hardware failure
  or the scheduling process crashes on one or more of the servers,
  the last state needs to be recoverable.
 
 One must distinguish two cases:
 
 1. The machine running schedule-server has a hardware failure.
(Let us assume tha schedule-server does not have a software failure -
otherwise, you have problems anyway.)
 2. Some other machine has a hardware failure.
 
 Case 2. is not bad (as concerns the scheduling): Of course, the
 machine will not report that it completed the job, and you will
 have to think how to complete the job. But it is clear that in
 such exceptional cases you have to interfere manually in some sense.

Agreed, this happens more often then you might think.

 In order to deal with case 1., you can regularly (e.g. each minute)
 dump the output of schedule list (possibly suppressing non-important
 data through the options to keep it short).

Or all the necessary information is kept in-sync on persistent storage. This 
would then also allow easy fail-over if the master-schedule-node fails. A 2nd 
machine could quickly take over.

 One could add a logging option to decrease the possible race of 1 minute,
 but in case of hardware failure a possible race cannot be excluded anyway.
 
 In case 1. you manually have to re-queue the jobs and think what to do
 with the already started jobs. However, I cannot imagine that this
 occurs so frequently that this exceptional case becomes something
 one should seriously think about.

As I mentioned above, with BI infrastructure (large databases, complex ETL 
processes, interactive report services,), the scheduler is busy 24/7. The 
amount of tasks, schedules, dependencies, states, that needs to kept track 
off can easily lead to unforeseen issues and bugs.



[gentoo-user] Re: Recommendations for scheduler

2014-08-04 Thread Martin Vaeth
J. Roeleveld jo...@antarean.org wrote:

 So you have a command which might break due to hardware error
 and cannot be rerun. I cannot see how any general-purpose scheduler
 might help you here: You either need to be able to split your command
 into several (sequential) commands or you need something adapted
 for your particular command.

 A general-purpose scheduler can work, as they do exist.

I doubt that they can solve your problem.
Let me repeat: You have a single program which accesses the database
in a complex way and somewhere in the course of accessing it, the
machine (or program) crashes.
No general-purpose program can recover from this: You need
particular knowledge of the database and the program if you even
want to have a *chance* to recover from such a situation.
A program with such a particular knowledge can hardly be called
general-purpose.

 If, during one of these steps, the database or ETL process suffers a
 crash, the activities of the ETL process need to be rolled back to
 the point where you can restart it.

I agree, but you need particular knowledge of the database and
your tasks to do this which is far beyond the job of a scheduler.
As already mentioned by someone in this thread, your problem needs
to be solved on the level of the database (using
snapshopt capabilities etc.)

 In order to deal with case 1., you can regularly (e.g. each minute)
 dump the output of schedule list (possibly suppressing non-important
 data through the options to keep it short).

 Or all the necessary information is kept in-sync on persistent storage.
 This would then also allow easy fail-over if the master-schedule-node
 fails

No, it wouldn't, since jobs just finishing and wanting to report their
status cannot do this when there is no server. You would need a rather
involved protocol to deal with such situations dynamically.
It can certainly be done, but it is not something which can
easily be added as a feature: If this is required, it has to be the
fundamental concept from the very beginning and everything else has to
follow this first aim. You need different protocols than TCP sockets,
to start with; something like dbus over IP with servers being able
to announce their new presence, etc.




Re: [gentoo-user] Re: Recommendations for scheduler

2014-08-04 Thread Alan McKinnon
On 04/08/2014 15:31, Martin Vaeth wrote:
 J. Roeleveld jo...@antarean.org wrote:

 So you have a command which might break due to hardware error
 and cannot be rerun. I cannot see how any general-purpose scheduler
 might help you here: You either need to be able to split your command
 into several (sequential) commands or you need something adapted
 for your particular command.

 A general-purpose scheduler can work, as they do exist.
 
 I doubt that they can solve your problem.
 Let me repeat: You have a single program which accesses the database
 in a complex way and somewhere in the course of accessing it, the
 machine (or program) crashes.
 No general-purpose program can recover from this: You need
 particular knowledge of the database and the program if you even
 want to have a *chance* to recover from such a situation.
 A program with such a particular knowledge can hardly be called
 general-purpose.


Joost,

Either make the ETL tool pick up where it stopped and continue as it is
the only that knows what it was doing and how far it got. Or, wrap the
entire script in a single transaction.


-- 
Alan McKinnon
alan.mckin...@gmail.com




[gentoo-user] Python and man problems

2014-08-04 Thread Roger Cahn


Hello all,

I encounter some problems with python compiling and man errors.

1- Python :

I can't emerge some python packages (ie pyorbit, libmpeg2, 
libbonobo-python, etc...).

Even the installed python packages can't emerge anymore.
Here is the error message for libgnome-python-2.28.1-r1
(USE=-examples PYTHON_TARGETS=-python2_7%)

*ERROR: dev-python/libgnome-python-2.28.1-r1::gentoo failed (configure 
phase):

 *   No supported Python implementation in PYTHON_TARGETS.
 *
 * Call stack:
 * ebuild.sh, line   93:  Called src_configure
 *   environment, line 4118:  Called gnome-python-common-r1_src_configure
 *   environment, line 2078:  Called python_parallel_foreach_impl 
'gnome2_src_configure' '--disable-allbindings' '--enable-gnome' 
'--enable-gnomeui'

 *   environment, line 3947:  Called _python_obtain_impls
 *   environment, line  702:  Called _python_validate_useflags
 *   environment, line  758:  Called die
 * The specific snippet of code:
 *   die No supported Python implementation in PYTHON_TARGETS.
*

Is it a locale problem ?

Here is my /etc/env.d/02locale

LANG=fr_FR.utf8
LC_ALL=

When i run locale, i get :

$ locale
LANG=fr_FR.UTF-8
LC_CTYPE=fr_FR.UTF-8
LC_NUMERIC=fr_FR.UTF-8
LC_TIME=fr_FR.UTF-8
LC_COLLATE=fr_FR.UTF-8
LC_MONETARY=fr_FR.UTF-8
LC_MESSAGES=fr_FR.UTF-8
LC_PAPER=fr_FR.UTF-8
LC_NAME=fr_FR.UTF-8
LC_ADDRESS=fr_FR.UTF-8
LC_TELEPHONE=fr_FR.UTF-8
LC_MEASUREMENT=fr_FR.UTF-8
LC_IDENTIFICATION=fr_FR.UTF-8
LC_ALL=

2- man does not work anymore ; i get the error message :

ie : $man emerge (sorry, it's in french)

*man emerge
sh: most : commande introuvable
Erreur pendant l'ex�cution du formatage ou de l'affichage.
Le syst�me retourne pour (cd /usr/share/man  (echo .ll 11.1i; echo 
.nr LL 11.1i; echo .pl 1100i; /bin/bzip2 -c -d 
'/usr/share/man/man1/emerge.1.bz2'; echo .\\\; echo .pl \n(nlu+10) 
| /usr/bin/gtbl | /usr/bin/nroff -mandoc | most) l'erreur 127.

Il n'y a pas de page de manuel pour emerge.
*
I recompiled the sys-apps/man package with success but the error is 
still there.


My configuration :

$emerge --info

Portage 2.2.8-r1 (default/linux/amd64/13.0/desktop, gcc-4.7.3, 
glibc-2.19-r1, 3.14.14-gentoo x86_64)

=
System uname: 
Linux-3.14.14-gentoo-x86_64-Intel-R-_Core-TM-2_Duo_CPU_E6850_@_3.00GHz-with-gentoo-2.2

KiB Mem: 4051020 total,   1896448 free
KiB Swap:2048280 total,   2048280 free
Timestamp of tree: Sun, 03 Aug 2014 08:15:01 +
ld GNU ld (GNU Binutils) 2.23.2
app-shells/bash:  4.2_p45
dev-java/java-config: 2.2.0
dev-lang/python:  2.7.7, 3.3.5-r1
dev-util/cmake:   2.8.12.2-r1
dev-util/pkgconfig:   0.28-r1
sys-apps/baselayout:  2.2
sys-apps/openrc:  0.12.4
sys-apps/sandbox: 2.6-r1
sys-devel/autoconf:   2.13, 2.69
sys-devel/automake:   1.10.3, 1.11.6, 1.12.6, 1.13.4
sys-devel/binutils:   2.23.2
sys-devel/gcc:4.7.3-r1
sys-devel/gcc-config: 1.7.3
sys-devel/libtool:2.4.2-r1
sys-devel/make:   3.82-r4
sys-kernel/linux-headers: 3.13 (virtual/os-headers)
sys-libs/glibc:   2.19-r1
Repositories: gentoo
ACCEPT_KEYWORDS=amd64
ACCEPT_LICENSE=* -@EULA
CBUILD=x86_64-pc-linux-gnu
CFLAGS=-O2 -march=native -pipe
CHOST=x86_64-pc-linux-gnu
CONFIG_PROTECT=/etc /usr/share/config /usr/share/gnupg/qualified.txt
CONFIG_PROTECT_MASK=/etc/ca-certificates.conf /etc/dconf /etc/env.d 
/etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild 
/etc/sandbox.d /etc/splash /etc/terminfo

CXXFLAGS=-O2 -march=native -pipe
DISTDIR=/usr/portage/distfiles
EMERGE_DEFAULT_OPTS=--autounmask=n
FCFLAGS=-O2 -pipe
FEATURES=assume-digests binpkg-logs distlocks ebuild-locks fixlafiles 
merge-sync news parallel-fetch preserve-libs protect-owned sandbox 
sfperms strict unknown-features-warn unmerge-logs unmerge-orphans 
userfetch userpriv usersandbox usersync

FFLAGS=-O2 -pipe
GENTOO_MIRRORS=http://distfiles.gentoo.org;
LANG=fr_FR.utf8
LC_ALL=
LDFLAGS=-Wl,-O1 -Wl,--as-needed
MAKEOPTS=-j2
PKGDIR=/usr/portage/packages
PORTAGE_CONFIGROOT=/
PORTAGE_RSYNC_OPTS=--recursive --links --safe-links --perms --times 
--omit-dir-times --compress --force --whole-file --delete --stats 
--human-readable --timeout=180 --exclude=/distfiles --exclude=/local 
--exclude=/packages

PORTAGE_TMPDIR=/var/tmp
PORTDIR=/usr/portage
PORTDIR_OVERLAY=
SYNC=rsync://rsync.europe.gentoo.org/gentoo-portage
USE=X a52 aac acl acpi alsa amd64 berkdb bluetooth branding bzip2 cairo 
cdda cdr cli consolekit cracklib crypt cups cxx dbus dri dts dvd dvdr 
emboss encode exif fam firefox flac fortran gdbm gif gpm gtk iconv ipv6 
jpeg lcms ldap libnotify mad mmx mng modules mp3 mp4 mpeg multilib 
ncurses nls nptl ogg opengl openmp pam pango pcre pdf png policykit ppds 
qt3support qt4 readline sdl session spell sse sse2 ssl 
startup-notification svg tcpd tiff truetype udev udisks unicode upower 
usb vorbis wxwidgets x264 xcb xml xv xvid zlib ABI_X86=64 

Re: [gentoo-user] Python and man problems

2014-08-04 Thread Kerin Millar

On 04/08/2014 15:46, Roger Cahn wrote:


Hello all,

I encounter some problems with python compiling and man errors.

1- Python :

I can't emerge some python packages (ie pyorbit, libmpeg2,
libbonobo-python, etc...).
Even the installed python packages can't emerge anymore.
Here is the error message for libgnome-python-2.28.1-r1
(USE=-examples PYTHON_TARGETS=-python2_7%)


Your PYTHON_TARGETS setting does not make sense. If you want python 
modules to target python-2.7 then define:


PYTHON_TARGETS=python2_7

Otherwise, define python3.3 (or even both, space separated).



*ERROR: dev-python/libgnome-python-2.28.1-r1::gentoo failed (configure
phase):
  *   No supported Python implementation in PYTHON_TARGETS.
  *
  * Call stack:
  * ebuild.sh, line   93:  Called src_configure
  *   environment, line 4118:  Called gnome-python-common-r1_src_configure
  *   environment, line 2078:  Called python_parallel_foreach_impl
'gnome2_src_configure' '--disable-allbindings' '--enable-gnome'
'--enable-gnomeui'
  *   environment, line 3947:  Called _python_obtain_impls
  *   environment, line  702:  Called _python_validate_useflags
  *   environment, line  758:  Called die
  * The specific snippet of code:
  *   die No supported Python implementation in PYTHON_TARGETS.
*



As above.


Is it a locale problem ?

Here is my /etc/env.d/02locale

LANG=fr_FR.utf8
LC_ALL=

When i run locale, i get :

$ locale
LANG=fr_FR.UTF-8
LC_CTYPE=fr_FR.UTF-8
LC_NUMERIC=fr_FR.UTF-8
LC_TIME=fr_FR.UTF-8
LC_COLLATE=fr_FR.UTF-8
LC_MONETARY=fr_FR.UTF-8
LC_MESSAGES=fr_FR.UTF-8
LC_PAPER=fr_FR.UTF-8
LC_NAME=fr_FR.UTF-8
LC_ADDRESS=fr_FR.UTF-8
LC_TELEPHONE=fr_FR.UTF-8
LC_MEASUREMENT=fr_FR.UTF-8
LC_IDENTIFICATION=fr_FR.UTF-8
LC_ALL=

2- man does not work anymore ; i get the error message :

ie : $man emerge (sorry, it's in french)


You can make it English by prefixing the command with LC_MESSAGES=C.


*man emerge
sh: most : commande introuvable
Erreur pendant l'ex�cution du formatage ou de l'affichage.
Le syst�me retourne pour (cd /usr/share/man  (echo .ll 11.1i; echo
.nr LL 11.1i; echo .pl 1100i; /bin/bzip2 -c -d
'/usr/share/man/man1/emerge.1.bz2'; echo .\\\; echo .pl \n(nlu+10)
| /usr/bin/gtbl | /usr/bin/nroff -mandoc | most) l'erreur 127.
Il n'y a pas de page de manuel pour emerge.
*
I recompiled the sys-apps/man package with success but the error is
still there.


most ... command not found. I've never heard of such a command. It looks 
as though PAGER=most is defined in your environment. In Gentoo, it is 
normally set as /usr/bin/less.


--Kerin



Re: [gentoo-user] Python and man problems

2014-08-04 Thread Kerin Millar

On 04/08/2014 17:50, Kerin Millar wrote:

On 04/08/2014 15:46, Roger Cahn wrote:


snip


*man emerge
sh: most : commande introuvable
Erreur pendant l'ex�cution du formatage ou de l'affichage.
Le syst�me retourne pour (cd /usr/share/man  (echo .ll 11.1i; echo
.nr LL 11.1i; echo .pl 1100i; /bin/bzip2 -c -d
'/usr/share/man/man1/emerge.1.bz2'; echo .\\\; echo .pl \n(nlu+10)
| /usr/bin/gtbl | /usr/bin/nroff -mandoc | most) l'erreur 127.
Il n'y a pas de page de manuel pour emerge.
*
I recompiled the sys-apps/man package with success but the error is
still there.


most ... command not found. I've never heard of such a command. It looks
as though PAGER=most is defined in your environment. In Gentoo, it is
normally set as /usr/bin/less.



It transpires that sys-apps/most is in portage. Emerging this package 
should fix it, if you intend to continue using it as the PAGER.


--Kerin



Re: [gentoo-user] Python and man problems

2014-08-04 Thread Alexander Kapshuk
On 08/04/2014 05:46 PM, Roger Cahn wrote:

 Hello all,

 I encounter some problems with python compiling and man errors.

 1- Python :

 I can't emerge some python packages (ie pyorbit, libmpeg2,
 libbonobo-python, etc...).
 Even the installed python packages can't emerge anymore.
 Here is the error message for libgnome-python-2.28.1-r1 
 (USE=-examples PYTHON_TARGETS=-python2_7%)

 *ERROR: dev-python/libgnome-python-2.28.1-r1::gentoo failed (configure
 phase):
  *   No supported Python implementation in PYTHON_TARGETS.
  *
  * Call stack:
  * ebuild.sh, line   93:  Called src_configure
  *   environment, line 4118:  Called gnome-python-common-r1_src_configure
  *   environment, line 2078:  Called python_parallel_foreach_impl
 'gnome2_src_configure' '--disable-allbindings' '--enable-gnome'
 '--enable-gnomeui'
  *   environment, line 3947:  Called _python_obtain_impls
  *   environment, line  702:  Called _python_validate_useflags
  *   environment, line  758:  Called die
  * The specific snippet of code:
  *   die No supported Python implementation in PYTHON_TARGETS.
 *

 Is it a locale problem ?
  
 Here is my /etc/env.d/02locale

 LANG=fr_FR.utf8
 LC_ALL=

 When i run locale, i get :

 $ locale
 LANG=fr_FR.UTF-8
 LC_CTYPE=fr_FR.UTF-8
 LC_NUMERIC=fr_FR.UTF-8
 LC_TIME=fr_FR.UTF-8
 LC_COLLATE=fr_FR.UTF-8
 LC_MONETARY=fr_FR.UTF-8
 LC_MESSAGES=fr_FR.UTF-8
 LC_PAPER=fr_FR.UTF-8
 LC_NAME=fr_FR.UTF-8
 LC_ADDRESS=fr_FR.UTF-8
 LC_TELEPHONE=fr_FR.UTF-8
 LC_MEASUREMENT=fr_FR.UTF-8
 LC_IDENTIFICATION=fr_FR.UTF-8
 LC_ALL=

 2- man does not work anymore ; i get the error message :

 ie : $man emerge (sorry, it's in french)

 *man emerge
 sh: most : commande introuvable
 Erreur pendant l'ex�cution du formatage ou de l'affichage.
 Le syst�me retourne pour (cd /usr/share/man  (echo .ll 11.1i;
 echo .nr LL 11.1i; echo .pl 1100i; /bin/bzip2 -c -d
 '/usr/share/man/man1/emerge.1.bz2'; echo .\\\; echo .pl
 \n(nlu+10) | /usr/bin/gtbl | /usr/bin/nroff -mandoc | most) l'erreur 127.
 Il n'y a pas de page de manuel pour emerge.
 *
 I recompiled the sys-apps/man package with success but the error is
 still there.

 My configuration :

 $emerge --info

 Portage 2.2.8-r1 (default/linux/amd64/13.0/desktop, gcc-4.7.3,
 glibc-2.19-r1, 3.14.14-gentoo x86_64)
 =
 System uname:
 Linux-3.14.14-gentoo-x86_64-Intel-R-_Core-TM-2_Duo_CPU_E6850_@_3.00GHz-with-gentoo-2.2
 KiB Mem: 4051020 total,   1896448 free
 KiB Swap:2048280 total,   2048280 free
 Timestamp of tree: Sun, 03 Aug 2014 08:15:01 +
 ld GNU ld (GNU Binutils) 2.23.2
 app-shells/bash:  4.2_p45
 dev-java/java-config: 2.2.0
 dev-lang/python:  2.7.7, 3.3.5-r1
 dev-util/cmake:   2.8.12.2-r1
 dev-util/pkgconfig:   0.28-r1
 sys-apps/baselayout:  2.2
 sys-apps/openrc:  0.12.4
 sys-apps/sandbox: 2.6-r1
 sys-devel/autoconf:   2.13, 2.69
 sys-devel/automake:   1.10.3, 1.11.6, 1.12.6, 1.13.4
 sys-devel/binutils:   2.23.2
 sys-devel/gcc:4.7.3-r1
 sys-devel/gcc-config: 1.7.3
 sys-devel/libtool:2.4.2-r1
 sys-devel/make:   3.82-r4
 sys-kernel/linux-headers: 3.13 (virtual/os-headers)
 sys-libs/glibc:   2.19-r1
 Repositories: gentoo
 ACCEPT_KEYWORDS=amd64
 ACCEPT_LICENSE=* -@EULA
 CBUILD=x86_64-pc-linux-gnu
 CFLAGS=-O2 -march=native -pipe
 CHOST=x86_64-pc-linux-gnu
 CONFIG_PROTECT=/etc /usr/share/config /usr/share/gnupg/qualified.txt
 CONFIG_PROTECT_MASK=/etc/ca-certificates.conf /etc/dconf /etc/env.d
 /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release
 /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo
 CXXFLAGS=-O2 -march=native -pipe
 DISTDIR=/usr/portage/distfiles
 EMERGE_DEFAULT_OPTS=--autounmask=n
 FCFLAGS=-O2 -pipe
 FEATURES=assume-digests binpkg-logs distlocks ebuild-locks fixlafiles
 merge-sync news parallel-fetch preserve-libs protect-owned sandbox
 sfperms strict unknown-features-warn unmerge-logs unmerge-orphans
 userfetch userpriv usersandbox usersync
 FFLAGS=-O2 -pipe
 GENTOO_MIRRORS=http://distfiles.gentoo.org;
 LANG=fr_FR.utf8
 LC_ALL=
 LDFLAGS=-Wl,-O1 -Wl,--as-needed
 MAKEOPTS=-j2
 PKGDIR=/usr/portage/packages
 PORTAGE_CONFIGROOT=/
 PORTAGE_RSYNC_OPTS=--recursive --links --safe-links --perms --times
 --omit-dir-times --compress --force --whole-file --delete --stats
 --human-readable --timeout=180 --exclude=/distfiles --exclude=/local
 --exclude=/packages
 PORTAGE_TMPDIR=/var/tmp
 PORTDIR=/usr/portage
 PORTDIR_OVERLAY=
 SYNC=rsync://rsync.europe.gentoo.org/gentoo-portage
 USE=X a52 aac acl acpi alsa amd64 berkdb bluetooth branding bzip2
 cairo cdda cdr cli consolekit cracklib crypt cups cxx dbus dri dts dvd
 dvdr emboss encode exif fam firefox flac fortran gdbm gif gpm gtk
 iconv ipv6 jpeg lcms ldap libnotify mad mmx mng modules mp3 mp4 mpeg
 multilib ncurses nls nptl ogg opengl openmp pam pango pcre pdf png
 policykit ppds qt3support qt4 readline sdl session spell sse sse2 ssl
 

Re: [gentoo-user] Python and man problems

2014-08-04 Thread Stroller

On Mon, 4 August 2014, at 5:52 pm, Kerin Millar kerfra...@fastmail.co.uk 
wrote:
 ...
 most ... command not found. I've never heard of such a command. It looks
 as though PAGER=most is defined in your environment. In Gentoo, it is
 normally set as /usr/bin/less.
 
 It transpires that sys-apps/most is in portage. Emerging this package should 
 fix it, if you intend to continue using it as the PAGER.

most is the best manpager I've found found - the default syntax highlighting is 
perfect for man pages.

You don't have to make it your default pager, you can set it separately:

$ env | grep -i page
PAGER=/usr/bin/less
MANPAGER=/usr/bin/most
$ 

Stroller.




Re: [gentoo-user] Re: Recommendations for scheduler

2014-08-04 Thread J. Roeleveld
On 4 August 2014 15:35:41 CEST, Alan McKinnon alan.mckin...@gmail.com wrote:
On 04/08/2014 15:31, Martin Vaeth wrote:
 J. Roeleveld jo...@antarean.org wrote:

 So you have a command which might break due to hardware error
 and cannot be rerun. I cannot see how any general-purpose scheduler
 might help you here: You either need to be able to split your
command
 into several (sequential) commands or you need something adapted
 for your particular command.

 A general-purpose scheduler can work, as they do exist.
 
 I doubt that they can solve your problem.
 Let me repeat: You have a single program which accesses the database
 in a complex way and somewhere in the course of accessing it, the
 machine (or program) crashes.
 No general-purpose program can recover from this: You need
 particular knowledge of the database and the program if you even
 want to have a *chance* to recover from such a situation.
 A program with such a particular knowledge can hardly be called
 general-purpose.


Joost,

Either make the ETL tool pick up where it stopped and continue as it is
the only that knows what it was doing and how far it got. Or, wrap the
entire script in a single transaction.

Alan,

That would be the ideal solution.
However, a single transaction dealing with around 500,000,000 rows will get me 
shot by the DBAs :)
(Never mind that the performance of this will be such that having it all done 
by an office full of secretaries might be quicker.)

Having the ETL process clever enough to be able to pick up from any point 
requires a degree of forward thinking and planning that is never done in real 
life.
I would love to design it like that as it isn't too difficult. But I always get 
brought into these projects when implementing these structures will require a 
full rewrite and getting the original architects to admit their design can't be 
made restartable without human intervention.

At which point the business simply says it is acceptable to have people do a 
manual rollback and restart the schedules from wherever it went wrong.

I'm sure your wife has similar experiences as this is why these projects are 
always late to deliver and over budget.

--
Joost
-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.



Re: [gentoo-user] Re: Recommendations for scheduler

2014-08-04 Thread J. Roeleveld
On 4 August 2014 15:31:40 CEST, Martin Vaeth mar...@mvath.de wrote:
J. Roeleveld jo...@antarean.org wrote:

 So you have a command which might break due to hardware error
 and cannot be rerun. I cannot see how any general-purpose scheduler
 might help you here: You either need to be able to split your
command
 into several (sequential) commands or you need something adapted
 for your particular command.

 A general-purpose scheduler can work, as they do exist.

I doubt that they can solve your problem.
Let me repeat: You have a single program which accesses the database
in a complex way and somewhere in the course of accessing it, the
machine (or program) crashes.
No general-purpose program can recover from this: You need
particular knowledge of the database and the program if you even
want to have a *chance* to recover from such a situation.
A program with such a particular knowledge can hardly be called
general-purpose.

The scheduler needs to be able to show which process failed/didn't finish. 
Then humans need to ensure that part finishes/reruns properly.
Then humans need to be able to mark the failed process as succeeded.

At which point the scheduler continues with the schedule(s)

 If, during one of these steps, the database or ETL process suffers a
 crash, the activities of the ETL process need to be rolled back to
 the point where you can restart it.

I agree, but you need particular knowledge of the database and
your tasks to do this which is far beyond the job of a scheduler.
As already mentioned by someone in this thread, your problem needs
to be solved on the level of the database (using
snapshopt capabilities etc.)

Or human intervention. Which requires a clear indication of where it went wrong 
and allows a simple action to continue the schedule from where it was after 
these humans solved the issues and ensure consistency.

 In order to deal with case 1., you can regularly (e.g. each minute)
 dump the output of schedule list (possibly suppressing
non-important
 data through the options to keep it short).

 Or all the necessary information is kept in-sync on persistent
storage.
 This would then also allow easy fail-over if the master-schedule-node
 fails

No, it wouldn't, since jobs just finishing and wanting to report their
status cannot do this when there is no server. You would need a rather
involved protocol to deal with such situations dynamically.
It can certainly be done, but it is not something which can
easily be added as a feature: If this is required, it has to be the
fundamental concept from the very beginning and everything else has to
follow this first aim. You need different protocols than TCP sockets,
to start with; something like dbus over IP with servers being able
to announce their new presence, etc.

I think it's doable with standard networking protocols.
But, either you have a master server which controls everything. Or you have a 
master process which has failover functionality using classical distributed 
software techniques.

These emails are actually quite useful as I am getting a clear pucture in my 
head on how I could approach this properly.

Thanks,

Joost

-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.



Re: [gentoo-user] Re: Recommendations for scheduler

2014-08-04 Thread Alan McKinnon
On 04/08/2014 21:46, J. Roeleveld wrote:
 On 4 August 2014 15:35:41 CEST, Alan McKinnon alan.mckin...@gmail.com wrote:
 On 04/08/2014 15:31, Martin Vaeth wrote:
 J. Roeleveld jo...@antarean.org wrote:

 So you have a command which might break due to hardware error
 and cannot be rerun. I cannot see how any general-purpose scheduler
 might help you here: You either need to be able to split your
 command
 into several (sequential) commands or you need something adapted
 for your particular command.

 A general-purpose scheduler can work, as they do exist.

 I doubt that they can solve your problem.
 Let me repeat: You have a single program which accesses the database
 in a complex way and somewhere in the course of accessing it, the
 machine (or program) crashes.
 No general-purpose program can recover from this: You need
 particular knowledge of the database and the program if you even
 want to have a *chance* to recover from such a situation.
 A program with such a particular knowledge can hardly be called
 general-purpose.


 Joost,

 Either make the ETL tool pick up where it stopped and continue as it is
 the only that knows what it was doing and how far it got. Or, wrap the
 entire script in a single transaction.
 
 Alan,
 
 That would be the ideal solution.

You have the same concerns I do - how do you make a transaction around
500 million rows. So I asked the in-house expert - Mrs Alan :-)


 However, a single transaction dealing with around 500,000,000 rows will get 
 me shot by the DBAs :)
 (Never mind that the performance of this will be such that having it all done 
 by an office full of secretaries might be quicker.)

She reckons an ETL job *must* be self-contained; if it isn't then it's
broken by design. It must be idempotent too, which can be as simple as
Truncate, Load, Commit

 Having the ETL process clever enough to be able to pick up from any point 
 requires a degree of forward thinking and planning that is never done in real 
 life.
 I would love to design it like that as it isn't too difficult. But I always 
 get brought into these projects when implementing these structures will 
 require a full rewrite and getting the original architects to admit their 
 design can't be made restartable without human intervention.


I agree with that design actually - it's the job of the hardware and OS
guys to make stuff reliable that the application layer can rely on. When
a SAN connection goes away, it usually comes back and the app layer just
carries on (never mind that it retried 100 times meanwhile).

Sometimes this doesn't work out. The easiest, cheapest and quickest way
to handle it is to just restart the whole job from the beginning. This
offends the engineer in us sometimes, but it really is the best way and
all of Unix is built on this very idea :-)

If the SAn goes away too often and it causes issues, the manybe the best
approach is to get the SAN and facilities guys to get their act together

 At which point the business simply says it is acceptable to have people do a 
 manual rollback and restart the schedules from wherever it went wrong.

Exactly. One of the few cases where business has the correct idea.
There's only some many pennies to spend and so many dollars to be delivered.


 
 I'm sure your wife has similar experiences as this is why these projects are 
 always late to deliver and over budget.

She says her projects are subject to the same universal inviolate rule
as mine:

time and cost is always best engineering estimate times pi

We learn to deal with it. Which brings us back to Martin's initial
statement: a scheduler cannot deal with any of this, the job itself
must. It's an unpredictable event and schedulers can only deal with
predictable events


-- 
Alan McKinnon
alan.mckin...@gmail.com




Re: [gentoo-user] Python and man problems

2014-08-04 Thread wraeth
On Mon, 2014-08-04 at 19:00 +0100, Stroller wrote:
 most is the best manpager I've found found - the default syntax highlighting 
 is perfect for man pages.

Thanks for the tip! I hadn't come across `most`, and now since you
pointed to it I've set it as my global MANPAGER.

Cheers ;)

-- 
wraeth wra...@wraeth.id.au


signature.asc
Description: This is a digitally signed message part