Search Results

Search found 15306 results on 613 pages for 'there is nothing we can do'.

Page 1/613 | 1 2 3 4 5 6 7 8 9 10 11 12  | Next Page >

  • Does PHP session conflict with Share-Nothing-Architecture?

    - by Morgan Cheng
    When I first meet PHP, I'm amazed by the idea Sharing-Nothing-Architecture. I once in a project whose scalaiblity suffers from sharing data among different HTTP requests. However, as I proceed my PHP learning. I found that PHP has sessions. This looks conflict with the idea of sharing nothing. So, PHP session is just invented to make counterpart technology of ASP/ASP.NET/J2EE? Should high scalable web sites use PHP session?

    Read the article

  • Nothing = String.Empty (Why are these equal?)

    - by Ek0nomik
    I find it very puzzling that null equals String.Empty in VB.NET. There must be an explanation for it that I'm not understanding. Somehow, when the equality of String.Empty (which has an object type of string) is tested against Nothing (which has no type) the test returns true. It just seems like a turn around in logic to me. In SQL if I were to compare an empty char or varchar against a null value, the test wouldn't return true. A null value is not the same as an empty string in this case. Yet in VB.NET they are equal. I'd love it if someone could provide a good explanation around this.

    Read the article

  • Setting DataReader = nothing

    - by tanmay
    Hi all, In my project I have seen that at many places developer has just nullify the DataReader object after use and hasn't close or dispose.. I want to know the advace effect of doing so, I mean nullifying the datareader and not closeing them. Thanks and Regards, Tanmay.

    Read the article

  • How to report a crash bug with nothing on screen

    - by winniemiel05
    I would like to report an installation bug, but I can't launch ubuntu-bug : On my tablet (LDLC Janus, an Intel based tablet without OS installed by default), I have a problem when I install Ubuntu 11.04 or 11.10. Once the installation is finished, when I reboot, there is ABSOLUTELY nothing on screen, but Ubuntu boot correctly anyway : I choosed auto-login mode and I can hear the login sound. Even if I Ctrl+Alt+F1 or F2... there is nothing. But the livecd works fine (even touch screen even if without multi touch). I tried to install 10.10 it works, but as soon as I upgrade the same problem occure. i installed Fedora 15 and then Fedora 16 (because of other problems) and no problems with them. I would like to report this bug on launchpad but I don't know how to do to give devs logs files and other useful files which could help debug. Thanks a lot for your answer, I would really prefer using my tablet with Ubuntu (I miss U1, USC, Unity)

    Read the article

  • My wireless has suddenly became disabled by hardware switch, BIOS, rfkill, fn+f8 do nothing

    - by cwwk
    I have a toshiba l655d-s5145. There is no physical toggle for the wireless, although the f8 key is supposed to do the trick. It doesn't. The wireless has been working since October, and suddenly, nothing. RFKILL reports that the wireless is hard blocked, but unblock wifi, unblock 0, unblock all do nothing. I inserted a usb dongle, and that is also disabled by hardware switch, although rfkill reports that it is neither hard nor soft blocked. My onboard wireless is 02:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8188CE 802.11b/g/n WiFi Adapter (rev 01) according to lspci. Lsmod reports that these drivers are loaded. rtl8192c_common 75767 1 rtl8192ce rtlwifi 110972 1 rtl8192ce I resorted to reformatting the drive and reinstalling, but that also did not work. In BIOS I restored system defaults as there is no specific entry for wifi. Before reinstalling a pure xubuntu I went into Unity and saw that the airplane mode was on and despite being toggled off, it returned to the on position. I'm not sure where to find airplane mode in Xubuntu. What else can I do? I need my wireless.

    Read the article

  • Xampp : http://localhost/xampp/splash.php :english : nothing happens

    - by Oussama Abdallah
    After I start Xampp on my Ubuntu 12.04 I go to the localhost and I come to the site, where all languages are listed .... when I click any of these languages nothing happens. Follow steps are already done: I started Xampp with: sudo /opt/lamp/lamp start after doing so, I get in the console, that everything is running: Starting XAMPP for Linux ... XAMPP: Starting Apache...ok. XAMPP: Starting MySQL... ok. XAMPP: Starting ProFTPD...ok. Can you please help me solve this problem?

    Read the article

  • Absolutely Nothing Apearing in "Additional Drivers"

    - by Joshua Arroyo
    OK so I just got Ubuntu the other month or so. I'm running the 11.04 version currently and trying to install drivers for a Nvidia graphics card (it's my brother's computer and he currently cannot find the number of the card right now). I read that, to install the proper drivers for gaming, I would need to go into "Additional Drivers" and choose them myself. I clicked to go into "Additional Drivers" and it searched "for available drivers", then opened the additional drivers list. Lo and Behold, there was nothing, simply the message "No proprietary drivers are in use on this system" and the Help and Close buttons. Sorry if there's some silly simple answer to all of this, I'm new to this sort of thing (used to Windows simplicity, lol) and I really don't know what to do. Help would be much appreciated. Also, I should mention that the graphics card was installed and ran fine before switching from Windows XP to Ubuntu.

    Read the article

  • Ubuntu 12.04 "Do nothing" when "lid closed" blanks out external monitor

    - by Elijah Lynn
    This is not the same as this question. I have Ubuntu 12.04 running with an Nvidia card on a W510 Thinkpad. I have one external monitor connected. When I change the power settings to "Do nothing" when "Lid closed" it still keeps the system running which is great. However, it blanks out the display on any external monitors making the system useless. I plan on getting a dock soon and having to identical resolution monitors and would love to be able to dock the monitor and work as normal on the external monitors. Does anyone have a suggestion or fix for this? Should I report this as a bug or feature request?

    Read the article

  • Double click executable file and nothing happens

    - by Ralf Tiede
    I'm trying to install a game for Linux called Myth 2. Autorun doesn't run when I insert the CD. When I double-click or right-click and the select "Open" on the Setup file, a box appears saying that it's an executable file, and what I want to do. I click on "Run", but nothing happens after that. I checked the permissions, and it allows it running the executable. How do I install this game? Please break down instructions as much as possible, I'm not used to using commands and Terminal. ;)

    Read the article

  • the "additional drivers" shows nothing

    - by Yasser al-Zainy
    I started using Ubuntu 32 bit last week. I love it but I recognized there was a problem with the cooling system. the fan doesn't stop and slightly loud all the time (that wasn't the case while running with windows 7). I told a friend who claimed that it should be a drivers problem. My machine is dell inspiron n5110 and the official site recommends win 7 64 bit only. there's no support for linux. (the page showing the machine drivers and system recommendation I tried to fix the problem using the "additional drivers", it opens but it shows nothing (no drivers to activate, just the help and the close buttons) is there a way to fix this?

    Read the article

  • Ubuntu One stuck and doing nothing - help!!!

    - by Laurence Nagel
    Ubuntu One has worked fine for me for several weeks and I now have 8.2 GB of files in the clouds. Then, last night, Ubuntu One stopped working. When I fire up System-Preferences-Ubuntu One, It tells me that I have 8.2 GB stored (13.2 %) and the my status in Unknown. I've tried Restart to no avail. I even tried Remove, followed by clearing the password ring and starting over. Still nothing. I've run out of buttons to push.

    Read the article

  • after i typed in my username then it just quit the window and do nothing

    - by Bosco S. Chan
    I have a vaio VGN-FJ270P/B laptop which originally installed a windows xp professional in it. Last week, i had enough about the speed of windows and bought a brand new fresh SSD [M5S 128GB] and 2 new RAMS [1GB x2]. And i used my desktop to install a LiveUSB and downloaded the latest ubuntu and installed it [Universal USB Installer + Ubuntu 12.04.1]. All seems find through partition and typing my username and password. just after i typed in my password, i pressed continue and then it pop-up the window about choosing the profile picture for my account and it immediately disappear and went doing nothing. What's happening with it? any help would be appreciate...! Thanks!! Bosco

    Read the article

  • Ubuntu One stuck and doing nothing

    - by Laurence Nagel
    Ubuntu One has worked fine for me for several weeks and I now have 8.2 GB of files in the clouds. Then, last night, Ubuntu One stopped working. When I fire up System > Preferences > Ubuntu One, it tells me that I have 8.2 GB stored (13.2 %) and that my status is Unknown. I've tried to restart to no avail. I even tried to remove, followed by clearing the password keyring and starting over. Still nothing. I've run out of buttons to push.

    Read the article

  • Upgrade to 12.04, nothing in dash, no date&time

    - by Nicolas
    I've upgraded from ubuntu netbook remix something to 12.04 lts, and I've got two issues. (Got an Asus eeePc 32bits, Intel 945GME x86/MMX/SSE2 and Intel Atom CPU N270 @ 1.6Ghz x2) Nothing in the dash. Only the "home" tab, other tabs are missing. No search result whatsoever. Missing elements in the system panel, privacy and date&time. No date&time on the right corner either. I've tried to reset unity with the terminal but the process was a whole mess full of errors. It did show date&time in the system panel (not on the top-right corner) while the process was going on in the terminal. But then it was such a mess (no more icons on the right corner amongst other things), and the process wouldn't complete: so I had to reboot the computer and get unity as before, still no date&time and privacy. Thanks for any help. nic

    Read the article

  • nothing happen after a command mount -t (worked before)

    - by user3449429
    i'm having a weird problem. i used to lauch manually the mount command to link a folder on my PLEX server with a folder on my NAS since yesterday it was ok, but i had to halt my plex server and when i tried to mount again the folder, nothing happen. it ask me the su password and that's all. here the command i use in my fstab: //192.168.1.2/Series_TV /home/cidou/Series_TV cifs _netdev,credentials=/home/cidou/.smbcredentials 0 0 //192.168.1.2/films /home/cidou/Films cifs _netdev,credentials=/home/cidou/.smbcredentials 0 0 i tried this command too: sudo mount -t smbfs //192.168.1.2/Films /home/cidou/Films -o user=myname,password=mypass,sec=ntlm --verbose i run an ubuntu 12.04 LTS uname -a Linux plex 3.8.0-29-generic #42~precise1-Ubuntu SMP Wed Aug 14 15:31:16 UTC 2013 i686 i686 i386 GNU/Linux Welcome to Ubuntu 12.04.4 LTS (GNU/Linux 3.8.0-29-generic i686) * Documentation: https://help.ubuntu.com/ System information disabled due to load higher than 2.0 Thanks for reading

    Read the article

  • Nothing happens when I connect my Iphone 3G to my laptop

    - by Allwar
    Hi, how do i connect my iphone to my laptop (ubuntu 10.04) so that i can sync music and be able to look at it as a usb stick? (this is what I want to do but there is a problem.) When i connect it to my laptop nothing happens, it doesn't show up as an ikon or as a mass storage device. My Iphone runs 4.2.1 it's an Iphone 3G and it's not jailbroken for the moment, is that a problem? My laptop is an Asus 1201n ubuntu 10.04 (64-bits) Bus 002 Device 005: ID 05ac:1292 Apple, Inc. iPhone 3G I connected my Ipod Video (30 gb) and that one doesn't appear as well So I'm kind of stuck now. The problem probably lies in the system, because the usb port is working. Bus 002 Device 006: ID 05ac:1209 Apple, Inc. iPod Video I have added this PPA, I have done all of the sudo update and upgrade. but my computer doesn't realize that my Iphone is connected, whish isn't related to libimobiledevice. The port is working fine, it's my computer it doesn't recognize that I have my Iphone plugged-in! and the phone is working (tested it on my mac). I have the latest versions of these programs: hipo, ipod, gtkpod, ifuse, libusmuxd1 and usbmxd. I try to mount my iphone with fuse but i got this error. ( I connected my iPhone in windows 7 and it worked annoyingly.) alvar@alvars-laptop:~$ ifuse /mnt/iphone/ ERROR: the mount point specified does not exist

    Read the article

  • I am having trouble booting 12.04 keyboard and little man in circle appears and then nothing

    - by Rich J.
    I have a new system (ASUS 990FX mother board, 2 western dig drives, 32 gb memory, an ASUS nvidia video card (GeForce GTX560), and an ASUS DVD Burner (24B1ST)) I am struggling to get the 12.04 cd to work. I have been able to see the little man inside a circle and a graphic of a keyboard? with an == sign between them. Is this is a clue? What does it mean? After that the mauve screen with keyboard and little man in circle goes away. I get a dark background and underline cursor... even hear some work being done reading the rom.... but nothing appears on the screen. I haven't even got to the point where the graphic card is displaying improperly... it is just not displaying anything. If any kind soul has an idea about how to proceed, I am all ears. BTW, I have posted the issue to ASUS... waiting for reply.

    Read the article

  • ubuntu 13.10 liveboot/installer loads dots, then does nothing

    - by user200245
    Problem: When I load an Ubuntu 13.10 (64-bit) live USB / installer on my laptop, the purple Ubuntu screen with the white dots appears, the dots turn orange (indicating its loading), then after a few seconds the screen turns completely black and nothing else happens. I can not install Ubuntu 13.10 on this computer. What I've Tried: I've re-downloaded the .iso file from canonical. I've burned the .iso to the USB using the default linux usb image writer, and the Windows programs YUMI and Linux Live USB Creator; same thing happens each time. Yes, I'm sure my computer is 64 bit. I'm currently running Linux Mint 15 on it, which runs perfectly. It's a Sager NP7330 / Clevo w230st. extra info A few months I installed Ubuntu 13.04 on this machine, which installed perfectly. Normally I'd install that then dist-upgrade to 13.10, HOWEVER this computer is only a few months old and the wireless/network drivers for my network card were not implemented until kernel 3.11 (which comes w ith 13.10). I tried manually downloading kernel 3.11 and installing it (on 13.04), however the wireless card nor ethernet card still did work with Ubuntu 13.04. So my only real hope is to get 13.10 working. Does anyone know what's up with this?

    Read the article

  • Ubuntu is booting on acer e1-510 laptop, but screen displays nothing

    - by user287602
    Tried loading ubuntu 12.04 (32-bit as well 64 bit) through bootable usb , on a brand new 64-bit acer E1-510 laptop. It shows the 'Try ubuntu without installing screen' and I selected that option. But instead of showing ubuntu's logo(which implies it is loading). I get a blank screen. The screen is on, but it shows nothing. I tried the same on an old model laptop acer aspire 5738 and it worked like a charm. However, I realized that Ubuntu is actually booting on E1-510 and only the display is not working. How did I arrive at this conclusion? When I select on 'Try ubuntu without installing screen', after about 8-10 seconds I see that the WiFi indicator light on the laptop panel switches on(just like when we boot up a Windows OS or even Ubuntu ). I got an idea that the system booted Ubuntu. To confirm this, I tried to adjust volume using keyboard shortcuts. Voila, I can hear the sound of adjusting volume! That means it has already booted Ubuntu. I confirmed this with another step. I pressed the power button once and after two seconds I pressed ENTER. It began the process of switching off and within 5 seconds the laptop was powered off. You may ask, Why is this a confirmation that Ubuntu has booted? This is because in Ubuntu when you press on power button, a dialog box opens with shut down, restart, suspend option- and the shut down option is already selected by default; so all I have to do is press ENTER to shut down. This again proved that Ubuntu was indeed up and running. Unlike previous 'AskUbunutu' posts about Acer e1-510, I must mention that my laptop came WITH the Legacy BIOS mode, so its not really a problem to boot ubuntu from a bootable pendrive. Only the screen is not working. In case you need to know, I am running Windows 7-Ultimate 64 bit on acer e1-510.

    Read the article

  • Much Ado About Nothing: Stub Objects

    - by user9154181
    The Solaris 11 link-editor (ld) contains support for a new type of object that we call a stub object. A stub object is a shared object, built entirely from mapfiles, that supplies the same linking interface as the real object, while containing no code or data. Stub objects cannot be executed — the runtime linker will kill any process that attempts to load one. However, you can link to a stub object as a dependency, allowing the stub to act as a proxy for the real version of the object. You may well wonder if there is a point to producing an object that contains nothing but linking interface. As it turns out, stub objects are very useful for building large bodies of code such as Solaris. In the last year, we've had considerable success in applying them to one of our oldest and thorniest build problems. In this discussion, I will describe how we came to invent these objects, and how we apply them to building Solaris. This posting explains where the idea for stub objects came from, and details our long and twisty journey from hallway idea to standard link-editor feature. I expect that these details are mainly of interest to those who work on Solaris and its makefiles, those who have done so in the past, and those who work with other similar bodies of code. A subsequent posting will omit the history and background details, and instead discuss how to build and use stub objects. If you are mainly interested in what stub objects are, and don't care about the underlying software war stories, I encourage you to skip ahead. The Long Road To Stubs This all started for me with an email discussion in May of 2008, regarding a change request that was filed in 2002, entitled: 4631488 lib/Makefile is too patient: .WAITs should be reduced This CR encapsulates a number of cronic issues with Solaris builds: We build Solaris with a parallel make (dmake) that tries to build as much of the code base in parallel as possible. There is a lot of code to build, and we've long made use of parallelized builds to get the job done quicker. This is even more important in today's world of massively multicore hardware. Solaris contains a large number of executables and shared objects. Executables depend on shared objects, and shared objects can depend on each other. Before you can build an object, you need to ensure that the objects it needs have been built. This implies a need for serialization, which is in direct opposition to the desire to build everying in parallel. To accurately build objects in the right order requires an accurate set of make rules defining the things that depend on each other. This sounds simple, but the reality is quite complex. In practice, having programmers explicitly specify these dependencies is a losing strategy: It's really hard to get right. It's really easy to get it wrong and never know it because things build anyway. Even if you get it right, it won't stay that way, because dependencies between objects can change over time, and make cannot help you detect such drifing. You won't know that you got it wrong until the builds break. That can be a long time after the change that triggered the breakage happened, making it hard to connect the cause and the effect. Usually this happens just before a release, when the pressure is on, its hard to think calmly, and there is no time for deep fixes. As a poor compromise, the libraries in core Solaris were built using a set of grossly incomplete hand written rules, supplemented with a number of dmake .WAIT directives used to group the libraries into sets of non-interacting groups that can be built in parallel because we think they don't depend on each other. From time to time, someone will suggest that we could analyze the built objects themselves to determine their dependencies and then generate make rules based on those relationships. This is possible, but but there are complications that limit the usefulness of that approach: To analyze an object, you have to build it first. This is a classic chicken and egg scenario. You could analyze the results of a previous build, but then you're not necessarily going to get accurate rules for the current code. It should be possible to build the code without having a built workspace available. The analysis will take time, and remember that we're constantly trying to make builds faster, not slower. By definition, such an approach will always be approximate, and therefore only incremantally more accurate than the hand written rules described above. The hand written rules are fast and cheap, while this idea is slow and complex, so we stayed with the hand written approach. Solaris was built that way, essentially forever, because these are genuinely difficult problems that had no easy answer. The makefiles were full of build races in which the right outcomes happened reliably for years until a new machine or a change in build server workload upset the accidental balance of things. After figuring out what had happened, you'd mutter "How did that ever work?", add another incomplete and soon to be inaccurate make dependency rule to the system, and move on. This was not a satisfying solution, as we tend to be perfectionists in the Solaris group, but we didn't have a better answer. It worked well enough, approximately. And so it went for years. We needed a different approach — a new idea to cut the Gordian Knot. In that discussion from May 2008, my fellow linker-alien Rod Evans had the initial spark that lead us to a game changing series of realizations: The link-editor is used to link objects together, but it only uses the ELF metadata in the object, consisting of symbol tables, ELF versioning sections, and similar data. Notably, it does not look at, or understand, the machine code that makes an object useful at runtime. If you had an object that only contained the ELF metadata for a dependency, but not the code or data, the link-editor would find it equally useful for linking, and would never know the difference. Call it a stub object. In the core Solaris OS, we require all objects to be built with a link-editor mapfile that describes all of its publically available functions and data. Could we build a stub object using the mapfile for the real object? It ought to be very fast to build stub objects, as there are no input objects to process. Unlike the real object, stub objects would not actually require any dependencies, and so, all of the stubs for the entire system could be built in parallel. When building the real objects, one could link against the stub objects instead of the real dependencies. This means that all the real objects can be built built in parallel too, without any serialization. We could replace a system that requires perfect makefile rules with a system that requires no ordering rules whatsoever. The results would be considerably more robust. We immediately realized that this idea had potential, but also that there were many details to sort out, lots of work to do, and that perhaps it wouldn't really pan out. As is often the case, it would be necessary to do the work and see how it turned out. Following that conversation, I set about trying to build a stub object. We determined that a faithful stub has to do the following: Present the same set of global symbols, with the same ELF versioning, as the real object. Functions are simple — it suffices to have a symbol of the right type, possibly, but not necessarily, referencing a null function in its text segment. Copy relocations make data more complicated to stub. The possibility of a copy relocation means that when you create a stub, the data symbols must have the actual size of the real data. Any error in this will go uncaught at link time, and will cause tragic failures at runtime that are very hard to diagnose. For reasons too obscure to go into here, involving tentative symbols, it is also important that the data reside in bss, or not, matching its placement in the real object. If the real object has more than one symbol pointing at the same data item, we call these aliased symbols. All data symbols in the stub object must exhibit the same aliasing as the real object. We imagined the stub library feature working as follows: A command line option to ld tells it to produce a stub rather than a real object. In this mode, only mapfiles are examined, and any object or shared libraries on the command line are are ignored. The extra information needed (function or data, size, and bss details) would be added to the mapfile. When building the real object instead of the stub, the extra information for building stubs would be validated against the resulting object to ensure that they match. In exploring these ideas, I immediately run headfirst into the reality of the original mapfile syntax, a subject that I would later write about as The Problem(s) With Solaris SVR4 Link-Editor Mapfiles. The idea of extending that poor language was a non-starter. Until a better mapfile syntax became available, which seemed unlikely in 2008, the solution could not involve extentions to the mapfile syntax. Instead, we cooked up the idea (hack) of augmenting mapfiles with stylized comments that would carry the necessary information. A typical definition might look like: # DATA(i386) __iob 0x3c0 # DATA(amd64,sparcv9) __iob 0xa00 # DATA(sparc) __iob 0x140 iob; A further problem then became clear: If we can't extend the mapfile syntax, then there's no good way to extend ld with an option to produce stub objects, and to validate them against the real objects. The idea of having ld read comments in a mapfile and parse them for content is an unacceptable hack. The entire point of comments is that they are strictly for the human reader, and explicitly ignored by the tool. Taking all of these speed bumps into account, I made a new plan: A perl script reads the mapfiles, generates some small C glue code to produce empty functions and data definitions, compiles and links the stub object from the generated glue code, and then deletes the generated glue code. Another perl script used after both objects have been built, to compare the real and stub objects, using data from elfdump, and validate that they present the same linking interface. By June 2008, I had written the above, and generated a stub object for libc. It was a useful prototype process to go through, and it allowed me to explore the ideas at a deep level. Ultimately though, the result was unsatisfactory as a basis for real product. There were so many issues: The use of stylized comments were fine for a prototype, but not close to professional enough for shipping product. The idea of having to document and support it was a large concern. The ideal solution for stub objects really does involve having the link-editor accept the same arguments used to build the real object, augmented with a single extra command line option. Any other solution, such as our prototype script, will require makefiles to be modified in deeper ways to support building stubs, and so, will raise barriers to converting existing code. A validation script that rederives what the linker knew when it built an object will always be at a disadvantage relative to the actual linker that did the work. A stub object should be identifyable as such. In the prototype, there was no tag or other metadata that would let you know that they weren't real objects. Being able to identify a stub object in this way means that the file command can tell you what it is, and that the runtime linker can refuse to try and run a program that loads one. At that point, we needed to apply this prototype to building Solaris. As you might imagine, the task of modifying all the makefiles in the core Solaris code base in order to do this is a massive task, and not something you'd enter into lightly. The quality of the prototype just wasn't good enough to justify that sort of time commitment, so I tabled the project, putting it on my list of long term things to think about, and moved on to other work. It would sit there for a couple of years. Semi-coincidentally, one of the projects I tacked after that was to create a new mapfile syntax for the Solaris link-editor. We had wanted to do something about the old mapfile syntax for many years. Others before me had done some paper designs, and a great deal of thought had already gone into the features it should, and should not have, but for various reasons things had never moved beyond the idea stage. When I joined Sun in late 2005, I got involved in reviewing those things and thinking about the problem. Now in 2008, fresh from relearning for the Nth time why the old mapfile syntax was a huge impediment to linker progress, it seemed like the right time to tackle the mapfile issue. Paving the way for proper stub object support was not the driving force behind that effort, but I certainly had them in mind as I moved forward. The new mapfile syntax, which we call version 2, integrated into Nevada build snv_135 in in February 2010: 6916788 ld version 2 mapfile syntax PSARC/2009/688 Human readable and extensible ld mapfile syntax In order to prove that the new mapfile syntax was adequate for general purpose use, I had also done an overhaul of the ON consolidation to convert all mapfiles to use the new syntax, and put checks in place that would ensure that no use of the old syntax would creep back in. That work went back into snv_144 in June 2010: 6916796 OSnet mapfiles should use version 2 link-editor syntax That was a big putback, modifying 517 files, adding 18 new files, and removing 110 old ones. I would have done this putback anyway, as the work was already done, and the benefits of human readable syntax are obvious. However, among the justifications listed in CR 6916796 was this We anticipate adding additional features to the new mapfile language that will be applicable to ON, and which will require all sharable object mapfiles to use the new syntax. I never explained what those additional features were, and no one asked. It was premature to say so, but this was a reference to stub objects. By that point, I had already put together a working prototype link-editor with the necessary support for stub objects. I was pleased to find that building stubs was indeed very fast. On my desktop system (Ultra 24), an amd64 stub for libc can can be built in a fraction of a second: % ptime ld -64 -z stub -o stubs/libc.so.1 -G -hlibc.so.1 \ -ztext -zdefs -Bdirect ... real 0.019708910 user 0.010101680 sys 0.008528431 In order to go from prototype to integrated link-editor feature, I knew that I would need to prove that stub objects were valuable. And to do that, I knew that I'd have to switch the Solaris ON consolidation to use stub objects and evaluate the outcome. And in order to do that experiment, ON would first need to be converted to version 2 mapfiles. Sub-mission accomplished. Normally when you design a new feature, you can devise reasonably small tests to show it works, and then deploy it incrementally, letting it prove its value as it goes. The entire point of stub objects however was to demonstrate that they could be successfully applied to an extremely large and complex code base, and specifically to solve the Solaris build issues detailed above. There was no way to finesse the matter — in order to move ahead, I would have to successfully use stub objects to build the entire ON consolidation and demonstrate their value. In software, the need to boil the ocean can often be a warning sign that things are trending in the wrong direction. Conversely, sometimes progress demands that you build something large and new all at once. A big win, or a big loss — sometimes all you can do is try it and see what happens. And so, I spent some time staring at ON makefiles trying to get a handle on how things work, and how they'd have to change. It's a big and messy world, full of complex interactions, unspecified dependencies, special cases, and knowledge of arcane makefile features... ...and so, I backed away, put it down for a few months and did other work... ...until the fall, when I felt like it was time to stop thinking and pondering (some would say stalling) and get on with it. Without stubs, the following gives a simplified high level view of how Solaris is built: An initially empty directory known as the proto, and referenced via the ROOT makefile macro is established to receive the files that make up the Solaris distribution. A top level setup rule creates the proto area, and performs operations needed to initialize the workspace so that the main build operations can be launched, such as copying needed header files into the proto area. Parallel builds are launched to build the kernel (usr/src/uts), libraries (usr/src/lib), and commands. The install makefile target builds each item and delivers a copy to the proto area. All libraries and executables link against the objects previously installed in the proto, implying the need to synchronize the order in which things are built. Subsequent passes run lint, and do packaging. Given this structure, the additions to use stub objects are: A new second proto area is established, known as the stub proto and referenced via the STUBROOT makefile macro. The stub proto has the same structure as the real proto, but is used to hold stub objects. All files in the real proto are delivered as part of the Solaris product. In contrast, the stub proto is used to build the product, and then thrown away. A new target is added to library Makefiles called stub. This rule builds the stub objects. The ld command is designed so that you can build a stub object using the same ld command line you'd use to build the real object, with the addition of a single -z stub option. This means that the makefile rules for building the stub objects are very similar to those used to build the real objects, and many existing makefile definitions can be shared between them. A new target is added to the Makefiles called stubinstall which delivers the stub objects built by the stub rule into the stub proto. These rules reuse much of existing plumbing used by the existing install rule. The setup rule runs stubinstall over the entire lib subtree as part of its initialization. All libraries and executables link against the objects in the stub proto rather than the main proto, and can therefore be built in parallel without any synchronization. There was no small way to try this that would yield meaningful results. I would have to take a leap of faith and edit approximately 1850 makefiles and 300 mapfiles first, trusting that it would all work out. Once the editing was done, I'd type make and see what happened. This took about 6 weeks to do, and there were many dark days when I'd question the entire project, or struggle to understand some of the many twisted and complex situations I'd uncover in the makefiles. I even found a couple of new issues that required changes to the new stub object related code I'd added to ld. With a substantial amount of encouragement and help from some key people in the Solaris group, I eventually got the editing done and stub objects for the entire workspace built. I found that my desktop system could build all the stub objects in the workspace in roughly a minute. This was great news, as it meant that use of the feature is effectively free — no one was likely to notice or care about the cost of building them. After another week of typing make, fixing whatever failed, and doing it again, I succeeded in getting a complete build! The next step was to remove all of the make rules and .WAIT statements dedicated to controlling the order in which libraries under usr/src/lib are built. This came together pretty quickly, and after a few more speed bumps, I had a workspace that built cleanly and looked like something you might actually be able to integrate someday. This was a significant milestone, but there was still much left to do. I turned to doing full nightly builds. Every type of build (open, closed, OpenSolaris, export, domestic) had to be tried. Each type failed in a new and unique way, requiring some thinking and rework. As things came together, I became aware of things that could have been done better, simpler, or cleaner, and those things also required some rethinking, the seeking of wisdom from others, and some rework. After another couple of weeks, it was in close to final form. My focus turned towards the end game and integration. This was a huge workspace, and needed to go back soon, before changes in the gate would made merging increasingly difficult. At this point, I knew that the stub objects had greatly simplified the makefile logic and uncovered a number of race conditions, some of which had been there for years. I assumed that the builds were faster too, so I did some builds intended to quantify the speedup in build time that resulted from this approach. It had never occurred to me that there might not be one. And so, I was very surprised to find that the wall clock build times for a stock ON workspace were essentially identical to the times for my stub library enabled version! This is why it is important to always measure, and not just to assume. One can tell from first principles, based on all those removed dependency rules in the library makefile, that the stub object version of ON gives dmake considerably more opportunities to overlap library construction. Some hypothesis were proposed, and shot down: Could we have disabled dmakes parallel feature? No, a quick check showed things being build in parallel. It was suggested that we might be I/O bound, and so, the threads would be mostly idle. That's a plausible explanation, but system stats didn't really support it. Plus, the timing between the stub and non-stub cases were just too suspiciously identical. Are our machines already handling as much parallelism as they are capable of, and unable to exploit these additional opportunities? Once again, we didn't see the evidence to back this up. Eventually, a more plausible and obvious reason emerged: We build the libraries and commands (usr/src/lib, usr/src/cmd) in parallel with the kernel (usr/src/uts). The kernel is the long leg in that race, and so, wall clock measurements of build time are essentially showing how long it takes to build uts. Although it would have been nice to post a huge speedup immediately, we can take solace in knowing that stub objects simplify the makefiles and reduce the possibility of race conditions. The next step in reducing build time should be to find ways to reduce or overlap the uts part of the builds. When that leg of the build becomes shorter, then the increased parallelism in the libs and commands will pay additional dividends. Until then, we'll just have to settle for simpler and more robust. And so, I integrated the link-editor support for creating stub objects into snv_153 (November 2010) with 6993877 ld should produce stub objects PSARC/2010/397 ELF Stub Objects followed by the work to convert the ON consolidation in snv_161 (February 2011) with 7009826 OSnet should use stub objects 4631488 lib/Makefile is too patient: .WAITs should be reduced This was a huge putback, with 2108 modified files, 8 new files, and 2 removed files. Due to the size, I was allowed a window after snv_160 closed in which to do the putback. It went pretty smoothly for something this big, a few more preexisting race conditions would be discovered and addressed over the next few weeks, and things have been quiet since then. Conclusions and Looking Forward Solaris has been built with stub objects since February. The fact that developers no longer specify the order in which libraries are built has been a big success, and we've eliminated an entire class of build error. That's not to say that there are no build races left in the ON makefiles, but we've taken a substantial bite out of the problem while generally simplifying and improving things. The introduction of a stub proto area has also opened some interesting new possibilities for other build improvements. As this article has become quite long, and as those uses do not involve stub objects, I will defer that discussion to a future article.

    Read the article

  • Nothing seems to be syncing with Ubuntu One

    - by Anthony Papillion
    So earlier tonight I set up Ubuntu One on a fresh install of Ubuntu 10.10. In my "Ubuntu One" directory, I created symbolic links to /Documents /Pictures and /Music. Right now, there is VERY little in those directories but what IS there isn't syncing at all. When I go to the Ubuntu One web interface, it tells me I'm using 0.00% of my storage space. When I try to view the files in the web interface, I am told 'Something has gone wrong' and I don't see anything. Can anyone help? Even my Tomboy notes aren't syncing! And yes, I am connected and the software says 'Synchronisation Complete' Thanks, Anthony

    Read the article

  • Nothing drawing on screen OpenGL with GLSL

    - by codemonkey
    I hate to be asking this kind of question here, but I am at a complete loss as to what is going wrong, so please bear with me. I am trying to render a single cube (voxel) in the center of the screen, through OpenGL with GLSL on Mac I begin by setting up everything using glut glutInit(&argc, argv); glutInitDisplayMode(GLUT_RGBA|GLUT_ALPHA|GLUT_DOUBLE|GLUT_DEPTH); glutInitWindowSize(DEFAULT_WINDOW_WIDTH, DEFAULT_WINDOW_HEIGHT); glutCreateWindow("Cubez-OSX"); glutReshapeFunc(reshape); glutDisplayFunc(render); glutIdleFunc(idle); _electricSheepEngine=new ElectricSheepEngine(DEFAULT_WINDOW_WIDTH, DEFAULT_WINDOW_HEIGHT); _electricSheepEngine->initWorld(); glutMainLoop(); Then inside the engine init camera & projection matrices: cameraPosition=glm::vec3(2,2,2); cameraTarget=glm::vec3(0,0,0); cameraUp=glm::vec3(0,0,1); glm::vec3 cameraDirection=glm::normalize(cameraPosition-cameraTarget); cameraRight=glm::cross(cameraDirection, cameraUp); cameraRight.z=0; view=glm::lookAt(cameraPosition, cameraTarget, cameraUp); lensAngle=45.0f; aspectRatio=1.0*(windowWidth/windowHeight); nearClippingPlane=0.1f; farClippingPlane=100.0f; projection=glm::perspective(lensAngle, aspectRatio, nearClippingPlane, farClippingPlane); then init shaders and check compilation and bound attributes & uniforms to be correctly bound (my previous question) These are my two shaders, vertex: #version 120 attribute vec3 position; attribute vec3 inColor; uniform mat4 mvp; varying vec3 fragColor; void main(void){ fragColor = inColor; gl_Position = mvp * vec4(position, 1.0); } and fragment: #version 120 varying vec3 fragColor; void main(void) { gl_FragColor = vec4(fragColor,1.0); } init the cube: setPosition(glm::vec3(0,0,0)); struct voxelData data[]={ //front face {{-1.0, -1.0, 1.0}, {0.0, 0.0, 1.0}}, {{ 1.0, -1.0, 1.0}, {0.0, 1.0, 1.0}}, {{ 1.0, 1.0, 1.0}, {0.0, 0.0, 1.0}}, {{-1.0, 1.0, 1.0}, {0.0, 1.0, 1.0}}, //back face {{-1.0, -1.0, -1.0}, {0.0, 0.0, 1.0}}, {{ 1.0, -1.0, -1.0}, {0.0, 1.0, 1.0}}, {{ 1.0, 1.0, -1.0}, {0.0, 0.0, 1.0}}, {{-1.0, 1.0, -1.0}, {0.0, 1.0, 1.0}} }; glGenBuffers(1, &modelVerticesBufferObject); glBindBuffer(GL_ARRAY_BUFFER, modelVerticesBufferObject); glBufferData(GL_ARRAY_BUFFER, sizeof(data), data, GL_STATIC_DRAW); glBindBuffer(GL_ARRAY_BUFFER, 0); const GLubyte indices[] = { // Front 0, 1, 2, 2, 3, 0, // Back 4, 6, 5, 4, 7, 6, // Left 2, 7, 3, 7, 6, 2, // Right 0, 4, 1, 4, 1, 5, // Top 6, 2, 1, 1, 6, 5, // Bottom 0, 3, 7, 0, 7, 4 }; glGenBuffers(1, &modelFacesBufferObject); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, modelFacesBufferObject); glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(indices), indices, GL_STATIC_DRAW); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); and then the render call: glClearColor(0.52, 0.8, 0.97, 1.0); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glEnable(GL_DEPTH_TEST); //use the shader glUseProgram(shaderProgram); //enable attributes in program glEnableVertexAttribArray(shaderAttribute_position); glEnableVertexAttribArray(shaderAttribute_color); //model matrix using model position vector glm::mat4 mvp=projection*view*voxel->getModelMatrix(); glUniformMatrix4fv(shaderAttribute_mvp, 1, GL_FALSE, glm::value_ptr(mvp)); glBindBuffer(GL_ARRAY_BUFFER, voxel->modelVerticesBufferObject); glVertexAttribPointer(shaderAttribute_position, // attribute 3, // number of elements per vertex, here (x,y) GL_FLOAT, // the type of each element GL_FALSE, // take our values as-is sizeof(struct voxelData), // coord every (sizeof) elements 0 // offset of first element ); glBindBuffer(GL_ARRAY_BUFFER, voxel->modelVerticesBufferObject); glVertexAttribPointer(shaderAttribute_color, // attribute 3, // number of colour elements per vertex, here (x,y) GL_FLOAT, // the type of each element GL_FALSE, // take our values as-is sizeof(struct voxelData), // coord every (sizeof) elements (GLvoid *)(offsetof(struct voxelData, color3D)) // offset of colour data ); //draw the model by going through its elements array glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, voxel->modelFacesBufferObject); int bufferSize; glGetBufferParameteriv(GL_ELEMENT_ARRAY_BUFFER, GL_BUFFER_SIZE, &bufferSize); glDrawElements(GL_TRIANGLES, bufferSize/sizeof(GLushort), GL_UNSIGNED_SHORT, 0); //close up the attribute in program, no more need glDisableVertexAttribArray(shaderAttribute_position); glDisableVertexAttribArray(shaderAttribute_color); but on screen all I get is the clear color :$ I generate my model matrix using: modelMatrix=glm::translate(glm::mat4(1.0), position); which in debug turns out to be for the position of (0,0,0): |1, 0, 0, 0| |0, 1, 0, 0| |0, 0, 1, 0| |0, 0, 0, 1| Sorry for such a question, I know it is annoying to look at someone's code, but I promise I have tried to debug around and figure it out as much as I can, and can't come to a solution Help a noob please? EDIT: Full source here, if anyone wants

    Read the article

  • Copying and pasting files. Nothing new here

    - by Blake Wood
    I installed XBMC and it's working beautifully. I have my own skin I'd like to use and all I should have to do is copy and past my skin.folder into the addons folder and I'm down. However, this isn't so easy with Ubuntu. I have the latest version, installed today 11-14-2012 Could someone please spell out the command process to make this happen? I've read through so many forums, tried ssh, I know now I'm getting into things that could be dangerous so any help would be much appreciated. Structure. /home/cantrellsmedia/Downloads/skin.cantrell <----- Need copied /usr/share/xbmc/addons/ <-------- Paste Some of what I have tried cp skin.cantrell mv skin.cantrell~/usr/share/xbmc/addons/

    Read the article

1 2 3 4 5 6 7 8 9 10 11 12  | Next Page >